Conceptual Modeling Issues in Web Applications enhanced with Web services - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Conceptual Modeling Issues in Web Applications enhanced with Web services

Description:

Services can be used to compose integrated workflows, to support business processes ... The data for composing an input message may be spread across different ... – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 26
Provided by: PierFra9
Category:

less

Transcript and Presenter's Notes

Title: Conceptual Modeling Issues in Web Applications enhanced with Web services


1
Conceptual Modeling Issues in Web Applications
enhanced with Web services
  • Sara Comai, Politecnico di Milano
  • sara.comai_at_polimi.it
  • In collaboration with Marco Brambilla, Stefano
    Ceri, Piero Fraternali and Ioana Manolescu
  • WWW Workshop ESSW2003
  • May 20, 2003 - Budapest

2
Introductiontable 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

entities,relationships
data model
7
WebML hypertexts
8
WebML and operations
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
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltrootgt
  • ltentity id"Ent1"gt
  • ltinstancegt
  • ltattribute id"oid"gtitem1lt/attributegt
  • ltattribute id"att1"gt ... lt/attributegt
  • lt/instancegt
  • lt/entitygt
  • ltentity id"Ent2"gt
  • ltinstancegt
  • ltattribute id"oid"gtobject1lt/attributegt
  • ltattribute id"att2"gt ... lt/attributegt
  • lt/instancegt
  • ltinstancegt
  • ltattribute id"oid"gtobject2lt/attributegt
  • ltattribute id"att2"gt ... lt/attributegt
  • lt/instancegt
  • ltrelationship id"rel_Ent1_Ent2"gt
  • ltinstancegt
  • ltsource-oidgtitem1lt/source-oidgt
  • lttarget-oidgtobject2lt/target-oidgt
  • lt/instancegt
  • ltinstancegt
  • ltsource-oidgtitem1lt/source-oidgt
  • lttarget-oidgtobject2lt/target-oidgt
  • lt/instancegt
  • lt/relationshipgt
  • lt/rootgt

19
Example Google search
20
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
  • lt?xml version"1.0"?gt
  • ltxslstylesheet xmlnsxsl"http//www.w3.org/1999/
    XSL/Transform"
  • version"1.0"gt
  •  
  • ltxslparam name"to"/gt
  • ltxslparam name"subject"/gt
  • ltxslparam name"body"/gt
  • ltxsltemplate match"/"gt
  • lt!-- other elements composing the message
    body --gt
  • ltto xsitype"xsdstring"gtltxslvalue-of
    select"to"/gtlt/togt
  • ltsubject xsitype"xsdstring"gtltxslvalue-of

  • select"subject"/gtlt/subjectgt
  • ltbody xsitype"xsdstring"gtltxslvalue-of
    select"body"/gtlt/bodygt
  • lt!-- other elements composing the message
    body--gt
  • lt/xsltemplategt
  •  
  • lt/xslstylesheetgt
Write a Comment
User Comments (0)
About PowerShow.com