Semantic Web Application Models

Invited Talk at the ER 2003 - 22nd International Conference on Conceptual Modeling, Chicago, Illinois 13-16 October, 2003
Erich Neuhold Claudia Niederée Michael Fuchs Fraunhofer Institute IPSI Darmstadt Germany http://ipsi.fhg.de

© Fraunhofer IPSI

Content Trends for the next generation of the Web • Web Services • The Semantic Web Challenges for Web applications in the Next Generation of the Web Semantic Web Application Models and related Standards Operationalization: A Semantic Web Application Development Framework Open Issues

© Fraunhofer IPSI

2

The Next Generation of the Web Central trends for the next Generation of the World Wide Web  The Web as “Programming Interface”: Web Service Paradigm  Semantic Enrichment for an improved information and service mediation: Semantic Web

© Fraunhofer IPSI

3

Semantic Web - Vision
User Preferences … Calendar Calendar … Request/Task Interpretation Preferences S+ S+

Interpretation Agents Interpretation Communication, Negotiation, Planning, Decisions, Proofs Ratings, Signatures, Certificates Interpretation S+ S+ S+ „Trust“-Services Information and Service Provider 4 S+

S+ Semantically enriched information

© Fraunhofer IPSI

The Web Services Architecture
Servic UDDI e Regist ry
2. locate service in the Web

WSDL descriptio n SOAP wrapping Service component

1. register

3. compose, orchestrate 4. call, exploit

Application Service client

Service provider

Web Services support the flexible and dynamic

configuration of IT and service infrastructures
5

© Fraunhofer IPSI

Challenges for Web Applications
For effective operation in the Semantic Web, Web applications have to move from a purely human user community of Web towards a mixed user community (humans as well as software agents); support information to enable automatic interpretation of delivered Web page content; (interlinking local data and content with globally defined interpretation schemes like vocabularies and ontologies); Exploitation of Web service paradigm for flexible composition of Web Applications; General Challenges Service Discovery Service Composition 6

© Fraunhofer IPSI

Web Client (HTML)

Challenges for Web Applications

What? How?

User Interface Layer

JSP, ASP, …
Application Layer

Software Agent
not nodel-based, semi-structured document (HTML) but without explicit Schemata

ODBC, JDBC, …
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

7

HTML-based UI Dialog Models Shortcomings no (or little) client side validation restricted client side interaction restricted control of submitted data strong bias towards one user interface agent (Web Browser) static form composition Software Agent HTML has not to be "well formed" User Interface Layer (not parseable) Application Layer mixed layout and structure
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

8

<html>

HTML – Properties and Shortcomings

<BODY bgcolor=yellow> <form action=followUpPage.cgi><p> <CENTER><h2><font color=red>Travel Tours</h2></font> <P><img src="palm.gif"></p> <font face=Arial size="2"> Please enter the <br><i><b>start date</i></b> <br>of your Journey in the following field <br>&nbsp;&nbsp;&nbsp; > <input type=text name='start'><br> and the <br><i><b>end date</i></b><BR> here <br>&nbsp;&nbsp;&nbsp; > <input type="input" name='end'> <BR> After filling the form please press <br> <p><input type='submit' value="submit"></P> </FORM> </Body> </Html>
© Fraunhofer IPSI

9

Use of Models for User Interface Creation
Mecano and MOBI-D (Model-based Interface Designer) The Mecano Interface Models [Puerta 1997] User Model User-Task Model Domain Model Presentation Model Dialog Model Design Model Uses object oriented modeling language: MIMIC

© Fraunhofer IPSI

10

Web Client (HTML)

Semantic Web Applications Models (1) Conceptual User Interface Model

What? How? How 

Web User Interface

Agent Interface

Software Agent
Conceptual UI Model

User Interface Layer
Application Layer

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

11

Requirements for Conceptual UI Model
The next generation of form-based user interfaces in the Web requires:  rich set of interaction types  design of forms on a more abstract level  dynamic client side behavior  more powerful client-side interaction model  independence of specific user interface agents
Software Agent

User Interface Layer Application Layer

 processors for different user interface agents  comfortable editors for form authoring

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

12

Conceptual UI Model - XForms
XForms - the next generation of form-based user interfaces:  rich set of interaction types

 design of forms on a more abstract level   dynamic client side behavior (e.g. add new fields or exchange form blocks while using the form)   more powerful client-side interaction model
Software Agent

 

User Interface Layer Application Layer

 independence of specific user interface agents  processors for different user interface agents  comfortable editors for form authoring
13

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

XForms Example – SCHOLNET Project
<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/fieldoperator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

14

XForms Example – SCHOLNET Project

<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/field-operator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

15

XForms Example – SCHOLNET Project
<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/field-operator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

16

XForms Example – SCHOLNET Project

<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/field-operator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

17

XForms Example – SCHOLNET Project

<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/field-operator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

18

XForms Example – SCHOLNET Project
<xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="field-operators/@selected"> <xforms:itemset nodeset="field-operators/field-operator"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:button value="Add" onclick="new:rptName"/> <xforms:button value="Delete" onclick="delete:rptName"/> <xforms:group nodeset="rel-ops"/> <xforms:select1 ref="@selected" appearance="min"> <xforms:itemset nodeset="rel-op"> <xforms:caption ref="@name"/><xforms:value ref="@name"/> </xforms:itemset> </xforms:select1> <xforms:input ref="value"/>[<xforms:output ref="../@type"/>] </xforms:group> </xforms:repeat>

© Fraunhofer IPSI

19

Web Client (HTML)

Semantic Web Application Models (2) Semantic Domain Model

What? What  How 

Web User Interface

Agent Interface

Software Agent
Conceptual UI Model

User Interface Layer
Flight Departure

Semantic Domain Model

Application Layer
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

Flight Departure

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

20 Ontology

Requirements for Semantic Domain Model
    
Software Agent

User Interface Layer Application Layer

Support of modeling primitives Flexible definition of relationships to global conceptual models Representation of concept hierarchies Systematic support of data types Representation of additional domain knowledge and constraints Consistent support of domain/ontology evolution

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

21

Conceptual Modeling in Software Design
Example: Unified Modeling Language (UML)
Travel 1 destination 0..* contains Flight number : String 0..* City name : String start BusTravel TrainTravel PlaneTrav el 0..*

DirectFlight

CompositeFlight

© Fraunhofer IPSI

22

Fulfillment of Requirements - UML
 Support of modeling primitives • Definition of entities (class centric approach) • Definition of relationships (association, aggregation, composition, association classes) • Properties of relationships (multiplicities, association + role names) Flexible definition of relationships to global conceptual models • not supported Representation of concept hierarchies • subclass relationship Systematic support of data types • imported from DB Schema or Programming Language Representation of additional domain knowledge and constraints • in textual form Domain/Ontology evolution • not supported 23


Software Agent

User Interface Layer Application Layer

 

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Conceptual Modeling in the Semantic Web – RDF & Co The Resource Description Framework (RDF + RDF Schema): Defines a framework for structuring and describing resources in the Semantic Web Enables the definition of vocabularies for the description of resources in an application domain;
Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

Goals: Extensibility, interoperability, and reuse of vocabularies; Improved support for interpretation of data by machines
24

© Fraunhofer IPSI

Resource Description Framework
Example: RDF + RDF Schema
Travel
rdfs:subClassOf

City
ng rdf s: r a e

rdf a s: r e ng

start
r dfs

destination
a in

sO

contains
ai n

: rd fs

f

:d om

bC l as

rdf

fs: do m

rd

Bus Travel

Train Travel

PlaneTravel rdf:type

Flight
rdf:type

MyTravel

contains
rt sta

Flight/05
t de s

Frankfurt

Rome

rd

fs: do m

Cl sub

rd

a in e ng ra

: fs

s: su

f a ssO

inat ion

© Fraunhofer IPSI

25

Fulfillment of Requirements - RDF
 Support of modeling primitives • Definition of entities (classes + property centric approach) • Definition of relationships (via properties) • Properties of relationships (properties are also resources) Flexible definition of relationships to global conceptual models • use of URI references, subclasses relationship (see next slide) Representation of concept hierarchies • yes, subclass relationship Systematic support of data types • only on the instance level (typed literal), use of XSD 26 Representation of additional domain knowledge and


Software Agent

User Interface Layer Application Layer

 

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Relationships to global Conceptual Models - RDF
Example “Different types of travel can be defined starting from the concept Travel defined in another global schemes”
Travel

BusTravel

TrainTravel

PlaneTravel

<rdfs:Class rdf:about="#busTravel"> <rdfs:label>Bus Travel</rdfs:label> <rdfs:subClassOf rdf:resource="travel:Travel"/> </rdfs:Class> <rdfs:Class rdf:about="#planeTravel"> Gobally defined <rdfs:label>Plane Travel</rdfs:label> <rdfs:subClassOf rdf:resource="travel:Travel"/> </rdfs:Class> …

© Fraunhofer IPSI

27

What is still missing?  definition of richer types of relationships between conceptual models  representation of domain constraints and further domain knowledge  ontology/domain model evolution support
Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

28

Defining Domain Ontologies -OWL
„An ontology is a specification of a conceptualization.” * OWL (Web Ontology Language) is • is a language for defining ontologies for the Semantic Web • is currently developed by the W3C Web Ontology Group (Status: Working Draft) - successor of DAML + OIL • is building upon RDF and RDF Schema • enables the representation of additional domain knowledge (compared with RDF)
*T. R. Gruber. A translation approach to portable ontologies. Knowledge Acquisition, 5(2):199-220, 1993

© Fraunhofer IPSI

29

Ontology Definition - Protégé

© Fraunhofer IPSI

30

Fulfillment of Requirements - RDF + OWL
 Support of modeling primitives • Definition of entities (property centric approach like RDF) • Definition of relationships (via class properties) • Properties of relationships (cardinalities,transitivity, symmetry, ...) Flexible definition of relationships to global conceptual models • additional to RDF: disjoint, union, intersection, equivalent class, equivalent property Representation of concept hierarchies • yes like RDF + additional relationships Systematic support of data types • on schema level (“data type properties”) Representation of additional domain knowledge and constraints • examples see next slides Domain/Ontology evolution 31 • only basic support

Software Agent

  

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Relationships to global Conceptual Models RDF+OWL Travel
Example BusTravel “A Travel is defined a bus travel, a plane or a train travel, assuming that this three types of travel are defined in other global schemes”

TrainTravel

PlaneTravel

<owl:class rdf:about = “#Travel” > <owl:unionOf rdf:parseType= “Collection”> <owl:Class rdf:about = “airWays:Flight” <owl:Class rdf:about = “busWorld:Travel” <owl:Class rdf:about = “railway:TrainTravel”> </owl:unionOf> </owl:class>
32

© Fraunhofer IPSI

Representation of Domain Knowledge in RDF+OWL
Example

“A city can be either reached by a direct flight or by connecting several flights”

<owl:transitiveProperty rdf:about = "#connect"> <rdfs:domain rdf:about = "map:City"> <rdfs:range rdf:about = "map:City"> </owl:transitiveProperty> <owl:objectProperty rdf:about="travel:directFlight"> <rdfs:subpropertyOf rdf:resource = "#connect"> </owl:objectProperty>
© Fraunhofer IPSI

33

Additional Requirements for Semantic Web Applications

Mappings between the Models Conceptual UI Model Semantic Domain Model Domain Model (represented by Database Schema) Mappings which are bidirectional flexible (e.g. caching)
Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

34

Operationalization

Software Agent
System Authoring Tool Suite Publishing Tools - Form Dialog Manager - Menu Manager Task-specificTools - Booking Manager - User Manager Web User Interface Agent Interface

System Authoring Tool(s)

Conceptual UI Model

User Interface Layer
DOMM Domain Object Mapping Manger

Semantic Domain Model

Web Services

Application Layer
authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 na me Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

35

© Fraunhofer IPSI

36

Open Issues  Adequate Authoring for UI – Web service binding  Development of globally accepted Ontologies  Development of adequate processors for the transformation of conceptual UI model into different agent-specific UI formats

© Fraunhofer IPSI

37

Thank s!

© Fraunhofer IPSI

38

In the following some Backup Slides

© Fraunhofer IPSI

39

Requirements for Semantic Web Applications (2) Additional Mappings between Conceptual UI Model Semantic Domain Model Domain Model (represented by Database Schema) S
User and Agent Interface Layer

Mappings which are bidirectional flexible (e.g. caching)

Conceptual User Interface Layer Application Layer Semantic Domain Layer

Relational DB

XML DB

Persistant Data Storage Layer

© Fraunhofer IPSI

40

Web Client (HTML)

Web Application - Typical Architecture

User Interface Layer

JSP, ASP, …
Application Layer

ODBC, JDBC, …
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

41

HTML-based UI Dialog Models Properties  Composition of forms from a basic set of form elements  Provision of static data for selection lists etc,  Provision of upload functionality and different types of Submit Logic

© Fraunhofer IPSI

 for dynamic client side behaviour additional scripting language is required (JavaScript)  for handling of dynamic data coupling with technologies like JSP or

42

The Semantic Web "The Semantic Web is an extension of the current Web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001

© Fraunhofer IPSI

43

Web Services in Dynamic Web Applications
Dynamic changes of organizational and business processes

Flexible and dynamic configuration IT and service infrastructure

Web Services offer:  Just in time integration (run-time)  High degree of platform independence  XML-based communication

© Fraunhofer IPSI

44

Challenges for Web Applications

Software Agent

User Interface Layer Application Layer
Software Agent
Software Agent

User Interface Layer
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

User Interface Layer Application Layer

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

Application Layer

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

authors
autho rs
id 1 2 3 4 name Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

autho rs
id 1 2 3 4 name Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

45

Web Client (HTML)

Semantic Web Application Models

<xforms:repeat nodeset="flights"> Web User Interface Agent Interface <xforms:select ref="start"/> <xforms:select ref="end"/> </xforms:repeat>

Software Agent

Conceptual UI Model

User Interface Layer
Semantic Domain Model

Application Layer
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

46

Requirements for Semantic Web Applications (1) Semantic Web Application Models: Semantic Domain Model (Semantic Domain Layer) • "references to Ontologies" • support of automatic interpretation • extensibility Conceptual UI Model (Conceptual UI Layer) Software Agent • separation of data, layout, and conrol User Interface Layer (MVC*) Application Layer • rich set of interaction types •…
authors
Rudar Best Glue

authors
Rudar Best Glue

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

id 1 2 3 4

na me

id 1 2 3 4

na me

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

7 8 9 10 11

*

Model View Control Paradigm

© Fraunhofer IPSI

47

Requirements for Semantic Domain Model "references to Ontologies" support of automatic interpretation extensibility

Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

*

Model View Control Paradigm

© Fraunhofer IPSI

48

Conceptual Modeling
Starting point: Relational Model (Database) Traditional conceptual Models for semantic extensions like UML and EER support Subclass hierarchies Explicit relationships Cardinalities/Multiplicities Aggregation Association Classes (UML) Software Agent
User Interface Layer Application Layer

Main Focus is Software Design

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

49

– RDF & Co
The Resource Description Framework: Defines a framework for structuring and describing resources like documents in the Semantic Web Enables the definition of vocabularies for the description of resources in an application domain; Goals: Extensibility, interoperability, and Software Agent reuse of vocabularies; User Interface Layer Improved support for interpretation of data Application Layer by machines
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

50

Defining Semantics on the Web
There is a need to describe resources on the Web in a form that can be interpreted by machines across the Web Interpretation depends on the context of a resource e.g. Jaguar (car vs. beast); Using their experience and cognitive abilities humans may infer the context of a resource in many ways even if it is not made explicit; Software Agent Software can interpret context User Interface Layer only if it is described explicitly and formally; Application Layer RDF and the ontology languages building upon RDF provide means to explicate (part of) this context.
authors
Rudar Best Glue

authors
Rudar Best Glue

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

id 1 2 3 4

na me

id 1 2 3 4

na me

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
Rudar Best Glue

id 1 2 3 4

name

7 8 9 10 11

7 8 9 10 11

Hollow

© Fraunhofer IPSI

51

Ideas for constraints
 ein Flugziel kann man über einen Direktflug oder über mehrere Zwischenstops erreichen (transitive property)  A Travel is a bus travel, a train travel or a plane travel (use owl.union, assume train, plane, and bus travel are already defined)  disjount  Bus travel can be defined via allValuesFrom
Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

52

Travel Medium Example
A Travel is a bus travel, a flight or a train travel” <owl:class rdf:about = “#Travel” > <owl:unionOf rdf:parseType= “Collection”> <owl:Class rdf:about = “airWays:Flight” <owl:Class rdf:about = “busWorld:Travel” <owl:Class rdf:about = “railway:TrainTravel” </owl:unionOf> Software Agent </owl:class>

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

53

UML
A Travel is a bus travel, a plane or a train travel”

Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

54

Representation of Domain Knowledge
“A city can be either reached by a direct flight or by connecting several flights”
DirectFlight

Flight

CompositeFlight

<rdfs:Class rdf:about="travel:Flight"> <rdfs:label>Flight</rdfs:label> <rdfs:subClassOf rdf:resource="travel:Flight"/> </rdfs:Class> <rdfs:Class rdf:about="travel:directFlight"> <rdfs:label>DirectFlight</rdfs:label> Software Agent <rdfs:subClassOf rdf:resource="travel:Flight"/> </rdfs:Class> User Interface Layer <rdfs:Class rdf:about="travel:compositFlight"> <rdfs:label>CompositFlight</rdfs:label> <rdfs:subClassOf rdf:resource="travel:Flight"/> Application Layer </rdfs:Class> <rdf:Description rdf:about=
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

55

Example with cardinalities Aircompany to CompositFlight Aircomp. to Traveltarget (only 3 are allowed;-)

Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

56

Defining Semantics on the Web
There is a need to describe resources on the Web in a form that can be interpreted by machines across the Web Interpretation depends on the context of a resource e.g. Jaguar (car vs. beast); Using their experience and cognitive abilities humans may infer the context of a resource in many ways even if it is not made explicit; Software Agent Software can interpret context User Interface Layer only if it is described explicitly and formally; Application Layer RDF and the ontology languages building upon RDF provide means to explicate (part of) this context.
authors
Rudar Best Glue

authors
Rudar Best Glue

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

id 1 2 3 4

na me

id 1 2 3 4

na me

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
Rudar Best Glue

id 1 2 3 4

name

7 8 9 10 11

7 8 9 10 11

Hollow

© Fraunhofer IPSI

57

The Resource Description Framework: Defines a framework for structuring and describing resources like documents in the Semantic Web Enables the definition of vocabularies for the description of resources in an application domain; Goals: Extensibility, interoperability, and Software Agent reuse of vocabularies; User Interface Layer Improved support for interpretation of data Application Layer by machines
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

Semantic Domain Model – RDF & Co

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

58

Comparison between UML and RDF
structural reference to approach global conceptualization notion of a s resource (metadata) representation of relationships reification representation of concept hierarchies

UML
class centric no no yes no yes

RDF
property centric yes yes yes yes yes

© Fraunhofer IPSI

59

Defining Semantics on the Web
There is a need to describe resources on the Web in a form that can be interpreted by machines across the Web Interpretation depends on the context of a resource e.g. Jaguar (car vs. beast); Using their experience and cognitive abilities humans may infer the context of a resource in many ways even if it is not made explicit; Software can interpret context only if it is described explicitly and formally; RDF and the ontology languages building upon RDF provide means to explicate (part of) this context.

Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

60

RDF Schema
The RDF vocabulary description language - RDF Schema stresses Reuse and extension of existing schemata Semantic enrichment by concept hierarchies allows mixing of schemata enables statements on the schema level to define classes of resources Software Agent define relationships between these classes User Interface Layer define the kinds of properties that instances of that classes have Application Layer define relationships between properties to restrict possible combinations of classes and relationships/properties
authors
Rudar Best Glue

authors
Rudar Best Glue

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

id 1 2 3 4

na me

id 1 2 3 4

na me

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
Rudar Best Glue

id 1 2 3 4

name

7 8 9 10 11

7 8 9 10 11

Hollow

© Fraunhofer IPSI

61

RDF Schema Example
rdf:Literal
rdfs:range

FlightNumber
in

rd fs: d

assignedTo
in ma o

o ma

DepatureDate
m :d o s df ai n

r dfs

rd fs :r

s:d r df

:ra n ge
ain

Flight

r

an ge

Plane

rdfs:range

isFor
:d rdf s

rdf:Literal

om fs:d rd

hasPassenger
rd fs: r

ai om n

an

ge

Ticket Person
rdf s: d o
s: ra ng e

ma in

owns

rd f

© Fraunhofer IPSI

62

Ontology Languages OWL is language for defining ontologies DAML+OIL is a combination of the two predecessor ontology languages DAML – DARPA Agent Markup Language OIL - Ontology Inference Layer OWL (Web Ontology Language) is the successor DAML + OIL currently developed by the W3C Web Ontology Group (Status: Working Draft) Building on RDF ideas OWL Lite is a subset of OWL
© Fraunhofer IPSI

63

OWL Characteristics OWL enables the definition of various types of relationships between classes (in addition to subclass hierarchies) additional restrictions for property values additional types of relationships between properties different kinds of properties OWL distinguishes between classes and instances (objects) on the one side, and data types and value on the other side (XML Schema datatypes) 64

© Fraunhofer IPSI

OWL Example

tp://www.daml.org/cgi-bin/hyperdaml?http://www.daml.org/2001/06/itinerary/itinerary-ont

http://ontoserver.aifb.uni-karlsruhe.de/texttoonto/ http://www.iiia.csic.es/~pedro/francois-techreport0301.pdf

http://www.nextwebgeneration.org/telecoop03/33 http://www2.darmstadt.gmd.de/bib/News.html

s. Lecture Notes in Computer Science 2503 Springer 2002, ISBN 3-540-4
© Fraunhofer IPSI

65

Conceptual UI Model - XForms The next generation of form-based user interfaces in the Web: design of forms on a more abstract level dynamic client side behavior (e.g. add new and delete form fields) more powerful client-side interaction Software Agent model User Interface Layer support of different user interface Application Layer agents
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

to (separately) re-use the three kind of models of a form
66

© Fraunhofer IPSI

XForms provides … a model and formal language for the definition of form dialogs on an conceptual level under standardization of W3C builds upon existing system components and standards (XSLT proc., XML access layer) Software Agent platform independent (database, Web User Interface Layer server)
Application Layer
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

supports different types of UI agents (mobile phone, PDA, HTML-Browser, 67 XML-Browser, Java and Flash

Software Agent Flight Departure Flight Departure

<xforms:repeat nodeset="flights"> <xforms:select ref="start"/> <xforms:select ref="end"/> </xforms:repeat>
Flight Departure

<xforms:repeat nodeset="flights"> <xforms:select1 ref="start"/> <xforms:input ref="end"/> </xforms:repeat>

Flight Departure Flight Departure
Flight Departure Flight Departure

<xforms:repeat nodeset="flights"> <xforms:input ref="start"/> <xforms:input ref="end"/> </xforms:repeat>

Flight Departure

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

© Fraunhofer IPSI

7 8 9 10 11

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

68