Integrating Hypermedia Functionality Into Database Applications
Total Page:16
File Type:pdf, Size:1020Kb
Integrating Hypermedia Functionality into Database Applications Anirban Bhaumik*+ Deepti Dixit* Roberto Galnares* Aparna Krishna* Manolis Tzagarakis** [email protected] [email protected] [email protected] [email protected] [email protected] Michalis Vaitis** Michael Bieber* Vincent Oria* Qiang Lu*/*** Firas Alljalad* [email protected] [email protected] [email protected] [email protected] [email protected] Li Zhang* * Collaborative Hypermedia Laboratory, CIS Department, New Jersey Institute of Technology, USA [email protected] ** Computer Technology Institute, University of Patras, Greece *** Suzhou University, Peoples Republic of China +Primary Author Abstract The general goal of our research is to automatically generate links and other hypermedia related services to analytical applications, such as geographic information systems and decision support systems. Using a dynamic hypermedia engine (DHE), we propose to automate the following features for database systems, both on and off the Web. First, we automatically generate links based on the database's relational (conceptual) schema and its original (non-normalized) entity-relationship specification. Second, the application developer can specify which kinds of database elements are related to diverse elements in the same or different database application, or even another software system. Our current DHE prototype illustrates these for a relational database management system. We propose integrating data warehousing applications into the DHE. We also propose incorporating data mining as a new kind of automated link generation. Passing the application element selected by a user, a data mining system would discover interesting relationships for that element. DHE would then map each relationship to a link. DHE’s linking is based on the structure of the application, not keyword search or lexical analysis based on the display values within its screens and documents. DHE aims to provide hypermedia functionality without altering applications by building "application wrappers" as an intermediary between the applications and the engine. Keywords Hypertext, hypermedia, database, automated linking, metadata, Dynamic Hypermedia Engine, data mining, data warehousing, E-R Diagram, database schema, wrapper 1. Introduction and Motivation Database queries typically return results in a plain text format. Some applications on the World Wide Web generate link anchors for database elements, but these anchors normally hold a single link to the most obvious destination for the dominant type of user. We could consider each element within a database application as a potential starting point for information exploration. Each element could have multiple links, each representing a different relationship (schema-based or otherwise). The ability to explore a piece of information in more detail could help users resolve doubts about or simply better understand that item, as well as the analysis or display of which it is a part. Users may wish to dig deeper around data values and symbols they see, labels on graphs or user input forms, options in pop-up lists, or even on the menu commands they can invoke. To complicate the developer's job, users often have different mental models of an application and its underlying domain than the developer. Even when developers work closely with users, the end result might not be intuitive for all users or serve each user's individual tasks equally well. Many people visit a given application’s screen aside from the most dominant type of user(s) for which it was developed. These include other users of the application, customer service representatives, company analysts, managers, trainees, people inside the company designing new databases or applications based on the current one, external analysts, and stockholders, among others. Each may be interested in different aspects of application elements, according to their current task-at-hand. Customization is one solution, but even so users often might wish to explore several different relationships from a given anchor, and therefore should have several links available. The purpose of this chapter is to explore all aspects of hypermedia support for database applications. We base much of our discussion on our experience designing the Dynamic Hypermedia Engine (DHE). DHE automatically generates anchors, sets of links and metadata within database applications, as well as supporting users with other types of hypermedia structuring, navigation and annotation functionality, including guided tours and annotation. As we explain later, the links provide direct access to a broad range of relationships among application elements, including those outside a database schema. Metadata, defined as data about data, shows users parameters and other characteristics about any given element. This work makes many contributions to both the database and hypermedia fields. Many database applications do not take as much advantage of hypermedia as they could. This chapter puts forth a series of opportunities for integrating hypermedia and database systems. As we shall describe in the next section, DHE is the only tool that provides automated linking and hypermedia services based on the application structure (as opposed to search or lexical analysis), without altering applications. Thus it is uniquely suited to support databases and other analytical applications on the Web that generate the contents of their displays dynamically in response to user queries. This chapter proceeds as follows. After introducing the Dynamic Hypermedia Engine, we describe hypermedia support for databases. First, we show how DHE can support existing relational database management systems. Then we describe how DHE uses databases internally to support hypermedia. Next we look at integrating data warehousing and applications that use database support. Then we consider generating links through data mining. After this we present a literature review of hypermedia and database integration, followed by a short conclusion. Table 1 gives the set of acronyms we use in this chapter. Acronym Full Name First Discussed DHE Dynamic Hypermedia Engine §2 DSM Database Schema Mapper §3.3 JDBC Java Database Connectivity §3.1 OLAP On-line Analytical Processing §5 RDBMS Relational Database Management System §3.1 RDF Resource Description Framework §3.2 RDWM Relational Database Wrapper Module §3.1 RMI Remote Method Invocation §2 SQL Structured Query Language §1 UI User Interface §2 URI Uniform Resource Identifier §3.1 XML Extended Markup Language §2 T able 1: Acronym s in this C hapter 2. The Dynamic Hypermedia Engine We have just developed the very first cut of a Web-based prototype of the Dynamic Hypermedia Engine (DHE), which redesigns an older PC-based prototype (Bieber 1999). Figure 1 shows a screenshot of a database query result in the top frame. DHE has added anchors to all parts of the query result, including the field names at the column heads. The user has clicked on “Counseling Center - department,” resulting in metadata for the element in the bottom center frame and a list of links in the bottom right-hand frame. Selecting any link will generate a standard Structured Query Language statement (“SQL query”) to create the appropriate result. Currently the list of links includes only database structural links, such as finding the primary keys for this element. As we later describe, however, we are developing a module to add links automatically based on a database’s original (non- normalized) Entity-Relationship schema. The bottom left-hand frame contains menus for any integrated application or DHE internal module. Links represent relationships and relationships have “meta- information” as well. Selecting an asterisk next to any link will provide metadata and a list of links for it. DHE’s next release will provide these for menu items as well. The metadata frame currently displays the full Resource Description Framework record—see §3.2. DHE’s next release will format the metadata nicely. Future versions will filter and rank order the links and metadata based on the user task and preferences. < Place Figur e 1 about here> As this demonstrates, DHE link generation does not result from any type of lexical analysis. Our focus is not on the display content of the link anchor, but rather on the application elements underlying each anchor. A "mapping rule" encodes each relationship found between two elements of interest at the "class level". For example, suppose an application display shows the name of a university department. Departments generally have professors and courses taught (based on the standard entity-relationship diagram within a database system), as well as a Web page, an annual budget (within the accounting system), hires-in-progress (within the personnel system), a location on a map (within a geographic information system), etc. Individual mapping rules contain an algorithm or computation (set of commands) leading to the appropriate component in these respective systems. When the user selects a particular department, DHE constructs these commands with the actual department instance selected and sends them to the appropriate destination system, which then retrieves—or more often generates—the resulting page. For example, one mapping rule could state that an element of type “department” would be related to an element of type “annual budget” through a relationship with the semantic type “annual budget for” and with a parameterized command to retrieve annual budgets from