S
i oriented
i t d architecture
hit t
Modeling Language
(SoaML)
Tutorial @MOPAS2010, Athens, Greece
17th June 2010
Arne-Jrgen Berre, Dumitru Roman,
Brian Elvester, Cyril Carrez
SINTEF ICT
ICT
Agenda
SoaML introduction
Purpose and scope
SoaML in the context of MDA
Overview of main concepts
ServicesArchitecture, ServiceContract, ServiceInterface, ServiceCapability
Methodology
Methodology overview
Walkthrough of methodology around a Travel Agency
Break
Semantic extensions to SoaML
Semantic Web Service: Intro, WSMO/WSML
VTA use case and examples
Modelling SWS in SoaML
Examples
Dealer Network (SoaML spec)
Travel Agency (SHAPE tutorial) http://www.modeliosoft.fr/tutorials-fr/model-realise-soa-application-fr.html
ICT
SoaML introduction
Purpose
P
and
d scope
SoaML in the context of MDA
Overview of main concepts
Methodology
Semantic extensions to SoaML
ICT
SoaML history
2006, September
2007, June
2008 & 2009
2009, December
2010, March
OMG RFP
3 initial submissions
Merge process
SoaML 1.0 finished
SoaML 1.0 adopted by OMG
ICT
Issued September
29 2006
29,
LOI Deadline
November 28,
28 2006
SHAPE,...
Fujitsu,...
Initial Submission
Deadline June 4,
4 2007
S1(3)
Adaptive,...
S3(1)
Revised Submission
Deadline May 26, 2008
B1
S2(2)
Revised Submission
November 19, 2007
Revised Submission
Deadline Aug 25, 2008
S4
S5
Revised Submission
Deadline Nov 10, 2008
B2
ICT
UML
UML
Real-time
process generic
Meta-model
UML
For J2EE
real-time
model
M3
MOF
relationship
Migration oriented
process Meta-model
migration
model
M2
Workflow
Meta-model
Workflow
model
M1
ICT
ICT
http://www.omgwiki.org/SoaML/doku.php?id=specification
Known SoaML Tooling
Cameo SOA+ (NoMagic) UML with SoaML Modeling and Provisioning
ModelPro (ModelDriven.org) Open Source MDA provisioning for SoaML
Enterprise Architect (Sparx) SoaML Profile for UML tool
Objecteering (Softeam) SoaML Profile for UML Tool
RSA (IBM) UML tool with SoaML & code generation [Not yet released]
May 2009
ICT
ICT
Tools
UML modelling tool
Modelio Enterprise Edition
http://www.modeliosoft.com/download/downloads.html
http://www modeliosoft com/download/downloads html
S
SoaML Model example
p
Case Study SoaML Model project for Modelio
See www.shape-project.eu
ICT
10
SoaML Goals
Intuitive and complete support for modelling services in UML
Support for bi-directional asynchronous services between multiple parties
Support for Services Architectures where parties provide and use multiple
services.
Support for services defined to contain other services
Easily mapped to and made part of a business process specification
Compatibility with UML, BPDM and BPMN for business processes
Direct mapping to web services
Top-down, bottom up or meet-in-the-middle modelling
Design by contract or dynamic adaptation of services
p
y and relate the service capability
p
y and its contract
To specify
No changes to UML
ICT
11
SoaML Scope
Extensions to UML2.1 to support the following new modeling
capabilities:
Identifying
y g services
Specifying services
Defining service consumers and providers
Policies for using and providing services
Defining classification schemes
Defining service and service usage requirements and linking them to
related OMG metamodels, such as the BMM and BPMN 2.0.
ICT
12
ICT
13
Platform
In
ndependent
Model
Business Model
Goals (e-SOA)
Enterprise Services
Roles, Collaborations & Interactions
Process Policy
& Information
Customers
ICT
Line-Of-Sigh
ht
Platform
Specific
Model
Business Concerns
Computattion
Independ
dent
Modell
MDA
Terms
14
Service interface bi
bi-directional
directional service
Simple interface one-directional service
Message Type data exchanged between services
ICT
15
Order
Conformation
Provvider
C
Consumer
Shipped
Mechanics Are Us
Dealer
Acme Industries
Manufacturer
Consumer Status
Ship Req
Provider
Physical
Delivery
Consumer
Shipped
Provider
Delivered
GetItThere Freight
Shipper
ICT
16
ServiceContracts and
ServiceArchitectures Metamodel
ICT
17
ServiceContracts and
ServiceArchitectures Profile
ICT
18
Collaboration
19
ICT
20
Collaboration
10
CollaborationUse
ICT
21
ICT
22
CollaborationUse
11
CollaborationUse
Services architecture
23
Purchasing
service
Shipping
service
Ship
Status
service
purpose.
defines the requirements for the types of participants and service realizations that
ICT
24
12
Order Processing
Service
Accounting
Ship Req
Shipped
Delivered
ICT
25
Service contract
A ServiceContract:
Fully specifies the service (terms, conditions, interfaces, choreography, etc.)
is binding on both the providers and consumers of that service.
is defined using a UML collaboration that is focused on the interactions involved in
providing a service.
ICT
26
13
Service contract
Service
Contract
Role
within
service
Role
within
service
i
Service
interface
corresponding
to role
Information
processed by order
processor
type
type
Service
interface
corresponding
to role
Information
received by orderer
27
28
14
Participants
Participant
Participant
Participants:
represent logical or real people or organizational units that participate in services
ICT
29
30
15
ICT
31
ICT
32
16
ICT
33
ICT
34
17
35
This is the
business
process for the
RIB Claims
Processing
enterprise SOA
we saw earlier.
ICT
36
18
A Service port:
is the offer of a service by one participant to others using well defined terms,
ICT
37
ServiceInterfaces and
Participants Metamodel
ICT
38
19
ServiceInterfaces and
Participants Profile
ICT
39
ICT
40
20
Part
A part is an element that represents a set of one or more
instances which are owned byy a containing
g classifier
instance. So for example, if a diagram instance owned a
set of graphical elements, then the graphical elements
could be represented as parts; if it were useful to do so, to
model some kind of relationship between them. Note that
a part can be removed from its parent before the parent is
deleted, so that the part isn't deleted at the same time.
A part is shown as an unadorned rectangle contained
within the body of a class or component element.
ICT
41
Ports
A port is attached to an active class.
The port has:
A name
name.
An interface specifying the signals that can be received.
An interface specifying the signals that can be sent.
Two types of ports:
Connected to internal communication channels (by default).
Connected to the state machine for the class instance (a
behaviour port)
port).
In interface
Out interface
A behaviour port
ICT
42
21
Composite Structure
A composite structure diagram shows the relationship among internal
components of a class, in terms of communication paths.
The class may have one or more communications ports through which
signals can be sent or received.
The ports are connected either to:
Internal components
Channels connect the ports of the class to the ports of the
internal components.
Channels can be unidirectional ((one direction only)
y) or
bidirectional (both directions).
The state machine behaviour of the class (a behaviour port).
ICT
43
ICT
44
Composite Structure
22
ATM
User-Reader
port
:CardReader
ATM-bank
User-Screen
:Screen
User-Keyboard
:Keyboard
connector
:CashDispenser
User-Cash
ICT
45
BankContext
User-Reader
ATM-bank
:User
User-Screen
:Bank
:ATM
User-Keyboard
User-Cash
ICT
46
23
User-Reader
:User
[1..10000]
User-Screen
:ATM
[1..100]
ATM-bank
:Bank
User-Keyboard
User-Cash
47
ICT
48
Service interface
A ServiceInterface:
can ttype
pe a ser
service
ice port
port.
can specify a bi-directional service
A ServiceInterface is defined
from the perspective of the
service
i provider
id using
i th
three
primary sections:
provided and required Interfaces
ServiceInterface class
protocol Behavior.
24
49
50
25
Components
implement the
service
interfaces
providing the
link to systems.
Participants and
services may be
used in multiple
architectures.
51
Thiss co
component
po e is
s de
defined
ed as a
composition of other
components.
52
26
SoaML introduction
Methodology
Overview
Walkthrough of methodology for the Travel Agency
Business
Architecture
Model
(BAM)
CIMFlex
Flexible
Business
Model (CIM)
53
Business
Processes
Business Goals
Services
Architectures
Capabilities
Service Contracts and Choreographies
Model to Model (M2M)
System
Architecture
Model
(SAM)
Transformation
Service Interfaces
Interfaces
and Messages
Modelio
Business perspective on SOA
A
IT perspective on SOA
Information Semantics
Service
Choreographies
Service
Orchestrations
Software Components
Model to Text (M2T)
Transformation
CIM
PIM
PSM
ICT
Modelio
SoaM
ML Metho
odology
ICT
54
27
Business Architecture
Model (BAM)
Business
Architecture
Model
(BAM)
Business Goals
Information Semantics
Services
Architectures
Capabilities
Service Contracts and Choreographies
elements
Capabilities
community
ICT
55
A Travel Agency
g
y has some contact with Partner
Agencies which provide reservation for Flights,
Hotels, Cars, etc.
A Client can interact with the Travel Agency to:
Travel Agency
Cancel a Travel
Pay the Travel
Visa
ICT
Travel reservation
n facilities
Payment facillities
Reserve a Travel:
Flight, Flight+Hotel, Flight+Hotel+Car, etc.
Partner
Agency
56
28
Business
Architecture
Model
(BAM)
Business
Architecture
Modelling
Business Goals
Information Semantics
Services
Architectures
Capabilities
Service Contracts and Choreographies
Model to Model (M2M)
System
Architecture
Model
(SAM)
Transformation
Service Interfaces
Interfaces
and Messages
g
Service
Choreographies
Service
Orchestrations
Software Components
Model to Text (M2T)
PlatformSpecific
Model (PSM)
Transformation
CIM
PIM
PSM
ICT
Business Goals
Financial Optimization
Identifier: 04
Scope: strategic
IsC orporate: true
Kind: Qualitative
Requested Satisfaction: hard
Unit Of Measurement: net margin rate
G lV
Goal
Value:
l
8%
C urrent value: 3,5%
Problems: Personnel Reconversion
Source: C DC C eisar
(excerpt)
business plan
the elements of a business plan
Modelling steps:
Identify goals
Specify goals and their
relationships
Perform goal analysis linking the
goals to existing or potential new
business processes
57
<<part>>
<<part>>
<<part>>
Internet Access
C ash-flow management
<<part>>
ICT
58
29
Business Motivation
Model (BMM)
ICT
59
Information Semantics
Captures core terminology in dictionaries and explicitly specifies the
relations between terms.
Modelling steps:
Capture terms in dictionaries
Model explicitly terms and the relations between them
ICT
60
30
Focus on the business processes that enable the business goals to be met.
Public and collaborative business processes that involve interactions and potential usage of
software services between different business organizations.
Focus on the tasks that describe the interaction points between the business entities.
ICT
61
c : Client
[ye s]
[cance l]
browse travels
Client
Cancel Travel
[no ]
SelectTravel
t:T ra vel
PlaceOrder
confirmInterest
C ancel?
c :C l ient
EndEv ent
o:O rde r
[no ]
ta : TravelAgency
C ancelOrder
o :O rder
4 8 ho urs
initOrderFile
checkSolvency
C lientSolvable?
pa : PartnerAgency
b:B il ling
t:T ravel
CheckAvailability
o:O rde r
availability
vpc : VisaPaymentCenter
[ye s ]
Indicate Price
PlacesAvailable
oc :O rder
cancelTravel
ReservePlace
or:O rder
SendInvoice
b:B il ling
EndEvent
TravelAgency
g
y
i :I nvo ic e
reserveTravel
PartnerAgency
g
y
withdraw
solvency
VisaPaymentCenter
y
c :C lient
o:O rder
[no]
ta : TravelAgency
C ancelOrder
o:O rder
4 8 hours
[ye s]
Indicate Price
initOrderFile
checkSolvency
b:Billing
C lientSolvable?
C heckAvailability
o:O rder
PlacesAvailable
oc :O rder
ICT
ReservePlace
With
or:O rder
62
31
Capabilities [optional]
A capability identifies a
cohesive set of functions or
resources provided
id d b
by one or
more participants.
For large business
Modelling techniques:
Goal-service modelling
identifies capabilities needed
to realize business
requirements such as
strategies and goals.
Domain decomposition
uses activities in business
processes and other
descriptions of business
functions to identify
y needed
capabilities.
Existing asset analysis
mines capabilities from existing
applications.
ICT
63
specifies
ifi how
h
parts
t off that
th t participant
ti i
t work
k ttogether
th to
t provide
id the
th
services of the owning participant.
ICT
64
32
Participants
Service contracts.
ICT
65
c : Client
[ye s]
[cance l]
browse travels
t:T ra vel
PlaceOrder
confirmInterest
C ancel?
c :C l ient
t:T ravel
EndEv ent
o:O rde r
[no ]
ta : TravelAgency
C ancelOrder
o :O rder
4 8 ho urs
[ye s ]
Indicate Price
initOrderFile
checkSolvency
C lientSolvable?
b:B il ling
CheckAvailability
o:O rde r
availability
vpc : VisaPaymentCenter
Client
Cancel Travel
[no ]
SelectTravel
pa : PartnerAgency
Each
can
Each Pool
Pool can
be
be mapped
mappedtotoa
a Participant
Participant
PlacesAvailable
oc :O rder
cancelTravel
ReservePlace
or:O rder
SendInvoice
b:B il ling
EndEvent
TravelAgency
g
y
i :I nvo ic e
reserveTravel
PartnerAgency
g
y
withdraw
solvency
VisaPaymentCenter
y
c :C lient
o:O rder
[no]
ta : TravelAgency
C ancelOrder
o:O rder
4 8 hours
[ye s]
Indicate Price
initOrderFile
Interactions
between
Interactions
between
Pools
are categorised
as Service
Pools
are categorised
as
Contracts
Service
Contracts
checkSolvency
b:Billing
C lientSolvable?
C heckAvailability
o:O rder
PlacesAvailable
oc :O rder
ICT
ReservePlace
With
or:O rder
66
33
2. Identify Participants
<<ServicesArchitecture>>
TravelReservation
client
r3:Client
travelAgency
cd:ClientDefinition
visaAccounter
travelAgency
traveller
visaC enter
co:CardOperations
r:TravelAgency
r2:VisaPaymentCenter
ti:TravelInformation
tr:TravelReservation
traveller
to:TravelOrder
travelAgency
travelAgency
r1:PartnerAgency
partnerAgency
ICT
67
Service Contract:
Purpose
A service contract defines service specifications that define
the roles each participant plays in the service (such as provider and consumer) and
the interfaces they implement to play that role in that service.
service
Service contracts are part of one or more services architectures that define
how a set of participants provide and use services
for a particular business purpose or process.
ICT
68
34
Service Contract:
Modelling steps
Identify the service contracts
Analyse the BPMN diagrams to identify service contracts.
This is a design-choice
design choice as there is no single construct in the BPMN that
ICT
69
Service Contract:
Example
<<ServiceC ontract>>
TravelOrder
tra ve ller:
<<ServiceC ontract>>
TravelInformation
tra ve lle r:
<<interface>>
TravelOrder
cance lO rde r(in orde r : O rde r)
payO rde r(in cardDe tails : C ardDe tails)
cre ate O rde r(in trave l : Trave l, in clie nt : Clie nt):O rde r
<<interface>>
TravelInformation
ge tDe stinations():string[*]
ge tTrave ls(in de stina tion : string):Trave l[*]
ICT
70
35
interfaces.
ICT
71
System Architecture
Model (SAM)
System
Architecture
Model
(SAM)
Interfaces
and Messages
Service Interfaces
Service
Choreographies
Service
Orchestrations
Software Components
The SAM describes the overall architecture of the system at the PIM
level.
Represents the IT perspective of an SOA
It partitions the system into software components and interfaces.
ICT
72
36
System
Architecture
Modelling
Business
Architecture
Model
(BAM)
Business Goals
Information Semantics
Services
Architectures
Capabilities
Service Contracts and Choreographies
Model to Model (M2M)
System
Architecture
Model
(SAM)
Interfaces
and Messages
g
Transformation
Service Interfaces
Service
Choreographies
Service
Orchestrations
Software Components
Model to Text (M2T)
PlatformSpecific
Model (PSM)
Transformation
CIM
PIM
PSM
ICT
73
consumer
may include specific protocols, commands and information exchange
ICT
74
37
Service Interface:
Modelling steps
Define the service interfaces.
UML interface stereotyped ServiceInterface.
One-to-one mapping between service contracts and service interfaces.
service interface.
ICT
75
<<interface>>
TravelOrder
crea te O rder(in order : O rder):inte ger
cance lO rder(in orderId : inte ge r)
Service Interface
TravelOrderService
~TravelInformationService
<<interface>>
TravelInformation
ge tDe stinations():string[*]
ge tTrave ls(in de stina tion : [*] string):Sim ple Tra ve l
ge tTrave lInform a tion(in travelR e fe rence : Tra ve l):boole a n
TravelInformationService
ICT
76
38
providers.
Message types represent pure data that may be communicated between parties.
As pure data message types may not have dependencies on the environment, location
depending on, e.g. technology platform choices and whether the services at stake are
public external services or private internal services.
ICT
77
parameter
t and
d one response parameter
t that
th t are typed
t
d as message types.
t
Both message types and service data may have properties that can
be either modelled as UML properties or associated UML classes.
ICT
78
39
Destination
des tination
country : string=null
contine nt : string=null
Travel
travel
Flight
flightId : string=null
de pa rture : string=null
arrival : string=null
PartnerTravelAgency
na m e : string=null
travel
flight
travel
0 ..1
c arRental
ca te gory : string=null
nbP la ce s : inte ge r
re nte r : string=null
sta rtingDa te : Da te =null
travel
hotelBooking
CarRental
0 ..1
travel
Title : string=null
e ndingDa te : Da te =null
null
*
HotelBooking
e ndingDa te : Da te=null
ICT
79
Service Choreographies
[optional]
Specifies the behaviour of a service
interface.
r:trave lle r
Usefull
U
f ll ffor complex
l services.
i
Refinement of the service contract
behaviour of the BAM.
this:Trave lO rde r
cre ate O rde r( )
alt
[]
[]
payO rde r( )
cance lO rde r( )
ICT
80
40
components.
ICT
81
design-time components.
consumer).
ICT
82
41
client
r3:Client
<<ServicesArchitecture>>
TravelReservation
travelAgency
cd:ClientDefinition
visaAccounter
travelAgency
traveller
r:TravelAgency
visaCenter
co:CardOperations
r2:VisaPaymentCenter
ti:TravelInformation
tr:TravelReservation
traveller
to:TravelOrder
travelAgency
travelAgency
r1:PartnerAgency
partnerAgency
<<Participant>>
Travel Agency Architecture
i:We bSite
ClientDefinition
TravelInformation
:~TravelInform ationSe rvice
i1:Tra velEntity
CardOperations
:C a rdO pera tionsService
TravelOrder
b:~BillingSe rvice
OrderManagement
Billing
TravelReservation
:BillingSe rvice
i4:AccountingDe partm e nt
83
ICT
84
42
SoaML introduction
Methodology
Semantic extensions to SoaML
Semantic Web Service: Intro, WSMO/WSML
VTA use case and examples
Modelling SWS in SoaML
ICT
85
Invoke &
Monitor services
Publish service
description
Service
Description
Service
Enactment &
Monitoring
Service
Publishing
Service
Mediation
Service
Composition
Combine
services
Locate
services
Service
Discovery
Service
Negotiation &
Contracting
Choose
service, agree
on details
ICT
86
43
SEE TC
ICT
87
SEE TC
ICT
88
44
Semantic description
of Web Services:
Formally specified
terminology used
by all other
components
Capability (functional)
Interfaces (usage)
ICT
89
WSMO Ontologies
Objectives that a client wants to
achieve by using Web Services
Formally specified
terminology used
by all other
components
Semantic description
of Web Services:
Capability (functional)
Interfaces (usage)
ICT
90
45
Ontology Specification
Imported Ontologies: importing existing ontologies where no
heterogeneities arise
Used Mediators: OO Mediators (ontology import with terminology
mismatch handling)
Ontology Elements:
Concepts - set of concepts that belong to the ontology
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 the ontoloy (logical statement)
ICT
91
Book Instance
Implementing Semantic Web Services
- ISBN: 978-3540770190
Relation
Sold Books (Book, Publisher, integer)
Function
add (x, 5, 5)
ICT
92
46
Semantic description
of Web Services:
Formally specified
terminology used
by all other
components
Capability (functional)
Interfaces (usage)
ICT
93
Capability
Non-functional Properties
functional description
Client-service
interaction
interface for
consuming WS
- externallyy visible
behavior
- communication
structure
- Grounding
Web service
Implementation
(not of interest in Web
Service Description)
WS
WS
WS
Realization of
functionality by
aggregating
other WS
- functional
f
ti
l
decomposition
- WS
composition
94
47
Capability Specification
Preconditions:
Assumptions:
Conditions on the state of the world that has to hold before the Web service can be executed
Cannot be checked before Web service execution
Postconditions:
Describe the result of the Web Service, i.e. conditions on the output of the Web service
Specify what information a Web service has after execution of the Web service
Describe the relation between the input and the output of the Web service
Effects:
Conditions on the state of the world that hold after execution of the Web service (i
(i.e.
e
changes in the state of the world)
Describe real-word effects of the execution of the Web service
Cannot be checked after Web service execution
ICT
95
Capability
Functional description
of the Amazon Book
S lli S
Selling
Service
i
Precondition
Assumption
- enough money on
the bank account
Effect
- book is sent to the
consumer
- cc is charged
ICT
96
48
WSMO Goals
Objectives that a client wants to
achieve by using Web Services
Semantic description
of Web Services:
Formally specified
terminology used
by all other
components
Capability (functional)
Interfaces (usage)
ICT
97
Goal Motivation
Ontological de-coupling of requester and provider
Goal-driven
Goal driven approach
Requester formulates objective independently
Detect suitable Web services for solving the goal:
using intelligent mechanisms, i.e. automatic matchmaking
selecting pre-defined or cached Web services corresponding to the goal
Allows re-use of services for different purpose
goal automatically
ICT
98
49
ICT
99
Goal Specification
Imported Ontologies: importing existing ontologies where
no heterogeneities arise
Used Mediators:
OO Mediator: importing ontologies with mismatch resolution
GG Mediator:
Non-functional Properties
Requested
Req ested Capabilit
Capability
describes service functionality expected to resolve the objective
defined as capability description from the requester perspective
ICT
100
50
Capability
Functional description
off the
th book
b k buying
b i ttask
k
Precondition
Assumption
- enough money on
the bank account
Effect
Postcondition
ICT
101
Exact Match
G
WS
Plugin Match
G
WS
Subsumption Match
WS
Intersection Match
G
WS
No Match
ICT
102
51
WSMO Mediators
Objectives that a client wants to
achieve by using Web Services
Semantic description
of Web Services:
Formally specified
terminology used
by all other
components
Capability (functional)
Interfaces (usage)
ICT
103
/ level
occur between different components that shall interoperate
unavoidable in distributed & open environments like the Internet
ICT
104
52
ontology integration
mapping
merging
alignment
Functional Level:
mediate mismatches between Web service/Goal and Web Service/Goals
functionalities
Process/Protocol Level:
mediate heterogeneous Business Processes / Communication Patterns
ICT
105
Non-functional Properties
ICT
106
53
Target
defining the entity that is the target of the mediator
Mediation Service
the mediation service points to:
ICT
107
Mediator Structure
Source
Component
WSMO Mediator
uses a Mediation Service via
1 .. n
Source
Component
Target
Component
- a goal
- directly
- optionally including other mediation
Specification
p
layer
y
Implementation layer
Mediation
Services /
Mappings
ICT
108
54
ICT
109
OO Mediator Example
Book
gy ((s1))
Ontology
Purchase
Ontology (s2)
OO Mediator
Mediation Service
Goal:
merge s1, s2 and
s1.title subclassof s2.bookTitle
Book
Purchase Ontology
Discovery
Mediation
Services /
Mappings
ICT
110
55
WW Mediator
Web service Web service mediator
Enables interoperability of heterogeneous Web services
support automated collaboration between Web services
ICT
111
WW Mediator Example
Source
Web service
Selling novels
internal business
logic off Web
Service B
WW Mediator
W
internal business
logic of Web
Service A
Target
Web service
Selling books
WW Mediator
M di t
ICT
112
56
A
B
PM
Business
Partner1
A
B
Business
Partner1
A and B
Business
Partner2
PM
B
A
Business
Partner2
PM
A
B
Business
Partner2
Business
Partner1
A
B
PM
Business
Partner1
A
AckA
PM
Business
Partner2
A and B
A
Business
Partner2
ICT
113
SEE TC
ICT
114
57
ICT
ICT
58
Efficient
c e t que
querying
y g engines
e g es developed
de e oped for
o Datalog
ata og
Efficient subsumption reasoners developed in the area of Description
Logics
Inter-operation between the above two paradigms is achieved through
a common subset based on Description Logic Programs
ICT
ICT
59
WSML Variants
WSML Variants - allow users to make the trade-off between the
provided expressivity and the implied complexity on a perapplication
pp
basis
ICT
Simple ontological reasoning and query answering as well as logical entailment between
preconditions and p
p
postconditions of SWS and Goals
Both description logic-based and logic programmingbased reasoning is required.
Selection
Evaluation of the logical rules that are used to model the non-functional properties of services
Logic programmingbased reasoning is required.
Data mediation
Ontology mapping rules, source instances and source and target schema information are
loaded into the reasoning space where rules are evaluated in order to produce target instances.
Logic programmingbased reasoning is required.
Process Mediation
Reasoning is used to check whether messages are expected at the certain phase of the
communication.
Evaluation of transition rules is required.
ICT
120
60
SoaML introduction
Methodology
Semantic extensions to SoaML
Semantic Web Service: Intro, WSMO/WSML
VTA use case and examples
Modelling SWS in SoaML
ICT
121
ICT
122
61
Customer
Goal: automated resolution of the request by a user-friendly tourism service
Role:
R l end-user,
d
i t
interacts
t with
ith VTA for
f service
i usage, payment,
t and
d non-
computational assets (e.g. receiving the actual ticket when booking a trip)
VTA
Goal: provide high-quality end-user tourism services, uses existing tourism services
ICT
123
ICT
124
62
ICT
125
ICT
126
63
ICT
127
ICT
128
64
precondition: the input has to be the information about the buyer, a train trip that a ticket is to be purchased for, and
information on the passenger for whom the ticket shall be valid. To be valid input, the following restrictions are defined for
the trip: the start and end locations are restricted to stations in Austria or Germany; the departure date for the trip has to
be after the current date; and the payment method of the buyer has to be a credit card.
effect: the sold ticket is delivered to the buyer shipping address, either by a drop ship carrieror via online delivery.
ICT
129
ICT
130
65
SoaML introduction
Methodology
Semantic extensions to SoaML
Semantic Web Service: Intro, WSMO/WSML
VTA use case and examples
Modelling SWS in SoaML
ICT
131
Ontology Modeling
An Ontology is
a UML
package with
<<Ontology>>
O t l
Stereotype
SubConceptOf
relations are
represented via UML
generalization link
<<Ontology>> MediaOntology
A Concept is a
UML class with
<<Concept>>
Stereotype
<<Concept>>
Media
Price: float
Giftwrap:
boolean
MemberOf relations
are represented via
UML dependency
link with
<<memberOf>>
Stereotype
<<Concept>>
Disc
<<memberOf>>
<<Instance>>
Disk1
An Instance is
a UML class
with
<<Instance>>
Stereotype
yp
ICT
132
132
66
<<access>>
<<Ontology>> Music
<<Ontology>> MediaOntology
<<Relation>>
Authored
A Relation is a
UML class with
<<Relation>>
Stereotype
<<Concept>>
Disc
Date: dateTime
<<Concept>>
Artist
<<definedBy>>
?x memberOf Disc
implies neg ?x
memberOf Book
<<Axiom>>
DisjointAxiom
Relation
parameters can be
represented via
UML associations
or as attribute on
the class
133
ICT
133
A WebService is a SoaML
<<ServiceInterface>> linked
to a <<Capability>>
By a <<expose>>
dependency
p
y link
<<access>>
<<ServiceInterface>>
MediaStore
<<expose>>
<<Capability>>
MediaStoreCapability
<<postcondition>>
{definedBy ?x
memberOf Media}
ICT
134
67
Goal Modeling
<<Ontology>>
MediaOntology
A Goal is a SoaML
<<ServiceInterface>>
linked to a
<<Capability>>
By a <<use>>
dependency link
<<access>>
<<ServiceInterface>>
FindBook
<<use>>
<<Capability>>
FindBookCapability
<<postcondition>>
{definedBy ?x
memberOf Book}
Web Services and Goals are dual concepts in WSMO, one represent
the provided point of view, the other the requester. The SoaML
modeling of the Web Services and Goals reflects such dualism.
ICT
135
SWS Packaging
A <<SWSPackage>>
g
is used to group
elements belonging to
a SWS model
<<SWSPackage>>
MediaExample
<<Ontology>>
MediaOntology
<<SWSPackage>> has
the following attributes
(tagged values):
targetNamespace,
wsml-variant
<<access>>
<<access>>
<<ServiceInterface>>
MediaStore
<<ServiceInterface>>
FindBook
<<use>>
<<expose>>
<<Capability>>
MediaStoreCapability
<<Capability>>
FindBookCapability
136
ICT
136
68
Summary
SoaML
OMG standard for SOA
Various extensions available (e.g. SWS, Agents)
Tool support available (e.g. Modelio)
SoaML Methodology
Methodology steps for BAM and SAM
ICT
137
ICT
138
References
SoaML Wiki
http://www.omgwiki.org/SoaML/doku.php
p
g
g
p p
SHAPE project
http://www.shape-project.eu/
WSMO/L
http://cms-wg.sti2.org/
http://www.wsmo.org/
69
Thank you!
Q&A
Acknowledgements
SoaML and its various extensions have been developed in
the context of the SHAPE project
ICT
139
70