Understanding User Operations on Web Page in WISE 1

Similar documents
CHALLENGES IN ADAPTIVE WEB INFORMATION SYSTEMS: DO NOT FORGET THE LINK!

Methodologies for Web Information System Design

A REASONING COMPONENT S CONSTRUCTION FOR PLANNING REGIONAL AGRICULTURAL ADVANTAGEOUS INDUSTRY DEVELOPMENT

Considering Additional Adaptation Concerns in the Design of Web Applications

Improving Adaptive Hypermedia by Adding Semantics

A Fast and High Throughput SQL Query System for Big Data

On Reduct Construction Algorithms

Assisting Trustworthiness Based Web Services Selection Using the Fidelity of Websites *

Design Considerations on Implementing an Indoor Moving Objects Management System

Adaptive Hypermedia Systems Analysis Approach by Means of the GAF Framework

Annotation for the Semantic Web During Website Development

A Generic Transcoding Tool for Making Web Applications Adaptive

Design concepts for data-intensive applications

Introduction to Information Systems

FSRM Feedback Algorithm based on Learning Theory

Test Cases Generation from UML Activity Diagrams

User Interaction in Modern Web Information Systems

Relational Model, Relational Algebra, and SQL

RELATIONAL STORAGE FOR XML RULES

2.3 Algorithms Using Map-Reduce

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

Simulating a Finite State Mobile Agent System

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION

HERA: Automatically Generating Hypermedia Front- Ends for Ad Hoc Data from Heterogeneous and Legacy Information Systems

CHAPTER 3 Implementation of Data warehouse in Data Mining

Semantic Web Search Model for Information Retrieval of the Semantic Data *

A Tool for Storing OWL Using Database Technology

Rule Enforcement with Third Parties in Secure Cooperative Data Access

DOPA: A Data-Driven and Ontology-Based Method for Ad Hoc Process Awareness in Web Information Systems

Resource Load Balancing Based on Multi-agent in ServiceBSP Model*

A Notation and Framework for Dialog Flow Control in Web Applications

Modeling Systems Using Design Patterns

Methods for Complex Web Hypermedia Application: The Design Processes

High Capacity Reversible Watermarking Scheme for 2D Vector Maps

What is database? Types and Examples

Let s briefly review important EER inheritance concepts

Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).

Data Manipulation (DML) and Data Definition (DDL)

Hypermedia Presentation Adaptation on the Semantic Web

A UML-based Methodology for Hypermedia Design

Intro to Transaction Management

Introduction to Transaction Management

Modelling of Adaptive Hypermedia Systems

The Application Research of Semantic Web Technology and Clickstream Data Mart in Tourism Electronic Commerce Website Bo Liu

Towards a High Integrity XML Link Update in Object-Relational Database

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Implementation Issues on OHS-based Workflow Services

Microsoft Office Access 2007: Intermediate Course 01 Relational Databases

Design and Implementation of an Anycast Efficient QoS Routing on OSPFv3

Relational Data Model

An Approach for Extracting UML Diagram from Object-Oriented Program Based on J2X Haoqing Zhang1,a

The Research on the Method of Process-Based Knowledge Catalog and Storage and Its Application in Steel Product R&D

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM

Ontology Transformation in Multiple Domains

Querying Data with Transact SQL

Towards a Global Component Architecture for Learning Objects: An Ontology Based Approach

Resource and Service Trading in a Heterogeneous Large Distributed

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Transforming UML State Machines into Stochastic Petri Nets for Energy Consumption Estimation of Embedded Systems

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

A Finite State Mobile Agent Computation Model

Enterprise Planning Model Using REA Ontology

A Data warehouse within a Federated database architecture

CS 2451 Database Systems: Relational Data Model

Learning the Three Factors of a Non-overlapping Multi-camera Network Topology

Unifying Adaptive Learning Environments: authoring styles in the GRAPPLE project

Personal Grid. 1 Introduction. Zhiwei Xu, Lijuan Xiao, and Xingwu Liu

Payola: Collaborative Linked Data Analysis and Visualization Framework

SQL Interview Questions

Fast and Effective Interpolation Using Median Filter

Clean Living: Eliminating Near-Duplicates in Lifetime Personal Storage

Analysing the navigational aspect

A REUSE METHOD OF MECHANICAL PRODUCT DEVELOPMENT KNOWLEDGE BASED ON CAD MODEL SEMANTIC MARKUP AND RETRIEVAL

Generic and Domain Specific Ontology Collaboration Analysis

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

I will not use a source other than my brain on this exam: (please sign)

ASGRT Automated Report Generation System

An Annotation Tool for Semantic Documents

Making Semantic Web based-hypermedia Applications

Minimal Test Cost Feature Selection with Positive Region Constraint

Behaviour Recovery and Complicated Pattern Definition in Web Usage Mining

Programming the Semantic Web

Lab IV. Transaction Management. Database Laboratory

Query Rewriting Using Views in the Presence of Inclusion Dependencies

XML Systems & Benchmarks

Auto-Generating Test Sequences for Web Applications *

Study on XML-based Heterogeneous Agriculture Database Sharing Platform

On the Maximum Throughput of A Single Chain Wireless Multi-Hop Path

An Extensible Use Case Modeling Approach for Cyber- Physical Systems (CPSs)

Authoring Multi-device Web Applications with Database Access

DATA AND SCHEMA MODIFICATIONS CHAPTERS 4,5 (6/E) CHAPTER 8 (5/E)

Review -Chapter 4. Review -Chapter 5

Specification of web applications design in CASE using UML and its mapping to an implementation environment

The Submission Data File System Automating the Creation of CDISC SDTM and ADaM Datasets

An RDF NetAPI. Andy Seaborne. Hewlett-Packard Laboratories, Bristol

A Framework for Enforcing Constrained RBAC Policies

THE RELATIONAL DATABASE MODEL

A ROUTING MECHANISM BASED ON SOCIAL NETWORKS AND BETWEENNESS CENTRALITY IN DELAY-TOLERANT NETWORKS

An Intelligent Retrieval Platform for Distributional Agriculture Science and Technology Data

Transcription:

Understanding User Operations on Web Page in WISE 1 Hongyan Li, Ming Xue, Jianjun Wang, Shiwei Tang, and Dongqing Yang National Laboratory on Machine Perception, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, P. R. China {lihy, xueming, wangjj}@cis.pku.edu.cn, {tsw, ydq}@pku.edu.cn Abstract. Unlike Internet portals, a typical Web Information System contains lots of user operations. However, existing Web design frameworks focus exclusively on data presentation: the process of user operations is still achieved through low-level programming. That makes WIS hard to be constructed or maintained. In a Web Information System auto-construction Environment (WISE), the translation of user operations to concrete data processing code in persistent data sources is explored. This paper discusses the semantics of typical operations. The implementation code of those operations can be auto-generated with the aid of the mapping from template attributes to persistent objects. 1 Introduction Web Information System [1] (WIS) often contains hundreds or thousands of linked Web pages with structured data and operations defined on them. WIS fetches resources by Web technologies, manipulates information to accomplish business process, and provide more openness and flexibility to various end users. Let s take a Web-based hospital information system used by Shanghai Renji Hospital in China for example. It contains 335 pages in its inpatient management subsystem. Each contains one to over ten operations. It s easy to see that data operation similarity as well as structure similarity or presentation similarity exist among pages. Constructing Web pages manually is a repeatable work, and the maintenance is ever more troublesome. WIS requires an auto-generating of those data-driven pages. But the gap between information processing on pages and underlying data sources made that a difficult job. 2 Related Work How to construct WIS automatically becomes a challenging research field. Many methodologies contribute to that work [2]. For instance, Relationship Management Methodology [3], Object Oriented Hypermedia Design Methodology [4] and UML based Web Engineering have been developed to support a hypermedia design process. They 1 This work was supported by Natural Science Foundation of China(NSFC) under grant number 60473072. W. Fan, Z. Wu, and J. Yang (Eds.): WAIM 2005, LNCS 3739, pp. 846 851, 2005. Springer-Verlag Berlin Heidelberg 2005

Understanding User Operations on Web Page in WISE 847 succeed in identifying different steps to be taken in development of Web applications, but still need users to write code for data operation processing on Web pages. Most of other methodologies like UIDE [5], Mecano [6], Hera [7] and template methods [9] only concentrate on data structure or presentation similarity. None of them devote in the process and semantics of user operations even a few did process Search implicatedly. There are two ways for auto-building of WIS: a top-down approach and a bottomup one. The former generates Web pages according to user requirements and organizes persistent data according to page structures. [8] gives such an example. This method is easy to satisfy users, but cannot be applied in complex systems due to hard maintenance of persistent data caused by inevitable redundancy. It also fails to meet the situation when WIS must be built on a legacy source. The latter, mostly those hypermedia presentation methods, starts from persistent data design usually with the help of a DBMS, and then generates Web presentation of data. But it can hardly support auto-process of arbitrary user operations on Web pages since business data is organized by a database designer and often not for the convenient use of end users. WISE tries a trade-off method: Web pages are generated by template model which includes definitions of structured data and operations. If a data source is present, no matter it is a legacy system or not, a mapping strategy is adopted to bridge the gap between Web applications and persistent data. After all template items map to a data source, the general user operations can map to concrete operations on that data source. The operation mapping method forms a part of our WIS auto-construction framework and is used to generate operation processing code. 3 Template Operations This paper will discuss the built-in operations in WISE: Link, Search, Clear, Modify and Add. Link is defined on a sub template attribute or a component of a template instance. It s used for navigation among templates. Let T be a template and Attrs(T) be the set of attributes of T, Search, Clear and Modify could be defined on two disjoint subsets of Attrs(T). One is used for receive user input and generates operation constraints and denoted by CA S/C/M. The other is used for receive output from underlying persistent data source and denoted by TA S/C/M. TA C also generates Clear candidates and TA M receives new value input by users. Add could be defined on only one subsets of Attrs(T), which is used for receive input from users and generates new instances and denoted by TA A. 4 Mapping Template Attributes to DBMS Because of the structure similarity between template and nested table, one could regard template as a logic view. That viewpoint makes mapping template attributes and operations to data source possible. On the other hand, data source often use DBMS to manage business data. Those data is organized according to database storage strategy, not to template scheme. So mapping template attributes and operations to data source is necessary.

848 H. Li et al. Given a template T and an attributes A of T, if A has a source D in data source M, we say D is the origin of A in M. Otherwise, A has no origin in M. If A has an origin D in M, and D can be presented as such a SQL statement: SELECT S FROM T 1,,T n (n 1)[WHERE W], we say A has a basic origin in M. Let OS M (A) be the target expression in Select clause, OF M (A) be the set of tables(or views) in From clause, and OW M (A) be possible conditions in Where clause. OS M (A), OF M (A) and OW M (A) is called the original target, original range and original condition of A in M respectively. An attribute may have an origin but not a basic one in a data source. To find basic origins of all template attributes is a preliminary work for the operation process. Constraint 1. Given a template T, o {Search,Add,Modify,Clear} and A CA o TA o, if o could be converted to an operation on data source M, A has a basic origin in M. The process of Link is much simpler than the rest four built-in operations. The process of Search is similar to the query conversion method describe in [11]. So the rest of this paper only presents the disposal of Add, Clear, and Modify. 5 Add Let TA A ={A 1,,A n }(n 1), for A i (1 i n), the value of A i would be inserted into one table in a data source. So OF M (A i ) =1 is met. Since not all data manipulations defined on views could be executed successfully in DBMS, the following constraint is made. Constraint 2. Given a template T, o {Add,Modify,Clear}, and A CA o TA o, if o could be converted to an operation on data source M, OF M (A) is a certain table. In traditional DBMS, Insert, Update and Delete could process only a single table each time. But in WIS, users need to define operations mapping to a process on multiple tables at a same time. So the original ranges of different Add target may be different. The following steps explain in detail how to process Add operation. Step1. Arrange all attributes in TA A into m groups: the original range of each group is the same, while the original ranges of different groups are different. Step2. Let T i (1 i m) be the original range of i-th group. Collect all Key-Foreign Key Constraints(K-FKC) among tables T 1,,T m from data source M. Generate the constraint dependency graph G M (Add): (1) For T i (1 i m), there s a certain vertex V Ti in G M (Add) mapping to it. (2) If T j s foreign key references T i s key, add directed edge from T i to T j. (3) If T 1,, T k (k 1) and T i T 1 T k T j T i T 1 T k T j, from p=1 to k, add vertex V Tp into G M (Add) if V Tp is not in G M (Add). Add directed edge from V Ti to V T1,, and from V Tk to V Tj if that edge is not in G M (Add). Step3. If there s no loop in G M (Add), insert into those tables mapping to zero indegree vertexes firstly. Suppose T i is such a table. It s also the original range of i-th group {A i1,,a ik }. Those attributes form the scheme of Add instance [A i1,,a ik ] which could be converted to T i s insert scheme [OS M (A i1 ),,OS M (A ik )]. User input values of A i1,, and A ik form T i s insert instance (V Ai1,,V Aik ). Now we get the SQL statement: INSERT INTO T i (OS M (A i1 ),,OS M (A ik )) VALUES (V Ai1,,V Aik ).

Understanding User Operations on Web Page in WISE 849 Repeat this step till all tables mapping to zero in-degree vertexes could be inserted. Step4. Check a p(p 1) in-degree vertex V T in G M (Add). T could be inserted if all tables mapping to V T s preceding vertexes have be inserted correctly. Let V Ti (1 i<p) be such a preceding vertex. According to Step2, we know T has a foreign key FK i referencing T i s key K i. If T is the original range of j-th group {A j1,,a jk }(k n), T s insert scheme is [OS M (A j1 ),,OS M (A jk ),FK 1,,FK p ] and insert instance is (V Aj1,, V Ajk,V FK1,,V FKp ). Here V FKi is the component value agrees in K i for T i s insert instance. If T s not a original range of any group, V T must be a vertex added in Step2 (3). T s insert scheme is [FK 1,,FK p ] and insert instance is (V FK1,,V FKp ). Repeat this step till all tables mapping to all vertexes in G M (Add) could be inserted. If there s a loop in G M (Add), all tables mapping to vertexes in that loop couldn t be inserted until at least one K-FKC on those tables is disabled. Then one could follow Step3 and Step4 to fulfill Add operation. 6 Clear Step1. Clear condition is generated according to input value received by CA C, while TA C will be used for receive outputs from data source. This sub process is similar to Search process except that Constraint2 should be abided. We call it the preceding search of Clear operation and produce a select statement S for it. When a Clear map to a table s deleting, the process is very simple. Is it possible to define Clear involves multiple tables? Let s take Fig.1 for example. Suppose the origins of t 1 and t 2 of template T in data source M are: OS M (t 1 )=A.a 1, OF M (t 1 )=A, OS M (t 2 )=B.b 2, and OF M (t 2 )=B. The tuples of table A and B are shown in Fig.1(a) and (b). If there s a join path A B and the corresponding join condition is A.a 2 =B.b 1, executing the preceding search, we ll get Clear candidates as shown in (c). It s easy to see that not every candidate could map to a unique tuple of A or B, and vice versa. (a) Table A (b) Table B (C) Template T (d) Template T a 1 a 2 b 1 b 2 b 3 t 1 (A.a 1 ) t 2 (B.b 2 ) t 1 (A.a 1 ) t 2 (B.b 2 ) 1 2 2 6 1 1 6 1 6 3 4 2 5 2 1 5 1 5 4 8 1 3 8 3 8 4 8 2 3 8 Fig. 1. An example for Clear processing When one candidate is mapping to multiple tuples of a single table, template instance clear brings on the uncertainty in tuple delete. For example, (3,8) of T shown in (c) may be generated from the join of (3,4) in A and (4,8,1) in B or (4,8,2) in B. If (3,8) is cleared, shall we delete only (4,8,1) or (4,8,2), or delete them both? That problem is caused by the filtering of duplicate tuples in query result in DBMS. The next Step will make some addition into the process of preceding search to avoid it. Step2. If there s only one table in the range of S, jump to Step3. Otherwise, let the range be {T 1,,T k }(k 2), and the set of targets be TS. For T i (1 i k), check if TS

850 H. Li et al. contains T i s key. If not, add one key into TS compulsively. Or add the rest attributes of T i which haven t belonged to TS in case there s no key defined on T i. Step3. Execute statement S or the evolved statement generated by Step2. Project query result on all attributes in TA C without filtering of duplicate tuples. Now we get clear candidates on T. As shown in Fig.5(d), one could regard a (3,8) is generated from the join of (3,4) in A and (4,8,1) in B, another from the join of (3,4) and (4,8,2). Let the set of Clear instances be V C ={v 1,,v n }(n 1). For v j (1 j n) and T i (1 i k), v j could map to a unique tuple of T i (denoted by v ji ) with the help of T i s key. But when multiple candidates map to a single tuple, instance clear also brings uncertainty on tuple delete. Consider (1,6) and (1,5) of T, they all map to (1,2) in A. If users only clear (1,6) or (1,5), shall we delete (1,2) from A? If we do so, another instance will never be seen in T. If we don t, the clear instance exists still. Constraint 3. Given a template T, its Clear operation could be converted to delete operation on data source M if there s only one table in original range of its preceding query, or, let the set of clear instances be V C and the set of clear candidates be VC C, for v 1 V C and v 2 (VC C -V C ), v 1 and v 2 are generated from different tuples. Step4. Check if Constraint3 is met. If so, the clear instances in V C could be converted to tuple deletes from tables in {T 1,,T k }. As for T i (1 i k), the SQL statement is DELETE FROM T i WHERE K i IN= {v 1i (K i ),,v ni (K i )}. Some tables may be added into original range because of the involvement in certain join paths. For example, the join path between table A and B in Fig.1 would be A C B instead of A B and the corresponding join condition be A.a 2 = C.c 1 and C.c 2 =B.b 1. Therefore, C is added into the original range of preceding query. But no attribute of C is in TA C. Following above steps, on delete on C is generated. But if there s K-FKC between A and C and ON DELETE CASCADE option is used in the constraint definition, referenced tuple delete from A would trigger referencing tuple delete from B. That process will be auto-executed by DBMS. 7 Modify Modify is also taken on the result of a preceding search. In order to support Modify mapping to updates on multiple tables, tuple update uncertainty is eliminated by the same method described in Clear when one candidate mapping to multiple tuples. But when multiple candidates map to a single tuple, Constraint3 is inadequate to eliminate the uncertainty. Let s consider (1,6) and (1,5) in Fig.1(d). They all map to (1,2) in A. Constraint3 ensures (1,6) and (1,5) will either be updated simultaneously or not be updated at all. But even if they are updated simultaneously, one may change (1,6) to (3,6) and (1,5) to (5,5). The update semantics on (1,2) wouldn t be consistent. Constraint 4. Given a template T, Modify could be converted to update operation on data source M if there s only one table in original range of its preceding query, or, let the set of Modify instances and candidates be V M and VC M, for v 1 V M and v 2 VC M, v 1 and v 2 are generated from different tuples. In the conversion of Modify to update on data source M, the first three steps are similar to that of Clear. The last step is presented as the following:

Understanding User Operations on Web Page in WISE 851 Step4. Let the set of Modify instances be V M ={v 1,,v n }(n 1). Let all attributes for v j in T consist subset {A j1,,a jm }(m 1), and the original range of {A j1,,a jm } be T i (1 i k). v j could map to a unique tuple of T i (denoted by v ji ) with the help of T i s key. Let user input value on A jo (1 o m) in v j be New(v j (A jo )). Now check if Constraint4 is met. If so, the instance Modify in V M could be converted to tuple updates on all tables in {T 1,,T k }. As for T i (1 i k), the SQL statement is: UPDATE T i SET OS M (A 11 )=New(v 1 (A 11 )),,OS M (A 1m )=New(v 1 (A 1m )),, OS M (A n1 )=New(v n (A n1 )),,OS M (A nm )=New(v n (A nm )) WHERE K i IN={v 1i (K i ),,v ni (K i )}; 8 Conclusions and Future Work In WISE, those built-in operations are converted successfully to data source managed by DBMS. WISE also provides a set of visual tools [10] to define data structure, mapping, user operation, etc. WISE can transform those definitions to executable code under the restriction of operation semantics and fulfill database access. There are many works to be done in the future, such as the expression of complex conditions for operations on Web pages, the support of user defined operations, dynamic operation modification, etc. References 1. T. Isakowitz, M. Bieber, F. Vitali. Web Information Systems. Communications of ACM, ACM Press, Vol 41(7) (1998), 78-80 2. Peter Barna, et al. Methodologies for Web Information System Design. International Conference on Information Technology: Computers and Communications, (2003) 420-425 3. T. Isakowitz, et al. RMM: A methodology for the design of structured hypermedia applications. Communications of ACM, ACM Press, Vol.38(8) (1995) 34-44 4. Daniel Schewabe, et al. OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW. ACM SIGWEB Newsletter, Vol.8, Issue2, (1999) 18-34 5. J. Foley, et al. UIDE: An Intelligent User Interface Design Environment. In J. Sullivan and S. Tyler (eds), Intelligent User Interfaces, (1991) 339-384 6. A. Puerta. The Mecano Project: Comprehensive and Integrated Support for Model-Based Interface Development. Computer-Aided Design of User Interfaces, (1996) 19-36 7. Geert-Jan Houben. HERA: Automatically Generating Hypermedia Front-Ends for Ad Hoc Data from Heterogeneous and Legacy Information Systems. In Third International Workshop on Engineering Federated Information Systems, Aka and IOS Press (2000) 8. Ming Xue, Hongyan Li. Managing User Interaction Forms on Web Pages: A Template- Based Approach. Journal(Naturals Science) of Peking University, Vol.40(3) (2004) 473-479 9. Jim Challenger, et al. A Publishing System for Efficiently Creating Dynamic Web Data. Proceedings of IEEE INFOCOM 2000 10. Lv-an Tang, Hongyan Li, et al. PODWIS: A Personalized Tool for Ontology Development in Domain Specific Web Information System. APWEB2005, 680-694 11. Hongyan Li, et al. An XML Based Electronic Medical Record Integration System. In X. Sean Wang, et al. (eds): WAIM 2001, 160-167