Download presentation
Presentation is loading. Please wait.
Published bySilvester Morris Modified over 9 years ago
1
Conceptual Modeling Issues in Web Applications enhanced with Web services Sara Comai, Politecnico di Milano sara.comai@polimi.it In collaboration with: Marco Brambilla, Stefano Ceri, Piero Fraternali and Ioana Manolescu WWW Workshop ESSW2003 May 20, 2003 - Budapest
2
Introduction: table of contents The scenario of Web application development Motivations of model-driven Web development extended with Web services The WebML approach and its extension with Web services Conceptual primitives for Web services Some examples Implementation in WebRatio Conclusions and future directions
3
Current Web Applications development The focus of Web applications is shifting from the mere publication of dynamic content to the integrated publication of content and services Services can be used to compose integrated workflows, to support business processes
4
Web services and model- driven approaches Technological background: SOAP, UDDI, WSDL, BPEL4WS, WSCI, and so on Development methodologies: new methods and CASE tools are required Aim of this work: Conceptual modeling and automatic implementation of Web applications interacting with Web services Primitives for a Web modeling language
5
Web Modeling Language (WebML) WebML: a conceptual language for high-level design of data-intensive Web applications Defined in 1998, widely published: Ceri, Fraternali at al. Designing data-intensive Web applications, Morgan Kauffman, Dec. 2002 Adopted in many universities worldwide Commercially implemented (www.webratio.com) Used for developing several applications: www.acer-euro.com, www.aceradvantage.com, www.elet.polimi.it, www.image.co.uk,...
6
WebML basic concepts Web application = Structure + Hypertext + Presentation data model entities, relationships navigation + composition model units, pages, links, site views presentation styles
7
WebML hypertexts All Authors Index of Papers Daml-s and WSDL WebML Web services Selected paper title: Web services abstract: XXX Go to all authors page
8
WebML and operations Insert Your Data Fname Lname submit
9
Web services operations Web service operations corresponding to the WSDL operation types Further building blocks are needed for integrating Web services in Web applications
10
Management of input/output messages Typical use of Web services in Web applications: Perform specific tasks and possibly used the data returned by the invoked Web service to define the content of Web pages No need of implementing them directly or of storing the data required for computing them The integration requires: Managing input/output messages (XML format) Marshalling of the application data into XML and vice versa In our approach: preserve E-R data model and http-like parameter passing
11
Example of Web service invocation
12
Chains of Web services Adapter unit for: Composing the input message of a Web service Decomposing the output message of a Web service Calling multiple Web services in sequence, adapting their input and output
13
Storing the data retrieved from Web services In many applications data retrieved from Web services need also to be stored in local data repository Persistent storage: database updates Temporary storage: e.g., until the user disconnects from the application in main memory
14
Lifetime of main memory entities Lifetime of main memory entities: user session In many cases shorter time is needed, e.g., only between two calls of the same Web service Different policies to fine tune the behavior of update operations on main memory objects: FLUSH: each time an entity is updated the new data replace any pre-existing data PRESERVE: each time an entity is updated the new data is added to any pre-existing data
15
Managing Web services data Web services are not developed by the creator of the Web application, therefore: To build a single entity instance several Web services calls may be needed The data for composing an input message may be spread across different application entities The data obtained from an output message may be stored into application entities with a different structure
16
Creation of new instances Different services may retrieve different pieces of information of the same object or sub-schema The same Web service may be used at different times to retrieve different pieces of information for the same object Policies for managing the cumulative update of data If the instance is “new” insert the new instance If the instance already exists: No action: keep existing instance Overwrite: keep only the new instance data Extend: overwrite with the new instance data
17
Materialization and dematerialization Need of creating instances of complex data sub- schemata, involving several related entities, fro the output of a service call Materialization operation Need of assembling the input message of a service from instances of complex data sub- schemata Dematerialization operation
18
Materialization and dematerialization /2 Intermediate XML format: canonical XML schema item1... … object1... object2... item1 object2 item1 object2
19
Example: Google search
21
Implementation Web Ratio case tool: integrate environment for the visual specification of Web applications and the automatic generation of code for the J2EE and Microsoft.NET platform Real examples using these concepts: http://www.webratio.com/webservicedemo
22
Conclusions and future work Conclusions: Requirements and primitives to model Web applications interacting with Web services with the aim of providing and automatic implementation of such integration Building blocks: Supporting the transformation of application data into Web services data and vice versa Providing different storage alternatives Providing specific operations for representing at the conceptual level common processes deriving from the integration of Web services Future work: Adding semantics to the adapter unit Integrating service-centric applications with workflows
23
Implementation WebRatio case tool
24
Architecture of WebRatio
25
Example of XSL transformation <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:value-of select="$subject"/>
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.