Professional Documents
Culture Documents
SOA Consortium
09 January 2009
Page 1
ModelPro
Provisioning
Engine
Uses
ModelPro (ModelDriven.org)
Open Source MDA Tools
Uses
SoaML Cartridge
for
JEE
Provisioning Profile
Application
le
nts
e
m
OMG SoaML
UML Profile
Deploy
Automates
Users SOA
Model
Provisioning Model
Uses
Manual
Platform
Application
Artifacts
UML Tool
Automated
Platform
Application & IDE
Artifacts
09 January 2009
Platform
Tools (E.G. Eclipse/Netbeans/.NET)
Page 2
Copyright 2009
Data& Access
SoaML Goals
Intuitive and complete support for modeling 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 modeling
Design by contract or dynamic adaptation of services
To specify and relate the service capability and its contract
No changes to UML
09 January 2009
Page 3
Supporters
88Solutions
Everware-CBDI
Adaptive
EDS
VisumPoint
Mega
BAE Systems
DERI University of Innsbruck
Capgemini
Fujitsu
DFKI
Hewlett-Packard
Oslo Software
MEGA International
SINTEF
MID GmbH
THALES Group
Rhysome
University of Augsburg
Softeam
Telelogic AB
09 January 2009
Page 4
Agility
TechnologySpecification
Specification
Technology
JMS,JEE,
JEE,Web
WebServices
Services
JMS,
WSDL,BPEL,
BPEL,XML
XMLSchema
Schema
WSDL,
Copyright 2009 Data Access
Line-Of-Sight
Customers
Logical
SystemModel
Model
Logical System
TechnologyServices
Services(t-SOA),
(t-SOA),
Technology
Costs
Components
Components
Interfaces,Messages
Messages&&Data
Data
Interfaces,
Platform
Platform
Computation
Specific Independent Independent
Model
Model
Model
MDA
Terms
09 January 2009
Page 5
09 January 2009
Page 6
Web Services
Test &
Simulation
OMB 300
Components
FEA/FTF
BRM
SRM
DRM*
Deployment
Data
Adapters
09 January 2009
Page 7
09 January 2009
Page 8
RIB Is a domain term meaningful to the user meaning Retirement Insurance Benefit
09 January 2009
Page 10
A
A participant represents
represents some
some party
party
that
provides
and/or
consumes
that provides and/or consumes
services.
services. Participants
Participants may
may represent
represent
people,
organizations
people, organizations or
or systems.
systems.
A
A service
service contract
contract is
is the
the specification
specification of the
agreement
agreement between
between providers
providers and
and consumers
consumers of
of
aa service
service as
as to
to what
what information,
information, products,
products,
assets,
assets, value
value and
and obligations
obligations will
will flow
flow between
between
them.
them. ItIt specifies
specifies the
the service
service without
without regard for
realization,
realization, capabilities
capabilities or
or implementation.
implementation.
09 January 2009
Page 11
Each
Each participant
participant is
is given
given aa swimlane
swimlane
which
contains
the
actions
which
actions carried
carried
out
out by
by that
that participant
participant within
within the
business
business process.
process.
The
The overall
overall behavior
behavior emerges
emerges as
as an
an
orchestration
orchestration of
of the
the actions
actions carried
carried out
out by
by
each
each of
of the
the participants.
participants. Interactions
Interactions with
with
participants
participants must
must be
be consistent
consistent with
with the
the
service
service contracts
contracts by
by which
which they
they interact.
interact.
09 January 2009
Page 12
The
The service contract defines the roles
roles to
to be
be played
played by
by
consumers
consumers and
and providers
providers of
of the
the service.
service. Many
Many service
service
contracts
contracts have
have only
only two
two roles,
roles, one
one aa consumer
consumer and
and one
one
aa provider.
provider. But
But any
any number
number are
are allowed.
allowed.
The
The service
service contract
contract also
also
defines
defines the
the connections
connections across
across
which
which roles
roles may
may interact.
interact.
09 January 2009
Page 13
Each
Each role
role in
in the
the contract
contract is
given
given aa lifeline
lifeline which
which acts
acts
as
as the
the source
source and
and target
target for
for
the
the sending
sending of
of messages.
messages.
Messages
Messages are
are modeled
modeled as
as
being
passed
via
being passed via calls
calls to
to
operations
operations on
on the
the interfaces
interfaces
to
the
roles.
to the roles.
Condition
Condition flows
flows can
can be
modeled
modeled using interaction
interaction
fragment
fragment constructs
constructs within
within
the
the sequence
sequence diagram.
diagram.
09 January 2009
Page 14
Note: Message information model has not been fully elaborated yet
09 January 2009
Page 15
The
The operations
operations used
used to
to
pass
messages
to
pass messages to aa role
role
are
are collected
collected into
into an
an
interface
for
that
interface for that role.
role.
The
The service
service interface
interface
realizes
realizes the
the interface
interface
of
of the
the provider
provider role
role
The
The service
service interface
interface
uses
uses the
the interface
interface of
of
the
the consumer
consumer role
role
A
A service
service interface
interface defines
defines the
the interface
interface and
and
responsibilities
responsibilities required
required for
for aa participant
participant to
to play
play
aa role
role in
in a service
service contract.
contract. ItIt is
is the
the means
means for
for
specifying
specifying how
how a participant
participant is
is to
to interact
interact to
to
provide
provide or
or consume a service according to the
contract.
contract. ItIt is
is modeled
modeled as
as aa UML
UML class.
class.
09 January 2009
Page 16
Participants
Participants are bound
bound
the
the specific
specific roles
roles they
play in the contract.
Participation
Participation in a service contract requires that the
participant
participant type
type have
have aa port
port with
with the
the corresponding
corresponding
service
interface.
A
port
is
a
connection
service interface. A port is a connection point
point for
for
providing
or
consuming
services.
providing or consuming services.
A
A request
request point
point is
is aa port
port for
for requesting
requesting
(consuming)
(consuming) aa service.
service. Note
Note that
that the
the sense
sense of
of
provided
provided and required interfaces is
is reversed
reversed at
at
aa request
request point:
point: The port requires
requires the
the provider
provider
interface
interface and
and provides
provides the
the consumer
consumer interface.
interface.
The
The relative
relative interface
interface dependencies
dependencies of
of the
the
request
request point
point and
and service
service point
point fit
fit
together
together to
to allow
allow a legal connection
between
between the
the service
service consumer
consumer and
and
provider.
provider.
A
A service
service point
point is a port for
providing
providing aa service.
service. The
The port
port
provides
provides the
the provider
provider interfaces
interfaces
and
and requires
requires the
the consumer
consumer
interface.
interface.
09 January 2009
Page 17
09 January 2009
Page 18
09 January 2009
Page 19
09 January 2009
Page 20
A
A customer is
is aa participant
participant
who
who is
is external
external to,
to, and
and
being
being served by, the
enterprise
enterprise carrying
carrying out
out the
the
business
business process.
process.
A
A worker
worker is
is aa participant
participant
who
who is
is internal
internal to
to the
the
enterprise
enterprise carrying
carrying out
out the
the
business
business process.
process.
The
The business
business process
process being
being
carried
carried out is defined by the
CIM-level
CIM-level services
services architecture,
architecture,
which
which defines
defines the
the process
process roles
roles
and
and desired
desired behavior.
behavior.
A
A system
system is
is aa participant
participant
that
that whose
whose responsibilities
responsibilities
are
are being
being automated
automated using
using
an
an IT
IT system.
system.
09 January 2009
Page 21
Participants
Participants at
at the
the PIM
PIM level
level can
realize
realize (one
(one or
or more)
more) participants
participants at
at
the CIM level. This indicates the
intended
intended way the PIM-level
participants
participants are
are to
to participate
participate in
in
various
various business processes.
processes. The
The
PIM-level
PIM-level participant model must
have
have ports
ports that conform
conform to
to all
all the
the
ports
ports of
of the
the CIM-level
CIM-level participant.
participant.
09 January 2009
Page 22
A participant
participant architecture
architecture is
is
aa services
services architecture
architecture that
that
defines
defines the
the implementation
implementation
of
of the
the responsibilities
responsibilities of a
participant
participant in some higherlevel
level architecture.
architecture.
The
The responsibilities
responsibilities for
for
providing
providing (or
(or consuming)
consuming) aa
service
service can
can be
be delegated
delegated to
to
an internal participant.
A
A PIM-level
PIM-level participant
participant may
may
have additional ports/interfaces
to
to those
those required
required by the CIMlevel
level participant being realized.
09 January 2009
Page 23
09 January 2009
Page 24
A
A service
service channel
channel connector
connector shows
shows how
how
a consumer is connected to providers of
services.
services. One
One end
end is
is always a request
point,
point, the
the other
other aa service
service point.
The
The PIM-level
PIM-level architecture
architecture may
may include
include
supporting
supporting participants
participants that
that do
do not
not
directly
directly play business roles in the CIMlevel
level business
business architecture model.
09 January 2009
Page 25
Technology Architecture
Business Concerns
Business Model
Business Services (b-SOA)
Roles, Collaborations & Interactions
Process & Information
Logical System Model
Technology Services (t-SOA),
Components
Interfaces, Messages & Data
Technology Specification
JEE, JMS, Web Services
WSDL, BPEL, XML Schema
Copyright 2009 Data Access
09 January 2009
Page 26
Custom Code
Etc.
Custom
part is
separate
from the
generated
part
Application Framework
Framework
Component
09 January 2009
Page 27
Application Provisioning
Platform technologies are provisioned from the model based on
the technology specified
XSD
WSDL
Application Server Configuration
Java Interfaces & Implementation
XSLT
IDE Project
SQL
Documentation
Tests
09 January 2009
Page 28
09 January 2009
Page 29
09 January 2009
Page 30
09 January 2009
Page 31
09 January 2009
Page 32
09 January 2009
Page 33
09 January 2009
Page 34
09 January 2009
Page 35
More Information
Cory Casanave cory-c (at) modeldriven.com
SoaML Web Page www.soaml.org
ModelPro (Open Source) www.ModelDriven.org
Model Driven Solutions www.ModelDriven.com
Cameo SOA+ from NoMagic soaplus.cameosuite.com
09 January 2009
Page 36