Professional Documents
Culture Documents
Semantically Enabled
Service-Oriented
Architectures (SESA)
Description
The tutorial provides a comprehensive overview of the state-of-the-art in Semantic Web
and Semantic Web services, and presents the concept of so-called Semantically Enabled
Service-Oriented Architectures (SESA) as the next step of technology development. The
tutorial will be based on the Web Service Modeling Ontology WSMO (www.wsmo.org)
that is mainly developed by the Digital Enterprise Institute DERI (www.deri.org).
In order to overcome the deficiencies of the initial technology stack around WSDL and
SOAP for the detection and usability analysis of Web services, the emerging concept of
Semantic Web Services (SWS) develops techniques for the automated discovery,
composition, and execution of Web services. These apply inference-based reasoning
techniques that work on formal descriptions and use ontologies as the underlying data
model. Ontologies are formalized knowledge models, and are used as the base
technology for the Semantic Web in order to facilitate semantically enabled processing of
Web Content. The concept of Semantically Enabled Service-Oriented Architectures
(SESA) aims at automated support for the complete life- and production cycle of Service-
Oriented Architectures. For this, the SWS approach is extended with additional,
semantically described elements: goals as formally described client objectives, and
mediators for handling potentially occurring heterogeneities.
The Web Service Modeling Ontology WSMO is a comprehensive framework for SESA
that defines a conceptual model along with a specification language, and provides a
reference implementation with additional tool support. WSMO defines ontologies, Web
services, goals, and mediators as its top level elements with a description model and
language for each of them. The specification language WSML covers all types of
languages that are considered to be relevant for the Semantic Web, and a reasoner suite
along with additional tool support. The reference implementation WSMX provides an
open-source development and execution environment for SESA on the basis of the
WSMO framework.
The aim of the tutorial is to provide a comprehensive overview of the SESA concept and
its realization within WSMO. We will outline the motivation and need for such
technologies, explain the WSMO framework and technology, and show existing
applications. A major part of the tutorial are practical hands-on sessions wherein the
attendees actively model WSMO elements and use the existing tools. Attendees will be
provided with hand-outs and CDs with the tutorial material and software.
1
SESA Tutorial Seoul, South Korea, September 2007
Outline
2
SESA Tutorial Seoul, South Korea, September 2007
Presenters
The tutorial is presented by three experienced researchers from the DERI institute in
Innsbruck who actively work on the presented technologies. The following provides
some biographical information.
3
Mission
SESA Tutorial
1 Seoul, 10 - 14 September
2007
SESA Tutorial
2 Seoul, 10 - 14 September
2007
4
DERI Partners
IFOMIS
SESA Tutorial
3 Seoul, 10 - 14 September
2007
SESA Tutorial
4 Seoul, 10 - 14 September
2007
5
The Web Service Modeling Ontology
Semantic description of
Formally specified Web Services:
terminology used
by all other - Capability (functional)
components - Interfaces (usage)
SESA Tutorial
5 Seoul, 10 - 14 September
2007
Day I
Introduction
Semantic Web
Semantic Web Services
WSMO
Michael Stollberg
SESA Tutorial
6
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
6
Agenda
The Vision
The Semantic Web
Web Services
Semantic Web Services
LUNCH BREAK
Other Approaches
OWL-S, SWSF, WSLD-S, SAWSDL
Static
WWW Semantic Web
URI, HTML, HTTP RDF, RDF(S), OWL
SESA Tutorial
8 Seoul, 10 - 14 September
2007
7
The Semantic Web
semantic bridges
SESA Tutorial
9 Seoul, 10 - 14 September
2007
Ontology Definition
commonly accepted
machine-readability
understanding
with computational
semantics
SESA Tutorial
10 Seoul, 10 - 14 September
2007
8
Ontology Example
SESA Tutorial
11 Seoul, 10 - 14 September
2007
Ontology Languages
Requirements
expressivity
reasoning support
web compliance
SESA Tutorial
12 Seoul, 10 - 14 September
2007
9
Ontology Technology
Ontology Reasoning
+ advanced information processing
special requirements
large scale knowledge handling
fault-tolerant
stable & scalable inference machines
Ontology Management
(collaborative) editing and browsing
storage and retrieval
versioning and evolution support
SESA Tutorial
13 Seoul, 10 - 14 September
2007
SESA Tutorial
14 Seoul, 10 - 14 September
2007
10
Web Services & SOA
SESA Tutorial
15 Seoul, 10 - 14 September
2007
WSDL
SESA Tutorial
16 Seoul, 10 - 14 September
2007
11
SOAP
SESA Tutorial
17 Seoul, 10 - 14 September
2007
UDDI
Registry for
Web Services:
- provider
- service information
- technical access
SESA Tutorial
18 Seoul, 10 - 14 September
2007
12
The Web Service Usage Process
points to
Repository WSDL
Web
Consumer SOAP
Service
WS usage via message exchange
SESA Tutorial
19 Seoul, 10 - 14 September
2007
Deficiencies of WS Technology
SESA Tutorial
20 Seoul, 10 - 14 September
2007
13
Semantic Web Services
SESA Tutorial
21 Seoul, 10 - 14 September
2007
Non-functional Functionality
Interface
WS
Interface Aggregation
XML
SESA Tutorial
22 Seoul, 10 - 14 September
2007
14
Goal-driven Web Service Usage
Client
objective / problem to be solved
client-system interaction
Goals
formal objective description
Semantics / SWS
Ontology SWS description Mediator
execution
SESA Tutorial
23 Seoul, 10 - 14 September
2007
if: successful
GOAL
else:
submission not solvable
matchmaking
else: try other WS uses R with all WS
Discoverer
if: composition possible
Data if: usable
Mediator
Selection & uses Composer
Ranking
Service
Repository
Process uses Behavioral composition
Mediator Conformance (executable)
if: compatible
information lookup
for particular service
Executor
if: execution
error
SESA Tutorial
24 Seoul, 10 - 14 September
2007
15
The WSMO Framework
Michael Stollberg
SESA Tutorial
25
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
www.wsmo.org
SESA Tutorial
26 Seoul, 10 - 14 September
2007
16
WSMO Top Level Notions
SESA Tutorial
27 Seoul, 10 - 14 September
2007
SESA Tutorial
28 Seoul, 10 - 14 September
2007
17
The Web Service Modeling Ontology
Semantic description of
Formally specified Web Services:
terminology used
by all other - Capability (functional)
components - Interfaces (usage)
SESA Tutorial
29 Seoul, 10 - 14 September
2007
SESA Tutorial
30 Seoul, 10 - 14 September
2007
18
Ontology Specification
Ontology Elements:
Concepts set of concepts that belong to the ontology, incl.
Attributes set of attributes that belong to a concept
Relations define interrelations between several concepts
Functions special type of relation (unary range = return value)
Instances set of instances that belong to the represented ontology
Axioms axiomatic expressions in ontology (logical statement)
SESA Tutorial
31 Seoul, 10 - 14 September
2007
SESA Tutorial
32 Seoul, 10 - 14 September
2007
19
The Web Service Modeling Ontology
Semantic description of
Formally specified Web Services:
terminology used
by all other - Capability (functional)
components - Interfaces (usage)
SESA Tutorial
33 Seoul, 10 - 14 September
2007
client-service realization of
interaction interface functionality by
for consuming WS Web Service WS
aggregation
- external visible Implementation - functional
WS
behavior (not of interest in Web decomposition
Service Description)
- communication WS
- WS composition
structure
- grounding
Choreography --- Service Interfaces --- Orchestration
SESA Tutorial
34 Seoul, 10 - 14 September
2007
20
Capability Specification
SESA Tutorial
35 Seoul, 10 - 14 September
2007
21
Example VTA Web Service
assumption
definedBy
po#validCreditCard(?creditCard) and
?creditCard[balance hasValue ?initialBalance] and
(?initialBalance >= ?price) .
SESA Tutorial
37 Seoul, 10 - 14 September
2007
effect
definedBy
?creditCard[po#balance hasValue ?finalBalance] and
(?finalBalance = (?initialBalance - ?price)).
SESA Tutorial
38 Seoul, 10 - 14 September
2007
22
Choreography & Orchestration
Date, Time
Date
Hotel
Hotel Service
Time
Error
Flight, Hotel
VTA
Date, Time
Error Service
Confirmation Flight
Flight Service
Error
SESA Tutorial
39 Seoul, 10 - 14 September
2007
Choreography Interface
SESA Tutorial
40 Seoul, 10 - 14 September
2007
23
Orchestration
3
2
WS - decomposition of service
4 functionality
- other Web services
consumed via their
choreography interfaces
SESA Tutorial
41 Seoul, 10 - 14 September
2007
Description
Vocabulary:
ontology constructs used in service interface description
usage for information interchange: in, out, shared, controlled
States:
a stable status in the information space
defined by attribute values of ontology instances
Guarded Transition:
state transition
general structure: if (condition) then (update)
condition on current state, update = changes in state transition
all GT() whose condition is fulfilled fire in parallel
Usage:
partners A, B commence interaction with empty A, B
A, B are updated via Guarded Transitions in each state
interaction termination state when A, B have no further transition rules
SESA Tutorial
42 Seoul, 10 - 14 September
2007
24
Example Hotel Web Service
SESA Tutorial
43 Seoul, 10 - 14 September
2007
25
The Web Service Modeling Ontology
Semantic description of
Formally specified Web Services:
terminology used
by all other - Capability (functional)
components - Interfaces (usage)
SESA Tutorial
45 Seoul, 10 - 14 September
2007
WSMO Goals
purpose
1. facilitate problem-oriented WS usage
2. dynamic WS usage
central client side element for SESA
SESA Tutorial
46 Seoul, 10 - 14 September
2007
26
Goal Model (Proposed Revision)
SESA Tutorial
47 Seoul, 10 - 14 September
2007
WSMO Goals
Client-Side Service-Side
Client instantiates
Implementation
defines Goal Instance (not of interest here)
concrete input
service usage
SESA Tutorial
48 Seoul, 10 - 14 September
2007
27
Basic Goal
Goal WG Mediator
DB
client interface
Ticketing
buy train ticket in Germany
- origion: o, destination: d
- date-time: dt
design time
instantiates
runtime
defines
Client
SESA Tutorial
49 Seoul, 10 - 14 September
2007
Composite Goal
flight information
Hotel Request Capability
Book Hotel
SESA Tutorial
50 Seoul, 10 - 14 September
2007
28
The Web Service Modeling Ontology
Semantic description of
Formally specified Web Services:
terminology used
by all other - Capability (functional)
components - Interfaces (usage)
SESA Tutorial
51 Seoul, 10 - 14 September
2007
Mediation
Heterogeneity
mismatches on structural / semantic / conceptual / level
occur between different components that shall interoperate
especially in distributed & open environments like the Internet
Concept of Mediation (Wiederhold, 94):
Mediators as components that resolve mismatches
declarative approach:
semantic description of resources
intelligent mechanisms resolve mismatches independent of
content
mediation cannot be fully automated (integration decision)
Levels of Mediation in WSMO:
Representation: heterogeneous Languages & Protocols
Data Level: heterogeneous Data Sources
Functional Level: heterogeneous Functionalities
Process Level: heterogeneous Communication Processes
SESA Tutorial
52 Seoul, 10 - 14 September
2007
29
Mediator Structure
Source
Mediator
Component
1 Target
1 .. n (1) has Mediation Definition Component
(2) uses Mediation Service
Source
Component
Mediation
Services
SESA Tutorial
53 Seoul, 10 - 14 September
2007
data level
mediation terminology representation & protocol
1 .. n 1 ..n
1 .. n 1 G GG Mediator G
O O/G/
OO Mediator WS / M
-Relation
Mediation
1 1 ..n 1 .. n 1 ..n
WS WW Mediator WS G xor WS WG Mediator WS xor G
Legend
technique used imports / reuses correlation
SESA Tutorial
54 Seoul, 10 - 14 September
2007
30
Central SESA Techniques
Michael Stollberg
SESA Tutorial
55
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
SESA Process
if: successful
GOAL
else:
submission not solvable
matchmaking
else: try other WS uses R with all WS
Discoverer
if: composition possible
Data if: usable
Mediator
Selection & uses Composer
Ranking
Service
Repository
Process uses Behavioral composition
Mediator Conformance (executable)
if: compatible
information lookup
for particular service
Executor
if: execution
error
SESA Tutorial
56 Seoul, 10 - 14 September
2007
31
Techniques
Discovery
find candidate WS to solve a Goal
Selection & Ranking
select best candidate / determine a priority list
Composition
combine several WS to solve a Goal
Behavioral Compatibility
ensure that interaction can take place
Mediation
resolve & handle possibly occurring heterogeneities
Execution
automatically invoke & consume WS to solve a Goal
SESA Tutorial
57 Seoul, 10 - 14 September
2007
Techniques:
Key Word Matching
Attainable Accuracy
descriptions
Controlled Vocabulary
ontology-based key word matching
Semantic Matchmaking
what Semantic Web Services aim at
SESA Tutorial
58 Seoul, 10 - 14 September
2007
32
Semantic Matchmaking
=G = WS
Exact Match:
G, WS, O, M x. (G(x) <=> WS(x) )
PlugIn Match:
G, WS, O, M x. (G(x) => WS(x) )
Subsumption Match:
G, WS, O, M x. (G(x) <= WS(x) )
Intersection Match:
G, WS, O, M x. (G(x) WS(x) )
Non Match: X
Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.
SESA Tutorial
59 Seoul, 10 - 14 September
2007
Selection
determine best candidate out of discovered WS
Ranking
determine a priority list of discovered WS
33
Web Service Composition
SESA Tutorial
61 Seoul, 10 - 14 September
2007
Behavioral Compatibility
internal internal
business logic business logic
CLIENT WS
(not of interest in Service (not of interest in Service
Interface Description) Interface Description)
SESA Tutorial
62 Seoul, 10 - 14 September
2007
34
Behavior Compatibility Example
SESA Tutorial
63 Seoul, 10 - 14 September
2007
SESA Tutorial
64 Seoul, 10 - 14 September
2007
35
Mediation
SESA Tutorial
65 Seoul, 10 - 14 September
2007
semi-automatic
human intervention needed for integration decision
graphical support for ontology mapping as central technique
SESA Tutorial
66 Seoul, 10 - 14 September
2007
36
Mapping Language Example
Ontology O1 Ontology O2
Person
Human - name
- name - age
SESA Tutorial
67 Seoul, 10 - 14 September
2007
C C, D
D A
SESA Tutorial
68 Seoul, 10 - 14 September
2007
37
Patterns for Resolvable Mismatches
SESA Tutorial
69 Seoul, 10 - 14 September
2007
SESA Tutorial
70 Seoul, 10 - 14 September
2007
38
Automated Web Service Execution
Interaction Execution
(semantic) (via grounding)
Web
Communication
WWW (SOAP)
WSDL
Service
Space
Client Web Service Web Service
Interface Interface Interface
(semantic) (semantic) (syntactic)
SESA Tutorial
71 Seoul, 10 - 14 September
2007
Michael Stollberg
SESA Tutorial
72
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
39
OWL-S
SESA Tutorial
73 Seoul, 10 - 14 September
2007
SESA Tutorial
74 Seoul, 10 - 14 September
2007
40
OWL and WSML
WSML Rule
OWL DL WSML DL
SESA Tutorial
75 Seoul, 10 - 14 September
2007
SWSF
SESA Tutorial
76 Seoul, 10 - 14 September
2007
41
WSDL-S
SESA Tutorial
77 Seoul, 10 - 14 September
2007
SAWSDL
Similar to WSDL-S:
semantic annotation of XML-Schema
semantic annotation of WSDL (interface & operations)
42
Commonalities & Differences
WSMO defines core elements for SESA while all others are
only concerned with describing Web Services
SESA Tutorial
79 Seoul, 10 - 14 September
2007
Outlook Day 2:
WSML Language & Reasoning
Michael Stollberg
SESA Tutorial
80
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
43
The WSML Language
WSML Full
WSML Rule WSML DL
WSML Core
RDF (S)
XML
Unicode URI
WSML Layering
SESA Tutorial
82 Seoul, 10 - 14 September
2007
44
WSML Reasoning Framework (API)
Result
Reasoning Task
(Variable Bindings)
Normalization Steps
Facades
Theorem
Pellet KAON2 MINS IRIS
Prover
SESA Tutorial
83 Seoul, 10 - 14 September
2007
WSMO4J (API)
1. WSMO data model (OGWM)
2. Getter & Setter Methods
3. WSML Parser & Serializer
Reasoner
SESA Tutorial
84 Seoul, 10 - 14 September
2007
45
Outlook Day 3:
The WSMX System
(WSMO Reference Implementation)
Michael Stollberg
SESA Tutorial
85
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
WSMX
SESA Tutorial
86 Seoul, 10 - 14 September
2007
46
Event-based Implementation
SESA Tutorial
87 Seoul, 10 - 14 September
2007
WSMX Architecture
Data and Communication Protocols Adapters
Adapter 1
System Interface
Adapter 2
...
Adapter n
SESA Tutorial
88 Seoul, 10 - 14 September
2007
47
WSMX Functionalities
Achieve a goal
parse goal
WS detection (all necessary functional components)
invoke WS
SESA Tutorial
89 Seoul, 10 - 14 September
2007
SESA Tutorial
90 Seoul, 10 - 14 September
2007
48
Other WSMO Tools
WSML Validator
syntax validtor for WSML
Web Interface
provided as Web service
Ontology Technology
WSML Ontology Management Suite (DOME, OMS)
Data Mediator (stand-alone)
References
Michael Stollberg
SESA Tutorial
92
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
49
Book
SESA Tutorial
93 Seoul, 10 - 14 September
2007
References WSMO
The central location where WSMO work and papers can be found is
WSMO Working Group: http://www.wsmo.org
WSMO implementation
WSMX working group : http://www.wsmx.org
WSMX open source can be found at:
https://sourceforge.net/projects/wsmx/
SESA Tutorial
94
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 94
03.09.2007
50
References Foundations
[Alonso et al., 2004] Alonso, G., Casati, F., Kuno, H., and Machiraju, V. (2004). Web Services: Concepts,
Architectures and Applications. Data-Centric Systems and Applications. Springer, Berlin, Heidelberg.
[Berners-Lee, 1999] Berners-Lee, T. (1999). Weaving the Web. Harper, San Francisco, USA.
[Berners-Lee et al., 2001] Berners-Lee, T., Hendler, J., and Lassila, O. (2001). The Semantic Web. Scientific
American, 284(5):34-43.
[Bussler, 2003] Bussler, C. (2003). B2B Integration: Concepts and Architecture. Springer, Berlin, Heidelberg.
[Fensel, 2003] Fensel, D. (2003). Ontologies: A Silver Bullet for Knowledge Management and E-Commerce.
Springer, Berlin, Heidelberg, 2 edition.
[Fensel et al., 2006] Fensel, D. et al: Enabling Semantic Web Services. The Web Service Modeling Ontology
WSMO. Springer, Berlin, Heidelberg, 2006.
[Gomz-Prez et al., 2003] Gomz-Prez, A., Corcho, O., and Fernandez-Lopez, M. (2003). Ontological
Engineering. With Examples from the Areas of Knowledge Management, E-Commerce and Semantic Web.
Series of Advanced Information and Knowledge Processing. Springer, Berlin, Heidelberg.
[Gruber, 1993] Gruber, T. R. (1993). A translation approach to portable ontology specifications. Knowledge
Acquisition, 5:199-220.
SESA Tutorial
95
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 95
03.09.2007
[de Bruijn et al., 2006] de Bruijn, J., Fensel, D., Lausen, H., Polleres, A., Roman, D., and Stollberg, M. (2006).
Enabling Semantic Web Services. The Web Service Modeling Ontology. Springer.
[Fensel and Bussler, 2002] Fensel, D. and Bussler, C. (2002). The Web Service Modeling Framework WSMF.
Electronic Commerce Research and Applications, 1(2).
[McIlraith et al., 2001] McIlraith, S., Cao Son, T., and Zeng, H. (2001). Semantic Web Services. IEEE Intelligent
Systems, Special Issue on the Semantic Web, 16(2):46-53.
[Preist, 2004] Preist, C. (2004). A Conceptual Architecture for Semantic Web Services. In Proc. of the Int.
Semantic Web Conf. (ISWC 2004).
[Roman et al., 2005] Roman, D., Keller, U., Lausen, H., de Bruijn, J., Lara, R., Stollberg, M., Polleres, A., Feier,
C., Bussler, C., and Fensel, D. (2005). Web Service Modeling Ontology. Applied Ontology, 1(1):77-106.
[Stollberg et al., 2006] Stollberg, M., Feier, C., Roman, D., and Fensel, D. (2006). Semantic Web Services -
Concepts and Technology. In Ide, N., Cristea, D., and Tufis, D. (editors), Language Technology, Ontologies,
and the Semantic Web. Kluwer Publishers.
[Sycara et al. 2003] Katia Sycara, Massimo Paolucci, Anupriya Ankolekar and Naveen Srinivasan, "Automated
Discovery, Interaction and Composition of Semantic Web services," Journal of Web Semantics, Volume 1,
Issue 1, September 2003, pp. 27-46
SESA Tutorial
96
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 96
03.09.2007
51
References SWS: W3C Submissions
OWL-S
[Martin, 2004] Martin, D. (2004). OWL-S: Semantic Markup for Web Services. W3C Member Submission 22
November 2004. online: http://www.w3.org/Submission/OWL-S/.
SWSF
[Battle et al., 2005] Battle, S., Bernstein, A., Boley, H., Grosof, B., Gruninger, M., Hull, R., Kifer, M., D., M., S., M.,
McGuinness, D., Su, J., and Tabet, S. (2005). Semantic Web Services Framework (SWSF). W3C Member
Submission 9 September 2005. online: http://www.w3.org/Submission/SWSF/.
WSDL-S
[Akkiraju et al., 2005] Akkiraju, R., Farrell, J., Miller, J., Nagarajan, M., Schmidt, M.- T., Sheth, A., and Verma, K.
(2005). Web Service Semantics - WSDL-S. W3C Member Submission 7 November 2005. online:
http://www.w3.org/Submission/WSDL-S/.
SESA Tutorial
97
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 97
03.09.2007
References Discovery
Stollberg, M. Stollberg, M.; Keller, U.; Lausen, H. and Heymans, S.: Two-phase Web Service Discovery based on
Rich Functional Descriptions. In Proc. of the 4th European Semantic Web Conference (ESWC 2007),
Innsbruck, Austria.
B. Benatallah, M. Hacid, C. Rey, F. Toumani Towards Semantic Reasoning for Web Services Discovery,. In Proc.
of the International Semantic Web Conference (ISWC 2003), 2003
Herzog, R.; Lausen, H.; Roman, D.; Zugmann, P.: WSMO Registry. WSMO Working Draft D10 v0.1, 26 April
2004.
Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.
Keller, U.; Lara, R.; Lausen, H.; Polleres, A.; Fensel, D.: Automatic Location of Services. In Proc. of the 2nd
European Semantic Web Symposium (ESWS2005), Heraklion, Crete, 2005.
M. Kifer, R. Lara, A. Polleres, C. Zhao, U. Keller, H. Lausen and D. Fensel: A Logical Framework for Web Service
Discovery. Proc. 1st. Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima, Japan, November 8, 2004, CEUR
Workshop Proceedings, ISSN 1613-0073
Lara, R., Lausen, H.; Toma, I.: (Eds): WSMX Discovery. WSMX Working Draft D10 v0.2, 07 March 2005.
Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of
the Twelfth International World Wide Web Conference (WWW 2003), 2003.
SESA Tutorial
98
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 98
03.09.2007
52
References Discovery
Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of
the Twelfth International World Wide Web Conference (WWW 2003), 2003
Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to
Web Service Interoperation. In Proceedings of the Second International Semantic Web Conference
(ISWC2003),
Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; Importing the Semantic Web in UDDI. In
Proceedings of Web Services, E-business and Semantic Web Workshop, 2002
Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; "Semantic Matching of Web Services
Capabilities." In Proceedings of the 1st International Semantic Web Conference (ISWC2002), 2002
Preist, C.: A Conceptual Architecture for Semantic Web Services. In Proceedings of the 3rd International Semantic
Web Conference (ISWC 2004), 2004, pp. 395 - 409.
Stollberg, M.; Keller, U.; Fensel. D.: Partner and Service Discovery for Collaboration on the Semantic Web. Proc.
3rd Intl. Conference on Web Services (ICWS 2005), Orlando, Florida, July 2005.
SESA Tutorial
99
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 99
03.09.2007
References Composition
[Berardi et al., 2003] Berardi, D., Calvanese, D., Giacomo, G. D., Lenzerini, M., and Mecella, M. (2003). Automatic
Composition of e-Services that Export their Behavior. In Proc. of First Int. Conference on Service Oriented
Computing (ICSOC).
[Martens, 2003] Martens, A. (2003). On Compatibility of Web Services. Petri Net Newletter, 65:12-20.
[Sirin et al., 2004] Sirin, E., Parsia, B., Wu, D., Hendler, J., and Nau, D. (2004). HTN Planning for Web Service
Composition Using SHOP2. Journal of Web Semantics, 1(4):377-396.
[Pistore and Traverso, 2006] Pistore, M. and Traverso, P. (2006). Theoretical Integration of Discovery and
Composition. Deliverable D2.4.6, Knowledge Web.
[Stollberg, 2005] Stollberg, M. (2005). Reasoning Tasks and Mediation on Choreography and Orchestration in
WSMO. In Proceedings of the 2nd International WSMO Implementation Workshop (WIW 2005), Innsbruck,
Austria.
[Traverso and Pistore, 2004] Traverso, P. and Pistore, M. (2004). Automatic Composition of Semantic Web
Services into Executable Processes. In Proc. 3rd International Semantic Web Conference (ISWC 2004),
Hiroshima, Japan.
SESA Tutorial
100
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 100
03.09.2007
53
References Composition
[Cimpian and Mocan, 2005] Cimpian, E. and Mocan, A. (2005). WSMX Process Mediation Based on
Choreographies. In Proceedings of the 1st International Workshop on Web Service Choreography and
Orchestration for Business Process Management at the BPM 2005, Nancy, France.
[Mocan (ed.), 2005] Mocan (ed.), A. (2005). WSMX Data Mediation. WSMX Working Draft D13.3. available at:
http://www.wsmo.org/TR/d13/d13.3/v0.2/.
[Mocan et al., 2005] Mocan, A., Cimpian, E., Stollberg, M., Scharffe, F., and Scicluna, J. (2005). WSMO
Mediators. WSMO deliverable D29 nal draft 21 Dec 2005. available at: http://www.wsmo.org/TR/d29/.
[Scharffe and de Bruijn, 2005] Scharffe, F. and de Bruijn, J. (2005). A language to specify mappings between
ontologies. In Proc. of the Internet Based Systems IEEE Conference (SITIS05).
[Stollberg et al., 2006] Stollberg, M., Cimpian, E., Mocan, A., and Fensel, D. (2006). A Semantic Web Mediation
Architecture. In Proceedings of the 1st Canadian Semantic Web Working Symposium (CSWWS 2006),
Quebec, Canada.
[Wiederhold, 1994] Wiederhold, G. (1994). Mediators in the Architecture of the Future Information Systems.
Computer, 25(3):38-49.
SESA Tutorial
101
SUPER Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007 101
03.09.2007
References Mediation
[Cimpian and Mocan, 2005] Cimpian, E. and Mocan, A. (2005). WSMX Process Mediation Based on
Choreographies. In Proceedings of the 1st International Workshop on Web Service Choreography and
Orchestration for Business Process Management at the BPM 2005, Nancy, France.
[Mocan (ed.), 2005] Mocan (ed.), A. (2005). WSMX Data Mediation. WSMX Working Draft D13.3. available at:
http://www.wsmo.org/TR/d13/d13.3/v0.2/.
[Mocan et al., 2005] Mocan, A., Cimpian, E., Stollberg, M., Scharffe, F., and Scicluna, J. (2005). WSMO
Mediators. WSMO deliverable D29 nal draft 21 Dec 2005. available at: http://www.wsmo.org/TR/d29/.
[Scharffe and de Bruijn, 2005] Scharffe, F. and de Bruijn, J. (2005). A language to specify mappings between
ontologies. In Proc. of the Internet Based Systems IEEE Conference (SITIS05).
[Stollberg et al., 2006] Stollberg, M., Cimpian, E., Mocan, A., and Fensel, D. (2006). A Semantic Web Mediation
Architecture. In Proceedings of the 1st Canadian Semantic Web Working Symposium (CSWWS 2006),
Quebec, Canada.
[Wiederhold, 1994] Wiederhold, G. (1994). Mediators in the Architecture of the Future Information Systems.
Computer, 25(3):38-49.
SESA Tutorial
102 Seoul, 10 - 14 September
Semantic BPM Tutorial,
2007 ESWC 2007, Innsbruck, Austria, June 2007
54
Acknowledgements
SESA Tutorial
103 Seoul, 10 - 14 September
2007
55
Logics and Reasoning - SESA Tutorial
Darko Anicic
darko.anicic@deri.org
Introduction
Ontologies and Reasoning
Ontology Languages & WSML Agenda
IRIS Reasoner
Hands-on Session
DERI
56
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction
Ontologies and Reasoning
Ontology Languages & WSML Introduction
IRIS Reasoner
Hands-on Session
Ontology Denition
Introduction
Ontologies and Reasoning
Ontology Languages & WSML Introduction
IRIS Reasoner
Hands-on Session
Ontology Example
DERI
57
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction
Ontologies and Reasoning
Ontology Languages & WSML Introduction
IRIS Reasoner
Hands-on Session
Reasoning
Practical Reasons
Given key role of ontologies in e-Science and Semantic Web, it is essential to
provide tools and services to help users:
Design and maintain high quality ontologies, e.g.:
Meaningful - all named classes can have instances
Correct - captured intuitions of domain experts
Minimally redundant - no unintended synonyms
Richly axiomatised - (sufficiently) detailed descriptions
Store (large numbers) of instances of ontology classes, e.g.:
Annotations from web pages (or gene product data)
Answer queries over ontology classes and instances, e.g.:
Find more general/specific classes
Retrieve annotations/pages matching a given description59
Integrate and align multiple ontologies DERI
Ontology Languages
Requirements:
- Expressivity
knowledge representation and ontology theory support
Dimensions to Consider: Open vs. Closed World
Semantics, Classical vs. Default neg, performance etc.
- Reasoning support
sound (unambiguous, decidable)
support reasoners / inference engines (query answering,
classification, logical ent., consistency check...)
Semantic Web languages:
- Web compatibility 60
- Existing W3C Recommendations: XML, RDF, OWL DERI
62
DERI
hasFather(peter,john)
hasFather(john,michael)
grandchild(x)hasFather(x,y), hasFather(y,z),
Person(x).
Every person is a grandchild is not deducible due to closed
domain of interpretation!
Domain bounded to known objects: peter is a grandchild.
63
No tree model property required
DERI
Rules:
male(x) :- father(x).
female(x) :- person(x), male(x).
grandchild(x)hasFather(x,y), hasFather(y,z),
Person(x).
Facts:
person(joe), person(bill), father(joe)
Value Computation:
65
male(joe)
DERI
female(bill)
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Ontology Languages
Ontologies and Reasoning RDF (S)
Ontology Languages & WSML OWL
IRIS Reasoner First Order Logic
Hands-on Session WSML
Classical Negation
Rules:
male(x) :- father(x).
female(x) :- person(x), male(x).
grandchild(x)hasFather(x,y), hasFather(y,z),
Person(x).
Facts:
person(joe), person(bill), father(joe)
Value Computation: 66
male(joe) DERI
69
DERI
RDF(S) - Summary
OWL - Language
74
DERI
Querying knowledge
Is x an instance of C w.r.t. O? (in every model I of O, x I
CI )
Is <x,y> an instance of R w.r.t. O? (in every model I of O,
(x I , y I ) R I )
Knowledge base consistency
A KB K is consistent iff there exists some model I of K
All inference tasks reducible to KB satisfiability or concept
satisfiability w.r.t. a KB
77
DERI
OWL DL Architecture
78
DERI
Rationale of WSML
Variants of WSML
82
Figure: Variants of WSML
DERI
primitives
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Ontology Languages
Ontologies and Reasoning RDF (S)
Ontology Languages & WSML OWL
IRIS Reasoner First Order Logic
Hands-on Session WSML
84
DERI
WSML- Example
85
DERI
WSML-Core
Intersection of Description Logics and Horn Logic:
description logic programs
Features:
classes
attributes
binary relations
instances
classes and relation hierarchies
datatype and datatype predicates
Compatible with OWL
Some limitations in conceptual modeling of Ontologies:
no cardinality constraints
87
only "inferring" range of attributes
DERI
no meta-modeling
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Ontology Languages
Ontologies and Reasoning RDF (S)
Ontology Languages & WSML OWL
IRIS Reasoner First Order Logic
Hands-on Session WSML
Example WSML-Core
88
DERI
89
DERI
WSML-DL
Extension of WSML-Core capturing the Description Logic SHIQ(D)
entailment is decidable
close to DL species of Web Ontology Language OWL
many efficient subsumption reasoners (FaCT++, Pellet,
Racer)
Some limitations in conceptual modeling of Ontologies:
no cardinality constraints
only "inferring" range of attributes
no meta-modeling
Limitations in logical expressions: -From Logic Programming
point-of-view, there is a lack of:
n-ary predicates 90
chaining variables over predicates
DERI
(default) negation
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Ontology Languages
Ontologies and Reasoning RDF (S)
Ontology Languages & WSML OWL
IRIS Reasoner First Order Logic
Hands-on Session WSML
WSML-Flight
Example WSML-Flight
92
DERI
WSML-Rule
93
DERI
WSML-Full
94
DERI
Mission
WSML Goal
Efficient and extensible reasoning engine for expressive
rule-based languages: WSML Core/Flight/Rule.
Research Goal
Framework consisting of a collection of components which
cover various aspects of reasoning with formally represented
knowledge. Development of effective optimization algorithms as
well as memory and storage management strategies for
reasoning with large data sets. 95
DERI
Mission
WSML Goal
Efficient and extensible reasoning engine for expressive
rule-based languages: WSML Core/Flight/Rule.
Research Goal
Framework consisting of a collection of components which
cover various aspects of reasoning with formally represented
knowledge. Development of effective optimization algorithms as
well as memory and storage management strategies for
reasoning with large data sets. 96
DERI
Research Methodology
Architecture
98
DERI
99
DERI
100
DERI
Adornments
101
DERI
Supplementary Relations
103
DERI
Figure: Program
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
104
DERI
Magic Sets
Relational algebra
Compute relations for logical rules and evaluate them using
relational algebra operations [4].
Relational algebra expressions:
1 Take given relations as arguments and produce relations
as results;
2 Can be combined to form complex expressions;
3 Can be efficiently evaluated using RDBMS.
106
DERI
Rectification
Non-rectified rules:
q(a,X,Y) :- r(X,Y).
q(X,Y,X) :- r(Y,X).
Rectified rules:
q(U,V,W) :- r(V,W) & U=a.
q(U,V,W) :- r(V,U) & W=U. 108
DERI
Semi-Naive Algorithm
Computes the least fixed point of the equations to which it is
applied, with respect to the given EDB relations [5]:
for i := 1 to m do
Pi := ;
repeat
for i := 1 to m do
Qi := Pi ; //save old values
for i := 1 to m do
Pi := EVAL(pi , R1 ,...,Rk ,Q1 ,...,Qm );
until Pi = Qi for all i, 1im;
109
output Pi s
DERI
Algorithm
Computes the least fixed point based on incremental relations
for the IDB predicates [5]:
for i := 1 to m do
Pi := EVAL(pi , R1 ,...,,...,);
Pi := Pi ;
end;
repeat
for i := 1 to m do
Qi := Pi ; //save old Ps
for i := 1 to m do begin
Pi := EVAL-INCR(pi ,R1 ,...,Rk ,P1 ,...,Pm ,Q1 ,Qm );
Pi := Pi - Pi // Removes "new" tuples that actually appeared before
end
for i := 1 to m do
Pi := Pi Pi ; 110
until Pi = for all i; output Pi s
DERI
Figure: Semi-Naive
Darko Anicic
evaluation
SESA Tutorial - Logics and Reasoning
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
Negation
Handling Negation
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
1 Query optimization
2 Performance and scalability
3 Storage management
4 Support for function symbols
5 Wellfounded semantics implementation
DERI
112
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
DERI
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
http://sourceforge.net/projects/iris-reasoner
DERI
113
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
DERI
114
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction Introduction
Ontologies and Reasoning Evaluation Techniques
Ontology Languages & WSML The Magic-Sets
IRIS Reasoner The Bottom-Up Evaluation in IRIS
Hands-on Session
Thank you!
Questions, comments, suggestions please...
DERI
Introduction
Ontologies and Reasoning
Ontology Languages & WSML
IRIS Reasoner
Hands-on Session
1 Set up WSMT;
2 Browsing ontologies using WSMT GUI
3 Editing ontologies using WSML Text Editor
4 Execute a query;
DERI
115
Darko Anicic SESA Tutorial - Logics and Reasoning
Introduction
Ontologies and Reasoning
Ontology Languages & WSML
IRIS Reasoner
Hands-on Session
DERI
116
SESA Tutorial
www.deri.at www.wsmo.org/wsml
117
1. Installations and Configurations
In order to run the software JDK 6 is required. For your convenience, the CD
includes the installation file in the handson-day2\Software\Software
Requirements\Java folder.
Additionally it is necessary to set the JAVA_HOME environment variable to
point to the folder where the JDK 6 is installed. This variable can be setup in
the System Properties (tip: right-click on My Computer and select properties)
under the Advanced tab, see Figure 1.
118
1.3. WSML2Reasoner Configuration:
119
Check the wsml2reasoner folder in the left panel as it is shown on the picture
and press finish.
120
2. Browsing and Editing Ontologies using WSMT
After the WSMT is started, on the left side of WSMT GUI, the Navigator
view shows all the projects in your workspace. For this tutorial session, the
WSMT contains a few examples (i.e. the WSMO Ontologies, Web Services and
Goals) that can be use for better understanding of the WSMT functionality.
In the visualizer you will see the blue node at the centre that represents the
ontology contained within this WSML file. The other nodes in the
representation are concepts (yellow) and instances (red). The graph is
automatically layed-out using a spring layout algorithm; however, the
representation is fully interactive and by clicking on a node and dragging it
the representation can be moved to obtain the best layout.
Step 3. Manipulate the graph using the dragging feature to get the best
representation. If you do similar actions for the Simpsons ontology, you will
notice the clustering feature which nicely groups similar entities making the
whole graph much more readable.
The WSML Text Editor shows the contents of a WSML document, in the
WSML human readable syntax to the user with syntax highlighting, content
assistance and many other features that help advanced users who are
familiar with WSML to create and manage their WSML documents more
efficiently.
121
Step 1. Open the-simpsons-ontology.wsml with WSML Text Editor (right
click on the file and select Open with). Look into the structure of the files, all
keywords are highlighted. This editor comes with the auto-completion feature
which will suggest possible entries (press ctrl+space for suggestions).
Step 2. Open queries.txt with WSML Text Editor (right click on the file
and select Open with) where you can find a number of predefined queries for
the-simpsons-ontology.wsml.
Step 3. To find all the students and the principle of the school they attend,
copy a query no.1 from the file (or any other query you want to execute),
select the-simpsons-ontology.wsml in WSML Text Editor and paste it into
WSML-Reasoner View.
Step 4. Press Execute query button on the right-hand side of the WSML-
Reasoner View. You should see the following results:
122
3. Reasoning Examples Using Java API
(Creation and Execution)
Step 1. Create a java class in the sesa_workshop package (in the test folder
of the wsml2reasoner project) which will be used to implement all steps
required for using the reasoning services in WSML2Reasoner framework with
IRIS reasoner. The code from steps 2-10 (below) should be placed in this
class.
Step 2. Create and set up required WSMO4J factories (used to create WSMO
entities/objects such as: ontologies, logical expressions, terms of different
data types etc.). The following code sequence creates required factories:
/**
* Sets up factories for creating WSML elements
*/
private void setUpFactories() {
wsmoManager = new WSMO4JManager();
leFactory = wsmoManager.getLogicalExpressionFactory();
wsmlparser = Factory.createParser(null);
}
Step 2. The next step parses and loads an ontology to the reasoner. Once
the ontology is parsed, WSML2Reasoner creates WSMO4J representation of
the ontology and applies number of transformation and optimization steps.
Such ontology is stored in main memory of the entire system and is ready to
be used by IRIS for reasoning. Add the following code to load and parse an
ontology:
/**
* Utility Method to get the object model of a wsml ontology.
*
* @param ontologyFile
* location of source file (It will be attemted to be loaded from
* current class path)
* @return object model of ontology at file location
123
*/
private Ontology parseAndLoadOntology(String ontologyFile)
throws IOException, ParserException, InvalidModelException {
InputStream is = this.getClass().getClassLoader().getResourceAsStream(
ontologyFile);
try {
final TopEntity[] identifiable = wsmlparser
.parse(new InputStreamReader(is));
if (identifiable.length > 0 && identifiable[0] instanceof Ontology) {
System.out.println("Ontology parsed");
return (Ontology) identifiable[0];
} else {
System.out.println("First Element of file no ontology ");
return null;
}
} catch (Exception e) {
System.out.println("Unable to parse ontology: " +e.getMessage());
return null;
}
}
Step 3. In this step, a user may optionally print out the loaded ontology on
the console. Add the following java code to print an ontology out:
/**
* Prints out an ontology written in WSML
*
* @param o
* Ontology to be printed out
*/
private void printOntology(Ontology o) {
// Set up serializer
Serializer ontologySerializer = org.wsmo.factory.Factory
.createSerializer(null);
System.out.println("WSML Ontology:\n");
StringWriter sw = new StringWriter();
try {
ontologySerializer.serialize(new TopEntity[] { o }, sw);
} catch (IOException e) {
System.out.println("Unable to serialize ontology! ");
e.printStackTrace();
}
System.out.println(sw.toString());
System.out.println("--------------\n\n");
}
124
/**
* Get a reasoner
* @return Reasoner
*/
private WSMLReasoner getReasoner() {
Map<String, Object> params = new HashMap<String, Object>();
params.put(WSMLReasonerFactory.PARAM_BUILT_IN_REASONER,
WSMLReasonerFactory.BuiltInReasoner.IRIS);
// Register ontology
reasoner.registerOntology(o);
/**
* Executes a query.
* @param reasoner
* Reasoner which will execute the query
* @param o
* Ontology over which the query will be answered
* @param queryString
* WSML query represented as a string
* @return Result after the query evaluation
* @throws Exception
*/
private Set<Map<Variable, Term>> performQuery(WSMLReasoner reasoner,
Ontology o, String queryString) throws Exception {
LogicalExpression query = this.leFactory.createLogicalExpression(
queryString, o);
// Executes query request
Set<Map<Variable, Term>> result = reasoner.executeQuery((IRI) o
.getIdentifier(), query);
return result;
}
Step 7. When the reasoner computes result of a query (see previous step),
this result is represented as a map of terms bound with corresponding
variables. The map contains as many variables as a user set in the query. In
order to see computed results in console, the user may print them out using
the following code sequence:
/**
125
* Utility method to print out the query result
* @param result
* The query result
* @param o
* Ontology from which the result has been derived.
*/
private void printOutResult(Set<Map<Variable, Term>> result, Ontology
o) {
for (Map<Variable, Term> vBinding : result) {
for (Variable var : vBinding.keySet()) {
System.out.print(var + ": "
+ termToString(vBinding.get(var), o) + "\t ");
}
System.out.println();
}
System.out.println("Number of Results: " + result.size());
}
The above java code uses the following utility method for conversion of
WSMO4J representation of term to a string:
/**
* Utility method to convert a term to string.
* @param t
* Term to be converted to string.
* @param o
* Ontology which is the source of the term
* @return String representation of the term.
*/
private String termToString(Term t, Ontology o) {
VisitorSerializeWSMLTerms v = new VisitorSerializeWSMLTerms(o);
t.accept(v);
return v.getSerializedObject();
}
Step 8. In this step we will create a method for the overall program
execution. The method demonstrates the order (chronology) in which the
code created through steps 2-7 should be used.
/**
* This method demonstrates all steps required for answering a query
* using WSML2Reasoner framework and IRIS.
*
* @param ontologyLocation
* Location of Ontology
* @param query
* Query to be answered.
* @throws Exception
*/
public void runProgram(String ontologyLocation, String query)
throws Exception {
long t0_start = System.currentTimeMillis();
126
// Parse and load ontology
Ontology o = parseAndLoadOntology(ontologyLocation);
// Print ontology
printOntology(o);
/**
* The method offers queries to be used with the nobel.wsml ontology.
*
* @param queryNo
* Number of a query to be executed
* @return WSML query represented as string
* @throws Exception
*/
private static String createQuery(int queryNo) throws Exception {
ontLoc = "examples/the-simpsons-ontology.wsml";
//ontLoc = "examples/nobel.wsml";
// Choose a query:
switch (queryNo) {
case 1:
// To find all the students and the principle of the
// school they
// attend:
queryString = "?child[attends hasValue ?school] and
?principle[principleOf hasValue ?school]";
break;
case 2:
// To find out who is the reverant of the church that
// each character
// attends:
127
queryString = "?worshiper[worshipsAt hasValue
?church] and ?reverant[reverantOf hasValue ?church]";
break;
case 3:
// To find all the characters that Dan Castellanata
// does the voices
// for on the simpsons:
queryString = "?character[hasActor hasValue
dan_castellanata]";
break;
case 4:
// To find all actors who play characters of the
// opposite sex:
queryString = "?actor[hasGender hasValue
?actorgender] memberOf actor and ?character[hasGender
hasValue ?charactergender] memberOf character and
?character[hasActor hasValue ?actor] and ?actorgender
!= ?charactergender";
break;
case 5:
// Retrieve all things that are memberOf some other
// things:
queryString = "?x memberOf ?y";
break;
case 6:
// Retrieve all subjects (research areas) for which
// the Nobel prize
// is awarded:
queryString = "?x memberOf nobel_prize";
break;
case 7:
// Retrieve a list of countries that Nobel prize
// winners come from:
queryString = "?x memberOf country";
break;
case 8:
// Retrieve IDs of Nobel prize winners from South
// Korea:
queryString = "?winner[hasCountry hasValue
South_Korea]";
break;
case 9:
// Retrieve names of Nobel prize winners from South
// Korea:
queryString = "?winner[hasCountry hasValue
South_Korea] and ?winner[hasName hasValue
?winnerName]";
break;
case 10:
// Retrieve all Nobel prize winners who got the prize
// after 1950:
128
queryString = "?winners[hasYear hasValue ?year] and
?year > 1950";
break;
case 11:
// Retrieve all names of Nobel prize winners who are
// from South
// Korea and got the prize after 1950:
queryString = "?winner[hasName hasValue ?winnerName]
and "
+ "?winner[hasCountry hasValue South_Korea] and "
+ "?winner[hasYear hasValue ?year] and ?year >
1950.";
break;
case 12:
// Retrieve all names of Nobel prize winners who got
// the prize after
// 1950:
queryString = "?winner[hasName hasValue ?winnerName]
and " + "?winner[hasYear hasValue ?year] and ?year >
1950.";
break;
default:
throw new IllegalArgumentException(
"Please specify query number between 1 and
12!");
}
return queryString;
}
Step 10. Finally a user may call the program execution from the main
method of a java class using the code below. Particularly for this example,
the code sequence will call a query with the order number 3, execute this
query and print results out.
/**
* Query execution
* @param args
* none expected
*/
public static void main(String[] args) {
Test1 ex = new Test1();
try {
String query = createQuery(3);
ex.runProgram(ontLoc, query);
System.exit(0);
} catch (Throwable e) {
e.printStackTrace();
}
}
129
Leopold Franzens
Universitt Innsbruck
Omair Shafiq
Digital Enterprise Research Institute (DERI)
Innsbruck, Austria.
Agenda
Introduction to SESA
Hands-on Session
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
2 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
130
Semantic Execution Environment SEE
Mission
SEE Vision:
Provide guidelines, justifications and implementation
directions for an execution environment for Semantic Web
Services
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
3 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Goals:
Provide a WSMO testbed
Demonstrate the viability of using WSMO as a means to
achieve dynamic inter-operation of Web services
SEE Mission:
Create an execution environment capable of managing all
the aspects related to semantically enhanced Web
services, to enable their discovery, selection, mediation and
execution
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
4 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
131
Analogy - traditional software architecture versus
SOA
Traditional
Traditional approach
approach Service-Oriented
Service-Oriented
to
to software
software architecture
architecture Architecture
Architecture
Separate Specialist model Service-Oriented model
No Agility to repair your car even for trivial tasks Agility to repair cars quickly (next available
A Process that is duplicative and inefficient mechanic takes care)
Costly to operate and maintain keep many people A Process that is efficient
Cost effective to operate and maintain
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
5 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Why SOA?
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
6 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
132
SOA capabilities
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
7 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
8 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
133
Message from the Future
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
9 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Major Objectives
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
10 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
134
Objective 1
Moving from Software to Serviceware
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
11 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Objective 2
Moving from Syntax to Semantics
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
12 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
135
Central Hypothesis
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
13 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
14 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
136
Leopold Franzens
Universitt Innsbruck
WSMX
WSMX Introduction
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
16 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
137
WSMX Motivation
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
17 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
18 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
138
WSMX Usage Scenario - P2P
Message Message
WSMX SWS
ARCHITECTURE
Peer Peer
Message Message
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
19 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
20 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
139
Design Principles
Peer to Peer
interaction between equal partners (in terms of control)
Benefits of SOA
Better reuse
Build new functionality (new execution semantics) on top of
existing Business Services
Well defined interfaces
Manage changes without affecting the Core System
Easier Maintainability
Changes/Versions are not all-or-nothing
Better Flexibility
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
22 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
140
Service Oriented State
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
23 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Messaging
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
24 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
141
WSMX Architecture
Service
Service
Oriented
Oriented Messaging
Messaging
Architectures
Architectures
Application
Application
Management
Management
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
25 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Selected Components
Adapters
Parser
Invoker
Choreography
Process Mediator
Discovery
Data Mediator
Resource Manager
Reasoning
Vertical Services e.g. Security
Execution Management
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
26 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
142
Life cycle
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
27 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Adapters
Adapter Manager/Selector
Protocol Handler (Sync, Async)
Adapter Pool
Communication Manager
Security Manager
Inward Outward
UBL2WSML WSML2UBL
Listener
EDI2WSML WSML2EDI
RosettaNet2WSML WSML2RosettaNet
Metadata
Repository
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
28 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
143
Parser
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
29 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
WSMX uses
The SOAP implementation from Apache AXIS
The Apache Web Service Invocation Framework (WSIF)
WSMO service descriptions are grounded to WSDL
Both RPC and Document style invocations possible
Input parameters for the Web Services are translated from
WSML to XML using an additional XML Converter component.
Network
SOAP
XML XML Web
Mediated Invoker
Apache
AXIS Service
WSML Data Converter
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
30 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
144
Choreography
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
31 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Discovery
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
32 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
145
Discovery
Keyword-/ Classification-based
retrieve Service Filtering
Descriptions
efficient narrowing
Controlled Vocabulary of search space
Filtering
(relevant services
Resource Repository to be inspected)
(UDDI or other)
Semantic
Matchmaking
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
33 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Data Mediator
Ontology-to-ontology mediation
A set of mapping rules are defined and then executed
Initially rules are defined semi-automatic
Create for each source instance the target instance(s)
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
34 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
146
Design-time
Inputs
Source Ontology and Target Ontology
Features
Graphical interface
Set of mechanism towards semi-automatic creation of mappings
Capturing the semantic relationships identified in the process
Storing these mappings in a persistent storage
Output
Abstract representation of the mappings
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
35 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Design-time Phase
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
36 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
147
Design-time Phase - Approach, Decomposition and Mapping Context
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
37 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Inputs
Incoming data
Source ontology instances
Features
Completely automatic process
Grounding of the abstract mappings to a concrete language
WSML
Uses a reasoner to evaluate the mapping rules
MINS
Outputs
Mediated data
Target ontology instances
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
38 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
148
Ontology Mapping Language
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
39 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Ontology O1 Ontology O2
Person
Human - name
- name - age
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
40 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
149
Process Mediator
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
41 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
42 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
150
Resource Manager
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
43 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Reasoner
WSMO4J
validation, serialization and parsing
WSML2Reasoner
Reasoning API
mapping fromWSML to a vendor-neutral rule
representation
Contains:
Common API for WSML Reasoners
Transformations of WSML to tool-specific input data
(query answering or instance retrieval)
WSML-DL-Reasoner
Features:
T-Box reasoning (provided by FaCT++)
Querying for all concepts
Querying for the equivalents, for the children, for the
descendants, for the parents and for all ancestors of a
given concept
Mins Testing the satisfiability of a given concept with respect to
the knowledge base
Datalog + Negation + Function
Symbols Reasoner Engine Subsumption test of two concepts with respect to the
knowledge base
Features
Wrapper of WSML-DL to the XML syntax of DL used in the
Built-in predicates DIG interface
Function symbols
Stratified negation
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
44 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
151
System Entry Points
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
45 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
46 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
152
Generate Wrappers for Components
Registry of known
components
Discovery Choreography
Wrapper Wrapper
Communication
Manager
Wrapper
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
47 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Context Data
PROCESS CONTEXT
Registry of known
components
Communication
Manager
Wrapper
Choreography object
Mediated objects ,
Web Services entities
Errors
Exceptions
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
48 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
153
Event-based Implementation
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
49 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Execution Semantics
WSMX Managment WSMX Monitor WSML Editor Choreography Editor Mediator Editor
System Interface
Grounding
Component
Wrapper
Resource Manager Interface Reasoner Interface
Adapter n
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
50 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
154
Leopold Franzens
Universitt Innsbruck
WSMT
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
52 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
155
WSML Perspective
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
53 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
54 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
156
WSML Perspective: Editors & Views
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
55 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
56 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
157
WSML Perspective: Editors & Views
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
57 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
58 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
158
WSML Perspective: Editors & Views
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
59 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
WSML Text Editor
WSML Conceptual Editor
WSML Visualizer
Views
Navigator view
Problems view
WSML Reasoner
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
60 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
159
Abstract Mapping Language: Editors & Views
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
61 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
62 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
160
Abstract Mapping Language: Editors & Views
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
63 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
64 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
161
Abstract Mapping Language: Editors & Views
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
65 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
66 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
162
Abstract Mapping Language: Editors & Views
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
67 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Editors
AML Text Editor
AML Conceptual Editor
AML View Based Editor
Views
Concept 2 Concept View
Attribute 2 Attribute View
Concept 2 Attribute View
Attribute 2 Concept View
Status View
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
68 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
163
Conclusions
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
69 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Leopold Franzens
Universitt Innsbruck
164
Triple Space Technology
Space Based
Tuple Space Semantic Web (Triple) Web Service
Computing
Technology Technology + Ontologies Technology
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
72 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
165
Decoupling of Interaction
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
73 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
setPermissions,
createUser, deleteUser,
add, remove mediation rules createRole, deleteRole,
based on addUserToRole based on
- RDF Triples Named Graphs
- URIs Meta Graph
Mediation-check based on
- Templates
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
74 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
166
Triple Space Computing for Semantic Web Services
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
75 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Reviver
Reviver
Reviver
Reviver
Reviver
Reviver
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
76 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
167
Components Management of WSMX using TSC
Web Service Execution Environment (WSMX)
Interface Interface Interface Interface Interface Interface Interface
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
77 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Interface Interface Interface Interface Interface Interface Interface
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
78 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
168
TSC for inter-connecting multi WSMXs
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
79 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
80 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
169
TSC based External Communication in WSMX
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
81 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Goal
User
Web End User Execution
Service Tools Manager
SO
TS Kernel AP
c all
Composition Discovery
T ri
co ple S
ord pa
ina ce
tio
n
Communication
Selection
Manager
Other
Semantic Web
Applications
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
82 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
170
Leopold Franzens
Universitt Innsbruck
Hands-on Session
Use Case
Service Provider
Austrian Air
US Air
Oebb (Austrian Railways)
WSMX
Acting as middleware to bring together Clients and the
Virtual Travel Agency to find the best combination of
services for clients
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
84 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
171
Usecase Scenario
Austrian
Air
US
VTA
Virtual Travel Agency Air
OeBB
Austrian
Passenger Train
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
85 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Why WSMX ?
Discovery
Client/Passenger does not know which airline goes to his/her
destination
Which is the suitable option (i.e. train or flight)
Client/Passenger does not want to bound to one provider
Mediation
Client uses a different format of data than that of Airlines and
Train reservation Web Services
Client does not want to change the data format
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
86 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
172
Discovery Scenario
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
87 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
Mediation Scenario
Review computer science in InnsbruckTutorial on Semantically Enabled Service making semantics rea l.
88 Oriented Architectures (SESA)
10-14 September 2007, Seoul, Korea.
173
SESA Tutorial
www.deri.at www.wsmx.org
174
Installations and Configurations
1. WSMX installation:
1.1. Pre-installation:
Step2. Setup the environment variable JAVA_HOME and point it to where the java
has been installed (say c:\java).
1.1.2. Tomcat
Step 2. Run the startup.bat to start Tomcat and the shutdown.bat to stop Tomcat.
These files can be run from the command line or found at; C:\tomcat\bin
If the WSMX server page is visible, WSMX has been installed and running
successfully.
175
Note: WSMX is an ongoing development will have many updated versions in near
future. The latest versions of the WSMX can be downloaded from
http://www.wsmx.org/downloads.html
Step 4. On the left panel, right click on the server and open properties to set the
IP and ports. In this case, IP is localhost, HTTPport is 8080 and servlet port is 8050
Note: WSMT is an ongoing development will have many updated versions in near
future. The latest versions of the WSMT can be downloaded from
http://sourceforge.net/projects/wsmt
The end-point Web Services provides the implementation of Service Provider. We are
focusing the description and matchmaking of services. Therefore, the implementation
details of the end-point service as this is not our focus in this tutorial.
These implementation files are to be deployed on the tomcat server. Following steps
are to be followed:
Step 1. Go to \TOMCAT_HOME\webapps\axis\
Step 2. Put the end point web service code in the form of a java class in
CLASSNAME.jws file
Step 4. Open internet browser and type http://localhost:8080 (Please make sure
that tomcat is started on port 8081 to avoid any conflict with wsmx running). The
Apache tomcat server web console should be visible.
176
3. Browsing ontologies, goals and Web Service Descriptions in
WSMT
After the WSMT is started, on the left side of WSMT GUI, the Navigator view shows
all the projects in your workspace. For this tutorial session, the WSMT contains all
the WSMO Ontologies, Web Services and Goals needed to execute the use case in
the project called WSMO Tutorial. The workspace also contains some other WSML
examples that you can use to understand the WSMT functionality.
There are two main editors for viewing and manipulating WSMO descriptions in the
WSML formalism. These are the WSML Visualizer and the WSML Text Editor
and instructions for using them are provided in sections 3.1 and 3.2.
Step 1. Open The Simpsons project by clicking the plus on the left hand side of the
folder icon.
In the visualizer you will see the blue node at the centre that represents the ontology
contained within this WSML file. The other nodes in the representation are concepts
(yellow) and instances (red). The graph is automatically layed-out using a spring
layout algorithm however the representation is fully interactive and by clicking on a
node and dragging it the representation can be moved to obtain the best layout.
Step 3. Manipulate the graph using the dragging feature to get the best
representation.
The visualization provided in this editor is fully interactive and allows the user to edit
the WSMO Ontology, Web Service, Goal or Mediator being visualized. In the
following steps we will add a new concept, some attributes and an instance to the
Simpsons ontology. The concept that we shall add will represent the concept of a
public park and the instance will represent the park located in Springfield.
Step 4. Right click on the yellow concept node called place and choose Add Sub
Concept
Step 5. In the New Concept ID dialog enter public_park and select OK (NOTE: a
new concept node is added to the visualization).
The visualizer separates the complexities in the ontology into multiple levels, in order
to start manipulating the attributes of a concept we need to step down to the
concept semantic level. We do this by double clicking on a concept.
177
Step 6. Double click on the public_park concept node (NOTE: the view is
constrained to information about the selected concept).
Step 7. Right click on the public_park concept node and choose Add Attribute
Step 8. In the New Attribute ID dialog enter hasLocation and select OK (NOTE:
we now have an error in our ontology as the attribute hasLocation has no range).
Step 9. Right click on the brown hasLocation attribute node and choose Add
Attribute Range (Concept)
Step 10. In the Select a Concept dialog, expand the place concept in The
Simpsons Ontology, choose town and select OK. (NOTE: the error in the ontology
is now removed.
Now that we have created our concept and added an attribute we can create an
instance of that concept. Note that there are two attributes available for use on the
instance. The first is the hasLocation that we just created and the second is the
hasName attribute inherited from the place super concept of public park.
Step 11. Right click on the public_park concept again and choose Add
Instance
Step 12. In the New Instance ID dialog enter springfield_public_park and select
OK
Step 13. Double click on the new springfield_public_park instance node to move
to the instance semantic level.
We have created our instance, but we still need to assign values to the attributes of
the instance.
Step 15. Choose the hasLocation attribute from the public_park concept and
select OK. (NOTE: You will automatically be shown the Select an Instance dialog).
Step 16. Choose the Springfield instance from the town concept and select OK.
Step 18. Choose the hasName attribute from the place concept and select OK
(NOTE: You will automatically be shown the Specify a Data Value dialog).
Step 19. In the Data Value text field enter Springfield Public Park and select OK.
Step 20. Save the ontology by using the Ctrl-S shortcut or File Save.
The WSML Text Editor shows the contents of a WSML document, in the WSML human
readable syntax, to the user with syntax highlighting, content assistance and many
178
other features that help advanced users who are familiar with WSML to create and
manage their WSML documents more efficiently.
Step 22. Use the Ctrl-F shortcut to bring up the find dialog
You can now see the human readable syntax of the concept that we created in the
visualizer.
You can now see the human readable syntax of the instance that we created in the
visualizer.
Step 25. Browse the files located in the Examples project with the editor of your
choice and become familiar with the Ontologies, Web Services and Goals.
Step4: Go to Main view tab from the main menu of the web page. This page shows
the general system information like name of host computer, network IP address,
space address, information about other federated WSMX peers, startup time and
WSMX system uptime duration. It also provides the information about the underline
JVM being used, processor information as well as operating system details.
Step 5: Go to Service view from the main menu of the web page. Here it provides
different set of information.
179
3. Core listing provides the information about the attributes and methods of the
core services of WSMX, i.e. AxisAdapter, HTTP Adapter, SSHDaemon, WSMX
Kernel (the micro kernel) and XSLT Processor.
Step 6: Go to Component view from the main menu of the web page. Here it
provides the components deployed on the WSMX. In order to see the method listings
of the components, please revise the previous step (i.e. by going to the Server
view on the main menu of the page) and click on the component (in
Domain:component section).
Step 2: Load the two ontologies into the mapping tool, i.e. source ontology and
target ontology by clicking on in the Tool bar corresponding to the Source
ontology view and Target ontology view, respectively.
Select an item in source ontology. Please observe the suggestion made by the
tool. Go to the Status View situated in the bottom part of the application and
study the bases of this suggestion.
180
Map one item from the source with an item of the target by pressing in the Tool
bar. Please observe the updates in the view (either Concept2Concept,
Attribute2Attribute, Concept2Attribute, Attribute2Concept situated in the
bottom part of the application).
Step 1: Run the Web Service Execution Environment (WSMX) by going to the
WSMX-HOME and executing start.bat file. If WSMX is already running, this step is
not required.
Step 3: Click on the Server view tab from the main menu of the web page. Click on
the components:name=Keyword Discovery which shows the manageability
wrapper view of the component.
Step 4: Open the text from the WebServiceA.wsml and paste it in the input text box
of addWebServiceByContent method, and click its Invoke button. If you see the
message Web Service successfully registered means the test Web Service
description has been registered and stored in the WSMX.
Step 6: From Keyword Discovery directory, copy the content of Goal.wsml and paste
it into the input text box of discoverByGoalContent method, and press its invoke
button.
Step 4: A new window will open. Provide the host as localhost if WSMX is running
at the same machine. Provide HTTP port as 8081 and Axis port as 8050.
Step 5: A tree will appear with name of the WSMX server. Open that tree and
browse through the already stored Web Service descriptions, goals, mapping rules
and ontologies.
181
LightWeight DL (Description Logics) Discovery:
Step 6: Go to WSML perspective. On the navigation bar at left side, open the folder
Examples and sub folder Lightweight DL Discovery. Browse the .wsml files inside
the folder.
usair.wsml (US airways) that is assumed to fly from one US state to another
US state.
Step 9: Browse the ontology. In the Lightweight DL Discovery, the trip.wsml file
contains the ontology description. Analyze the ontology description.
Step 10: Observe the lower part of the right frame of WSML perspective. Open the
Discovery-View tab.
Step 11: In the section Included Web Services, open the tree root node named
example and tick the LightWeight DL Discovery node of the tree.
Step 12: On the top most part under the Discovery-View, a combo box is given that
contains the goals that are present in LightWeight DL Discovery folder.
Step 13: Select the Goal from the Combo Box titled as Choose Goal.
Step 14: Choose the Trip Goal and select DL as formalism, and press Discover.
You will see in the result table, all three Web Services, i.e. aua, usair and oeeb, as
the Goal Trip asks for all the services that are related to travel.
Step 15: Choose the TrainTrip Goal and select DL as formalism, and press
Discover. You will see in the result table, only the Web Service that is related to
train travel (i.e. oeeb) will be shown, as the Goal TrainTrip asks for all the services
that are related to travel by train only.
Step 16: Choose the PlainTrip Goal and select DL as formalism, and press
Discover. You will see in the result table, only the Web Service that is related to Air
travel (i.e. aua and usair) will be shown, as the Goal PlainTrip asks for all the
services that are related to travel by plain/air only.
182
Step 17: Choose the TrainTripIBK2VIE Goal and select DL as formalism, and press
Discover. You will see in the result table, only the Web Service that is related to
train travel (i.e. oeeb) will only be shown, as the selected Goal asks for all the
services that are related to train trip and from one Austrian location to another
Austrian location (i.e. within Austria), which are further sub-concepts of European
Places (ref. see Trips.wsml ontology).
Step 18: Choose the EUTrip Goal and select DL as formalism, and press Discover.
You will see in the result table, only the Web Service that is related to air travel and
travel within European Destinations (i.e. aua) will only be shown, as the selected
Goal asks for all the services that are related to air travel and within Europe.
Step 19: Choose the USTrip Goal and select DL as formalism, and press Discover.
You will see in the result table, only the Web Service that is related to air travel and
travel within US Destinations (i.e.usair) will only be shown, as the selected Goal asks
for all the services that are related to air travel and within US/NorthAmerica.
Step 20: Similarly, in the directory tree of Discovery-view, if you select the
LightWeight Rule Discovery, you can see the goals in the combo box (labeled with
Choose Goal) related to Rule based discovery only.
Step 21: Select the goals and click on Discover button, and see the results in the
table below there. On the left hand side frame of WSMT, see the folder named
LightWeight Rule Discovery and open, browse and analyze the simple Goal, Web
Service descriptions and Ontologies mentioned there, in order to under stand the
process of discovery.
Data Mediation:
Step 22: On the left frame the WSMT, open the folder named Virtual Travel Agency
Example. There are two ontologies related to model the travel from different
perspectives (i.e. users and service providers), have been provided, called as
travel1.wsml and travel2.wsml.
Step 23: Open the file mappings_demo.map in the same directory. When you
double-click on it, Data Mediator interface will be opened on the right side frame of
the WSMT.
Step 24: Observed already performed mappings between the source schema and
target schema, according to the guidelines provided above in the document, section
4.2 (getting familiarized with Data Mediator).
Step 25: You can select, update or delete the mappings by simply selecting the link
(line), source or target element.
183
Step 26: Select a source entity from the left side of the mapper and a destination
entity from the right side of the mapper. Click on the button in between the
source and target ontology trees, to perform the mapping.
Step 27: On top of both the source and target ontology trees, a set of two buttons
has been provided. The left button is used to go to view the higher level of
ontology, whereas the right button is used for viewing the selected concept only.
Step 28: Select a mapping rule and go to the Mapping perspective of WSMX.
Observe the concept2concept attribute2attribute concept2attribute attribute2concept
in the lower frame. Each of the view shows source attributes, target attributes and
condition (conditional expression) applied on the mapping.
184
Leopold Franzens
Universitt Innsbruck
SESA Tutorial
Day 4 Applications
& SUPER project
DERI Innsbruck
SESA Tutorial
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September 2007
Agenda
SESA Tutorial
2 Seoul, 10 - 14 September
2007
185
SESA Application Areas
Michael Stollberg
SESA Tutorial
3
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
SESA Tutorial
4 Seoul, 10 - 14 September
2007
186
Example 1
Virtual Internet Service Provider
a Virtual Internet Service Provider (VISP)
provides customized product bundles for specific client requests
chooses & aggregates offers from different suppliers
Aims
for cost efficiency, the operational workflow shall be automated
automation of supplier selection and product bundling
Problems
distributed actors (communication over the Web)
environment:
many suppliers
highly dynamic environment (new suppliers, changing offers)
heterogeneous I&C technologies in supply chain
different back-end systems (SAP, Biztalk, etc.)
heterogeneous information (ontology, data formats, etc.)
SESA Tutorial
5 Seoul, 10 - 14 September
2007
Client
VISP workflow
1. VISP receives client request
for specific product bundle
1. 3. 5. 2. best offer detection
o searches for adequate
offers from suppliers
VISP
o chooses and bundles best
offers
2. 4.
3. customer notification, product
selection, purchase order
Supplier Supplier 4. VISP executes purchase
order by interacting with
suppliers
5. purchase confirmation to
client
SESA Tutorial
6 Seoul, 10 - 14 September
2007
187
WSMO enabled Solution
Client
SESA Tutorial
7 Seoul, 10 - 14 September
2007
Example 2
EAI in Telecommunications (BT)
Wholesales B2B Gateway
Web-based gateway for integration of suppliers
aim: automation of supply chain management
SESA Tutorial
8 Seoul, 10 - 14 September
2007
188
BT Wholesales B2B Gateway
ebXML Messaging
conforming to BT Wholesale
Trading Partner ebXML BPSS
Testing
Trading Partner
Provisioning
B2B Gateway
Repair
Trading Partner
Billing
UK ISPs
SESA Tutorial
9 Seoul, 10 - 14 September
2007
SESA Tutorial
10 Seoul, 10 - 14 September
2007
189
WSMO-enabled Architecture
<wsml>
<wsml>
</>
Chor. Chor. </>
<wsml/>
Ontology Ontology <wsml/>
Process
Choreography Mediator Choreography
Adapter Adapter
SESA Tutorial
11 Seoul, 10 - 14 September
2007
SESA Tutorial
12 Seoul, 10 - 14 September
2007
190
Economical Results
Existing System:
current costs approximately 4 Person Months per partner for
integration
150 partners added to wholesale gateway in past 4 years
current costs approximately 1 million ( 1.45 million) per year
SESA Tutorial
13 Seoul, 10 - 14 September
2007
Michael Stollberg
SESA Tutorial
14
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
191
Acknowledgement & Copyrights
Material Preparation
KMI: John Domingue, Carlos Pedrinaci, Barry Norton
Poznan University: Agata Filipowska
IAAS (University of Stuttgart): Dimka Karastoyanova, Jrg
Nitzsche, Tammo van Lessen, Zhilei Ma, Frank Leymann,
Branimir Wetzstein
IDS Scheer: Sebastian Stein
DERI Austria: Michael Stollberg
DERI Ireland: Maciej Zaremba
SESA Tutorial
15
SUPER Seoul, 10 - 14 September
2007 15
03.09.2007
Project Information
192
The Consortium
SESA Tutorial
17 Seoul, 10 - 14 September
2007
Problem Setting
SESA Tutorial
18
SUPER Seoul, 10 - 14 September
2007 18
03.09.2007
193
Problem Setting
SESA Tutorial
19
SUPER Seoul, 10 - 14 September
2007 19
03.09.2007
Problem Setting
SESA Tutorial
20
SUPER Seoul, 10 - 14 September
2007 20
03.09.2007
194
Problem Setting
SESA Tutorial
21
SUPER Seoul, 10 - 14 September
2007 21
03.09.2007
195
Better Support Business Users
SESA Tutorial
23
SUPER Seoul, 10 - 14 September
2007 23
03.09.2007
SESA Tutorial
24
SUPER Seoul, 10 - 14 September
2007 24
03.09.2007
196
The Critical IT / Process Divide
SESA Tutorial
25
SUPER Seoul, 10 - 14 September
2007 25
03.09.2007
Aim of SUPER
SESA Tutorial
26
SUPER Seoul, 10 - 14 September
2007 26
03.09.2007
197
SUPER Technology Stack
Making sense of a domain\problem Solution maps
Communication tool Mind maps
What is it all about? Ad-hoc modelling
techniques
...
Booking
Receipt
Visualizing\specifying business process Business Scenario Maps
Service booking
Check
Call
Flight data booking Mrs. Miller
center
Booking
request
checked
Service
Booking
request
Alternative
flight Service
Usually multiple layers Flowchart techniques
offer
Flight
disposition
Mrs. Walker
Create
flight
booking
Client data
Offer
alternative
flight
Mr. Green
Flight
disposition
BPMN
Service
Plane
ticket
Flight
booking
created
Alternative
flight
offered
...
SESA Tutorial
27
SUPER Seoul, 10 - 14 September
2007 27
03.09.2007
Business Process
Management
Overview
Michael Stollberg
SESA Tutorial
28
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
198
BPMs Parents and Definition
Office Automation
(since 1980)
SOA CSCW / Groupware /
(since 2000) Workgroup Systems
Sebastian Stein
SESA Tutorial
30
SUPER Seoul, 10 - 14 September
2007 30
03.09.2007
199
BPM Enterprise Modeling
model of an enterprise
organisational structure
business functions
business processes
information
IT applications
Enterprise Model
Content
Load Content Ready for
Download
SYS
Sebastian Stein
SESA Tutorial
32
SUPER Seoul, 10 - 14 September
2007 32
03.09.2007
200
Enterprise Model
Content
Load Content Ready for
Download
SYS
Sebastian Stein
SESA Tutorial
33
SUPER Seoul, 10 - 14 September
2007 33
03.09.2007
Enterprise Model
Customer License
Content
Load Content Ready for
Download
SYS
SESA Tutorial
34
SUPER Seoul, 10 - 14 September
2007 34
03.09.2007
201
Enterprise Model
Customer License
License
Service
Content
Library
Service
SESA Tutorial
35
SUPER Seoul, 10 - 14 September
2007 35
03.09.2007
Enterprise Model
Sales
Customer License
Department
License
Service
Content
IT Department Library IT Department
Service
SESA Tutorial
36
SUPER Seoul, 10 - 14 September
2007 36
03.09.2007
202
Enterprise Model
Sales
Customer License
Department
License
Service
too complex
Identifier Available Digital
License
SYS Content
Content
IT Department Library IT Department
Service
SESA Tutorial
37
SUPER Seoul, 10 - 14 September
2007 37
03.09.2007
Enterprise Model
203
Business Process
Modeling & Execution
Michael Stollberg
SESA Tutorial
39
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
1. Analysis
gather requirements
document current state (as-is)
2. Design
document to-be
specify how to get there
3. Implementation/Execution
implement to-be in organisation and IT
change management
4. Control and Monitoring
monitor execution
measure outcome and analyse it
Sebastian Stein
SESA Tutorial
40
SUPER Seoul, 10 - 14 September
2007 40
03.09.2007
204
BPM Languages & Technologies
SESA Tutorial
41 Seoul, 10 - 14 September
2007
Two-Level Programming
Approach = Separation of
Control/business logic
discrete functionalities
Relies on earlier
Workflow Technology
Dimka Karastoyanova
SESA Tutorial
42
SUPER Seoul, 10 - 14 September
2007 42
03.09.2007
205
Dimensions in Workflow
Dimka Karastoyanova
SESA Tutorial
43
SUPER Seoul, 10 - 14 September
2007 43
03.09.2007
Workflow Languages
Industry has tried to get an agreement on a common Workflow language since early 1990s
Now the industry agreed on BPEL (thats why its interesting)
Portability
Interoperability
Frank Leymann, Joerg Nitzsche
SESA Tutorial
44 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 44
206
SOA in BPM
Dimka Karastoyanova
SESA Tutorial
45 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 45
207
Virtualizing Components
Virtual Component
Web
Service
(E)JB StP
... Assembly
Concrete Component
SESA Tutorial
Frank Leymann
47
SUPER Seoul, 10 - 14 September
2007 47
03.09.2007
Ingredients Of WSDL
Interface (What)
Supports
Port Type Operation
e )
Transport: ok pc Input, Output
o inv e, r
Formats & t g & Faults
w an
Protocols Ho xch
ce
(do
Hosts & How to encode Message
Binding (serialization)
Implements
Access
Specification
(How)
Implements
Provides
Port Service
Frank Leymann
Endpoints (Where)
SESA Tutorial
48
SUPER Seoul, 10 - 14 September
2007 48
03.09.2007
208
The Role of Bindings
SOAP/HTTP Port1
POJO/JMS Port2
Port
Binding
Client Type Port3
ASCII/SMTP
RDF/TSpace Port4
Portk
/
What is BPEL?
Frank Leymann
SESA Tutorial
50
SUPER Seoul, 10 - 14 September
2007 50
03.09.2007
209
BPEL Processes Use Web Services
Frank Leymann
SESA Tutorial
51 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 51
Frank Leymann
SESA Tutorial
52
SUPER Seoul, 10 - 14 September
2007 52
03.09.2007
210
Aggregating Web services
Frank Leymann
SESA Tutorial
53 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 53
Example
Frank Leymann
SESA Tutorial
54 Seoul, 10 - 14 September
2007
211
BPEL Elements
Control Logic
Link Activity
Zhilei Ma
SESA Tutorial
56
SUPER Seoul, 10 - 14 September
2007 56
03.09.2007
212
Data Manipulation
<assign>
<copy>
<from>$po/lineItem[@prodCode=$myProd]/amt * $exchangeRate</from>
<to>$convertedPO/lineItem[@prodCode=$myProd]/amt</to>
</copy>
</assign>
Process Engine
Deployment
Component
Navigator
Build Time Data
Monitoring
(Process models)
API
Instance Data
(Process Instances)
Event Manager
Execution Communication
History Manager
213
Process Lifecycle within the Engine
Receive*
Process
Instantiation
ment Framework
Process ...
Deployment
Definition
BPEL Engine
Joerg Nitzsche
SESA Tutorial
59
SUPER Seoul, 10 - 14 September
2007 59
03.09.2007
Semantic BEPL
Enhancing BPEL with WSMO
Michael Stollberg
SESA Tutorial
60
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
214
Idea & Approach
SESA Tutorial
61 Seoul, 10 - 14 September
2007
SESA Tutorial
62 Seoul, 10 - 14 September
2007
215
From Syntactic to Semantic BPEL
sBPEL
Process SESA WS
BPEL Environment
Process WSMO discovery
WS
Goal composition
WS mediation
execution WS
WS Goal
XML
Ontology Mediator
SESA Tutorial
63
SUPER Seoul, 10 - 14 September
2007 63
03.09.2007
Partner
Links
Partner 1 Partner 2
W 1
A
X 3
B C
2
Y
D
4
Z
SESA Tutorial
64
SUPER Seoul, 10 - 14 September
2007 64
03.09.2007
216
Semantic BPEL Business Protocols
Goal
Sets
Partner 1 Partner 2
W
{ } { } A
X
{ } B C
Y
{ } { } D
SESA Tutorial
65
SUPER Seoul, 10 - 14 September
2007 65
03.09.2007
Benefits
SESA Tutorial
66 Seoul, 10 - 14 September
2007
217
SUPER Architecture
Michael Stollberg
SESA Tutorial
67
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
Architecture Overview
Semantic Semantic
BPEL Execution
Execution Environment Modelling Monitoring Mining
Engine Tool Tool Tool
SUPER Execution
Environment SUPER Tooling
Composition
Semantic Business
Execution
Web Process
Discovery History
SUPER Services Library
platform
Mediation services
SUPER Repositories
Translation
SESA Tutorial
68
SUPER Seoul, 10 - 14 September
2007 68
03.09.2007
218
Deployment Process: Semantic Process
Artefacts Bundle (SPAB)
BPEL4SWS
WSDL
WSMO
WSDL
WSMO Mediators
WSMO
Goals
Deployment
descriptor
SESA Tutorial
69
SUPER Seoul, 10 - 14 September
2007 69
03.09.2007
Deployment Process
Semantic Semantic
BPEL Execution
Modelling Monitoring Mining
S PAB Execution Environment
Tool Tool Tool
Engine
SUPER Execution
Environment SUPER Tooling
Composition SUPER
platform Semantic Business
Discovery Execution
services Web Process
History
Mediation Services Library
219
Semantic Business Process Execution
SUPER Web
Mediation platform Service
services
4 Invoke Service
Request to
Service
1 6 Return Result
2 Achieve Goal
Demonstration Example
Michael Stollberg
SESA Tutorial
72
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
220
Content On Demand Scenario
Provider
sBEPL Process
(2) WSMO goals (4) execution
results
WS WS WS
SESA Tutorial
73 Seoul, 10 - 14 September
2007
SESA Tutorial
74
SUPER Seoul, 10 - 14 September
2007 74
03.09.2007
221
The Content Purchase Process
SESA Tutorial
75
SUPER Seoul, 10 - 14 September
2007 75
03.09.2007
BPMO plug-in
SESA Tutorial
76 Seoul, 10 - 14 September
2007
222
TIDs Purchase Digital Content Process
SESA Tutorial
77 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 77
Web
Client
SESA Tutorial
78 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 78
223
Content Purchase Process - Details
BPEL4SWS
Process
SESA Tutorial
79 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 79
SWS
SWS
SESA Tutorial
80 Seoul, 10 - 14 September
SUPER 03.09.2007 2007 80
224
Representation in BPMO
SESA Tutorial
81 Seoul, 10 - 14 September
2007
SUPER Web
Mediation platform Service
services
4 Invoke Service
Request to
Service
1 6 Return Result
2 Achieve Goal
225
Process Execution in SUPER
1 6
2 5
2 5 3 4
SESA Tutorial
83
SUPER Seoul, 10 - 14 September
2007 83
03.09.2007
<b4s:conversations>
<b4s:conversation b4s:name="Packager" b4s:goalURI="http://www.ip-super.org/ontologies/prereview#goalGetURL" />
<b4s:conversation b4s:name="LicenseServer" b4s:goalURI="http://irs.open.ac.uk/superPrereview#goalGetLicense" />
</b4s:conversations>
<sequence sa:modelReference="http://www.ip-super.org/ontologies/prereview#actServiceProvision">
<receive name="receiveContentRequest
sa:modelReference="http://www.ip-super.org/ontologies/prereview#recContentRequest"
partnerLink="ServiceProvider"
portType="spwsdl:ServiceProviderPortType" operation="requestContent"
variable="contentRequest" createInstance="yes" />
<flow sa:modelReference="http://www.ip-super.org/ontologies/prereview#actFlow_1">
<extensionActivity>
<b4s:invoke name="invokeGoalGenerateLicense"
modelReference="http://www.ip-super.org/ontologies/prereview#actInvokeGoalGenerateLicense"
b4s:inputVariable="contentRequest" b4s:outputVariable="contentURL"
b4s:conversation="Packager" />
</extensionActivity>
<extensionActivity>
<b4s:invoke name="invokeGoalGenerateURL"
modelReference="http://www.ip-super.org/ontologies/prereview#actInvokeGoalGenerateURL"
b4s:inputVariable="contentRequest"
b4s:outputVariable="contentLicense"
b4s:conversation="LicenseServer" />
</extensionActivity>
</flow>
<reply> </reply>
</sequence>
SESA Tutorial
84 Seoul, 10 - 14 September
2007
226
Process Description in BPEL4SWS
<b4s:conversations>
<b4s:conversation b4s:name="Packager" b4s:goalURI="http://www.ip-super.org/ontologies/prereview#goalGetURL" />
<b4s:conversation b4s:name="LicenseServer" b4s:goalURI="http://irs.open.ac.uk/superPrereview#goalGetLicense" />
</b4s:conversations>
<sequence sa:modelReference="http://www.ip-super.org/ontologies/prereview#actServiceProvision">
<receive name="receiveContentRequest
sa:modelReference="http://www.ip-super.org/ontologies/prereview#recContentRequest"
partnerLink="ServiceProvider"
portType="spwsdl:ServiceProviderPortType" operation="requestContent"
variable="contentRequest" createInstance="yes" />
<flow sa:modelReference="http://www.ip-super.org/ontologies/prereview#actFlow_1">
<extensionActivity>
<b4s:invoke name="invokeGoalGenerateLicense"
modelReference="http://www.ip-super.org/ontologies/prereview#actInvokeGoalGenerateLicense"
b4s:inputVariable="contentRequest" b4s:outputVariable="contentURL"
b4s:conversation="Packager" />
</extensionActivity>
<extensionActivity>
<b4s:invoke name="invokeGoalGenerateURL"
modelReference="http://www.ip-super.org/ontologies/prereview#actInvokeGoalGenerateURL"
b4s:inputVariable="contentRequest"
b4s:outputVariable="contentLicense"
b4s:conversation="LicenseServer" />
</extensionActivity>
</flow>
<reply> </reply>
</sequence>
SESA Tutorial
85 Seoul, 10 - 14 September
2007
SESA Tutorial
86
SUPER Seoul, 10 - 14 September
2007 86
03.09.2007
227
Process Response
SESA Tutorial
87
SUPER Seoul, 10 - 14 September
2007 87
03.09.2007
References
Michael Stollberg
SESA Tutorial
88
Copyright 2007 DERI Innsbruck www.deri.at Seoul, 10 - 14 September
2007
228
References BPM Foundations
[Herzum and Sims 2000] Herzum, P.; Sims, O. (2000): Business Component Factory. John Wiley
& Sons.
[McGovern et al. 2006] McGovern, J.; Sims, O.; Jain, A.; Little, M. (2006): Enterprise Service
Oriented Architectures. Springer, Dordrecht, Netherlands.
[Scheer et al. 2005] Scheer, A.-W.; Thomas, O.; Adam, O. (2005): Process modelling using
event-driven process chains. In: Dumas, M.; van der Aalst, W. M. P.; ter Hofstede, A. H. M.
(Eds.): Process-Aware Information Systems. Wiley, Hoboken, New Jersey, USA, pp. 119146.
[Smith and Fingar 2003] Smith, H.; Fingar, P. (2003): Business Process Management: The Third
Wave. Meghan-Kiffer Press, Tampa, FL, USA, 1st edition.
[Specht et al, 2005] T. Specht, J. Drawehn, M. Thrnert, and S. Khne. Modeling cooperative
business processes and transformation to a service oriented architecture. In 7th International
IEEE Conference on E-Commerce Technology, 2005.
[Teboul 2006] Teboul, J. (2006): Service Is Front Stage: Positioning Services for Value
Advantage. Palgrave Macmillan, New York, USA.
SESA Tutorial
89 Seoul, 10 - 14 September
2007
[BEPL 1.1] Andrews, T.; Curbera, F.; Dholakia, H.; Goland, Y.; Klein, J.; Leymann, F.; Liu, K.; Roller, D.; Smith,
D.; Thatte, S.; Trickovic, I.; Weerawarana S.: Business Process Execution Language for Web Services
(BPEL4WS) 1.1. Technical Report, OASIS, 2003.
[OASIS SOA] MacKenzie, C. M.; Laskey, K.; McCabe, F.; Brown, P. F.; Metz, R. : Reference Model for Service
Oriented Architecture 1.0. Technical Report, OASIS. 2006.
[Aalst et al., 2003] Wil M. P. van der Aalst, A. H. M. ter Hofstede, B. Kiepuszewski, and A. P. Barros: Workflow
Patterns. In Distributed and Parallel Databases, 14(3):551, July 2003.
[Mendling and Nttgens, 2006] J. Mendling and M. Nttgens. EPC Markup Language (EPML) - an xml-based
interchange format for event-driven process chains (EPC). In International Journal Information Systems and e-
Business Management (ISeB), 4(3):245263, July 2006.
[Wohed et al, 2002] P. Wohed, Wil M. P. van der Aalst, M. Dumas, and A. H. M. ter Hofstede. Pattern-based
analysis of BPEL4WS. Technical Report FIT-TR-2002-04, Queensland University of Technology, Brisbane,
Australia, 2002.
[Kopp et al, 2006] Oliver Kopp, Tobias Unger, and Frank Leymann. Nautilus event-driven process chains: Syntax,
semantics, and their mapping to bpel. In Proceedings of the 5th GI Workshop on Event-Driven Process
Chains (EPK 2006), pages 85104, Vienna, Austria, 2006.
[Manddell and McIllraith, 2003] Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic
Web: The Bottom-Up Approach to Web Service Interoperation. In Proceedings of the Second International
Semantic Web Conference (ISWC2003)
SESA Tutorial
90 Seoul, 10 - 14 September
2007
229