July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar...

29
July 06, 2006 DB&IS 2006 1 Building Web Information Systems using Web Services Flavius Frasincar [email protected] Erasmus University Rotterdam Eindhoven University of Technology
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar...

Page 1: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 1

Building Web Information Systems using Web Services

Flavius [email protected]

Erasmus University RotterdamEindhoven University of Technology

Page 2: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 2

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

Page 3: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 3

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

Page 4: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 4

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

Page 5: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 5

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)

Page 6: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 6

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)

Page 7: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 7

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

Page 8: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 8

User/Platform Model

UserPreferences

Expertise

imageCapable

levelOfExpertise

Profile

HardwarePlatform

SoftwarePlatform

client

levelOfVision

component

property

type

No

PC

PDA

WAP Phone

Poor

Normal

Boolean

Client

Beginner

Normal

Expert

Vision

Yes

Page 9: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 9

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

Page 10: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 10

Conceptual Model (CM)

Technique Artifact Creator

Text

Text

Text

Text

Text

Image

Text

tname

description

exemplifies

created_by

creates

fname year

picture

aname

biography

property

exemplified_by

1 * * 1

Painting

Text

Painter

area

painted_by

paints

subClassOf

subPropertyOf

Page 11: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 11

Adaptation in CM

Image

biography

condition prf:imageCapable=Yes

condition prf:levelOfExpertise=Expert

biography

picture LargeImage

SmallImage

LongText

ShortText

media

media

media

media

condition

prf:client=PC

prf:client=PDA

condition

condition

condition

Image

Text

subClassOf

subClassOf

Page 12: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 12

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

Page 13: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 13

Application Model (AM) Technique

tname

exemplified_by

description

Set

Artifact picture

Artifact

fname

Creator cname

main main

painted_by

year

picture

navigational relationship

compositional relationship

subClassOf

Painting

main

exemplifies

Technique

tname

area

Page 14: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 14

Adaptation in AM

Technique

tname

exemplified_by

description

Set

Artifact picture

main

condition prf:levelOfExpertise=Expert

Page 15: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 15

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

Page 16: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 16

Presentation Model (PM)

Technique

tname

description

Artifact

fname

Ceator

cname

main main

year

picture

navigational relationship

subClassOf

Painting

main Technique tname

area

RegionT (BoxLayout1, DefaultStyle)

Set

Artifact

picture

RegionA (TableLayout1)

RegionA (BoxLayout2, DefaultStyle)

RegionP (BoxLayout3, DefaultStyle)

Page 17: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 17

Layout and Layout-related Region Attributes

axis

width

main

Technique

tname

description

RegionT (BoxLayout1, DefaultStyle)

main

y

100%

center

center

halign

halign

3

100%

center

center

cols

width

halign

halign

Set

Artifact

picture

RegionA (TableLayout1)

1

2

3

order

order

order

Layout attributes

Layout-related region attributes

Page 18: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 18

Adaptation in PM

DefaultStyle

medium

large

prf:levelOfVision=Normal

prf:levelOfVision=Poor

font-weight

font-weight

condition condition

main

Technique

tname

description

RegionT (BoxLayout1, DefaultStyle)

main

Set

Artifact

picture

RegionA (BoxLayout2)

RegionA (TableLayout1)

prf:client=PC prf:client=PDA

Page 19: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 19

Presentation in Browsers (1/2)

HTML for PC SMIL

Page 20: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 20

Presentation in Browsers (2/2)

HTML for PDA WML

Page 21: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 21

II Web Services

Shape: interface

Color: data types

Web Service

Page 22: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 22

Hera Web Service-Oriented Architecture

Web Server

Client

Data Service Presentation Service

Profile Service

Adaptation Service

nUP

UP

oUP

CM AM PM

AM PM

aAM aPM

(1) (2)

(5)

(a)

(b)

(4)

(3)

is used by

data flow

CMI

HTML

CMI

Page 23: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 23

Data Service - WSDL

<wsdl:message name="getDataRequest">

</wsdl:message>

<wsdl:message name="getDataResponse">

<wsdl:part name="getDataReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:portType name="DataService">

<wsdl:operation name="getData">

<wsdl:input message=“im:getDataRequest“ name="getDataRequest"/>

<wsdl:output message=“im:getDataResponse“ name="getDataResponse"/>

</wsdl:operation>

</wsdl:portType>

Page 24: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 24

Presentation Service

<wsdl:message name="getPresentationRequest">

<wsdl:part name="in0“ type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getPresentationResponse">

<wsdl:part name="getPresentationReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:portType name="PresentationService">

<wsdl:operation name="getPresentation" parameterOrder="in0"> <wsdl:input message="im:getPresentationRequest"

name="getPresentationRequest"/>

<wsdl:output message="im:getPresentationResponse" name="getPresentationResponse"/> </wsdl:operation>

</wsdl:portType>

Page 25: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 25

SOAP Messages

Page 26: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 26

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

Page 27: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 27

XSLT vs. Java

XSLT stylesheets Java 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

Page 28: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 28

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

Page 29: July 06, 2006DB&IS 20061 Building Web Information Systems using Web Services Flavius Frasincar frasincar@few.eur.nl Erasmus University Rotterdam Eindhoven.

July 06, 2006

DB&IS 2006 29

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