July 06, 2006DB&IS Building Web Information Systems using Web Services Flavius Frasincar Erasmus University Rotterdam Eindhoven University of Technology
July 06, 2006DB&IS Contents Motivation Solution I Hera Methodology –Conceptual Model –Application Model –Presentation Model –Adaptation Model II Hera Web Service-Oriented Architecture –Data Service –Presentation Service –Profile Service –Adaptation Service Conclusions
July 06, 2006DB&IS Motivation There is a large amount of data that needs to be presented by Web Information Systems (WIS) The user wants to access a WIS using different devices There is an increasing need to personalize WIS based on the user preferences There is a need to make WIS interoperable: –Information available outside the organization –Computational power outside the organization
July 06, 2006DB&IS Solution Model-driven methodology for designing WIS: –Better understanding of the system by stakeholder –Reuse of previously defined models –Checking the validity/consistency of/between models –Automatic presentation generation –System’s maintainability Distributed architecture based on Web Services (WS): –Cross-platform applications –Cross-language applications –Loosely coupled components: robust applications –Reuse of existing WS
July 06, 2006DB&IS I Hera Methodology Conceptual Model: –Specifies the input data Application Model: –Defines the navigational aspects of the presentation of the input data Presentation Model: –Describes the layout and style information of the presentation Adaptation Model: –Gives the presentation customization based on user/platform features All models are represented in RDF(S)
July 06, 2006DB&IS RDF(S) The foundation language of the Semantic Web Flexible (schema refinement and descriptions enrichment) Extensible (allows the definition of new resources/properties) Fosters interoperability (makes model semantics explicit) Compact representations (intensional information) Reuse of existing vocabularies: –Domain models (museum descriptions from TOPIA project) –User profiles (User Agent Profile from mobile phone industry)
July 06, 2006DB&IS Adaptation Model User/Platform Profile: stores device capabilities and user preferences User/Platform Profile is an extended version of the User Agent Profile (UAProf), a Composite Capability/Preference Profile (CC/PP) vocabulary Appearance conditions: presence/absence of an element in a model Hera models are overlay models: presence/absence of an element in a model implies its presence/absence in all subsequent models
July 06, 2006DB&IS User/Platform Model
July 06, 2006DB&IS Conceptual Model (CM) Describes the data’s schema Based on the notion of a concept, an entity specific to a particular domain CM is a hierarchy of concepts relevant within the given domain Concept properties are: –Attributes: refer to media items that characterize a concept (media types are based on MPEG-7) –Relationships: refer to other concepts
July 06, 2006DB&IS Conceptual Model (CM)
July 06, 2006DB&IS Adaptation in CM
July 06, 2006DB&IS Application Model (AM) Captures the logical (navigational) aspects of the presentation Based on the concept of a slice, a meaningful presentation unit which contains attributes and possibly other slices AM is a hierarchy of slices A slice is associated to a concept from CM Slice properties are: –Aggregations: a slice embeds another slice or a set of slices –References: link abstraction
July 06, 2006DB&IS Application Model (AM)
July 06, 2006DB&IS Adaptation in AM
July 06, 2006DB&IS Presentation Model (PM) Defines the look-and-feel aspects of the presentation Based on the concept of a region, an abstraction for a rectangular part of a display area PM is a hierarchy of regions A region is associated to a slice from AM, and has a layout and a style: –A layout defines the positioning of regions in another region –A style defines the font characteristics (size, color, etc.) Region relationships are: –Aggregations: a region embeds another region or a set of regions –References: link abstraction
July 06, 2006DB&IS Presentation Model (PM)
July 06, 2006DB&IS Layout and Layout-related Region Attributes
July 06, 2006DB&IS Adaptation in PM
July 06, 2006DB&IS Presentation in Browsers (1/2) HTML for PCSMIL
July 06, 2006DB&IS Presentation in Browsers (2/2) HTML for PDAWML
July 06, 2006DB&IS II Web Services Shape: interface Color: data types Web Service
July 06, 2006DB&IS Hera Web Service-Oriented Architecture
July 06, 2006DB&IS Data Service - WSDL
July 06, 2006DB&IS Presentation Service
July 06, 2006DB&IS SOAP Messages
July 06, 2006DB&IS Implementation Data transformations: –Model adaptation (CM, AM, PM) –Convert one model instance into another model instance (CMI->AMI->PMI) –Presentation generation (PMI to HTML/SMIL/cHTML/WML) XSLT stylesheets specify the transformations between the RDF/XML serialization of RDF(S) models Java code operating on RDF models instead of their RDF/XML serialization
July 06, 2006DB&IS XSLT vs. Java XSLT stylesheetsJava code declarative imperative + loosely-coupled, changing the system can be done by changing one stylesheet –strongly-coupled, internal dependencies make the system harder to change + easy to understand–more difficult to understand – no IDE+many IDEs – limited exploitation of RDFS semantics +full exploitation of RDFS semantics – XSLT processor offers little support for optimization +custom software which can be optimized better
July 06, 2006DB&IS Tools Data transformations: –Saxon (XSLT processor) –Jena (for RDF processing) Java Web Services: Axis –SOAP monitor –Java2WSDL Servlets support: Tomcat Browsers: –Internet Explorer –Real Player –Microsoft Pocket PC –Deck-it
July 06, 2006DB&IS Conclusions Hera methodology: –Is a model-driven methodology for designing WIS –Facilitates adaptation at conceptual, navigation, and presentation level –Uses Semantic Web technologies: RDF, RDF(S) –Has an implementation based on Web Services Future work: –Separation of the current Presentation Service in two services: Application Service and Presentation Service –Implementation of conceptual model adaptation –Dynamic construction of a WIS based on existing WS