OMG SoaML (PowerPoint)

advertisement
OMG SoaML
Service oriented architecture Modeling Language
- UML Profile and Metamodel for Services
Tutorial introduction to SoaML
Arne J. Berre, SINTEF
OMG
Feb 9th, 2009
Object Management Group
The SoaML submission team
 Submitters
 Supporters
– 88Solutions
– Everware-CBDI
– Adaptive
– General Services Administration
– EDS
– VisumPoint
– Model Driven Solutions
– Mega
– BAE Systems
– Capgemini
– DERI – University of Innsbruck
– Fujitsu
– DFKI
– Fundacion European Software Institute
– France Telecom R&D
– Hewlett-Packard
– NKUA – University of Athens
– International Business Machines
– Oslo Software
– MEGA International
– SINTEF
– MID GmbH
– THALES Group
– Rhysome
– University of Augsburg
– Softeam
– Wilton Consulting Group
– Telelogic AB
SoaML Specification – Revised UPMS Submission
Object Management Group
Introduction to SoaML
concepts
SoaML Specification – Revised UPMS Submission
Object Management Group
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
SoaML Specification – Revised UPMS Submission
Object Management Group
Service
 Service is defined as an offer of value to another party, enabled by one
or more capabilities.
 Here, the access to the service is provided using a prescribed interface
and is exercised consistent with constraints and policies as specified by
the service contract. A service is provided by a participant acting as the
provider of the service—for use by others. The eventual consumers of
the service may not be known to the service provider and may
demonstrate uses of the service beyond the scope originally conceived
by the provider. [OASIS RM]
SoaML Specification – Revised UPMS Submission
Object Management Group
Business Focused SOA Using Model Driven Architecture
Business Concerns
Business Model
Enterprise Goals
Services (e-SOA)
Roles, Collaborations & Interactions
ProcessPolicy
& Information
Technology Specification
JMS, JEE, Web Services
WSDL, BPEL, XML Schema
SoaML Specification – Revised UPMS Submission
Line-Of-Sight
Customers
Logical System Model
TechnologyCosts
Services (t-SOA),
Components
Interfaces, Agility
Messages & Data
Refinement & Automation
Platform
Platform
Computation
Specific Independent Independent
Model
Model
Model
MDA
Terms
Object Management Group
Incorporating Legacy Analysis
SoaML Specification – Revised UPMS Submission
Object Management Group
Value derived from the architecture
Business Concerns
Component
Acquisition
Specification
OMB 300
FEA/FTF
BRM
SRM
DRM*
Web Services
OneGSA
GSABusiness
BusinessModel
Model
One
Business
Services
(b-SOA)
Goals (b-SOA)
Business Services
Roles,Collaborations
Collaborations&&Interactions
Interactions
Roles,
Process
&
Information
Policy
Process & Information
Customers
Logical
SystemModel
Model
Logical
System
Technology
Services
(t-SOA),
TechnologyCosts
Services (t-SOA),
Components
Components
Interfaces,
Messages&&Data
Data
Interfaces, Messages
Test &
Simulation
TechnologySpecification
Specification
Technology
Web
Services
Web Services
WSDL,BPEL,
BPEL,XML
XMLSchema
Schema
WSDL,
Components
Adapters
Deployment
Data
Business Driven Technology
Facilitating Business Processes
SoaML Specification – Revised UPMS Submission
Object Management Group
Focus on the Business Model
Business Concerns
Business Model
Business Services (e-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
SoaML Specification – Revised UPMS Submission
Object Management Group
SOA Marketplace Example
Order
Conformation
Shipped
Mechanics Are Us
Dealer
Acme Industries
Manufacturer
Status
Ship Req
Shipped
Physical
Delivery
Delivered
GetItThere Freight Shipper
SoaML Specification – Revised UPMS Submission
Object Management Group
Order
Conformation
Provider
Consumer
Marketplace Services
Shipped
Mechanics Are Us
Dealer
Consumer
Acme Industries
Manufacturer
Status
Ship Req
Shipped
Provider
Physical
Delivery
Provider
GetItThere Freight Shipper
SoaML Specification – Revised UPMS Submission
Delivered
Consumer
Object Management Group
Business Motivation Modeling
with BMM
SoaML Specification – Revised UPMS Submission
Object Management Group
Business Motivation Model (BMM) integration
• Business requirements can be captured using the OMG Business Motivation Model
(BMM).
• Any UML BehavioredClassifier including (for example a ServicesContract) may
realize the BMM Motivation concept of motivation realization. This allows services
models to be connected to the business motivation and strategy linking the
services to the things that make them business relevant.
SoaML Specification – Revised UPMS Submission
Object Management Group
BMM with MeansRealizations
SoaML Specification – Revised UPMS Submission
Object Management Group
Business Process Modeling
with BPMN
SoaML Specification – Revised UPMS Submission
Object Management Group
Capability Modeling with
SoaML capabilities
SoaML Specification – Revised UPMS Submission
Object Management Group
Modeling Services with Capabilities
 Capabilities model the service
contract combined with the capability
to provide it
 A network of capabilities helps to
identify and define services
 Capabilities can then be assigned to
participants
SoaML Specification – Revised UPMS Submission
Object Management Group
Service Architecture Modeling
with SoaML collaboration
models
SoaML Specification – Revised UPMS Submission
Object Management Group
Services Architecture
Ship
Status
service
Purchasin
g service
Shippin
g
service
A ServicesArchitecture (or SOA) is a network of participant roles providing and
consuming services to fulfill a purpose. The services architecture defines the
requirements for the types of participants and service realizations that fulfill those roles.
The services architecture puts a set of services in context and shows how participants
work together for a community or organization without required process management.
A community ServicesArchitecture is defined using a UML Collaboration.
SoaML Specification – Revised UPMS Submission
Object Management Group
Inside the Manufacturer
Order
Conformation
Shipped
Order Processing
Service
Accounting
Ship Req
Shipped
Delivered
SoaML Specification – Revised UPMS Submission
Object Management Group
Services architecture for a participant
ParticipantArchitecture is the high-level services architecture of a participant that defines
how a set of internal and external participants use services to implement the responsibilities
of the participant. A participant will also frequently have a business process.
SoaML Specification – Revised UPMS Submission
Object Management Group
Participants
Participant
Participants represent logical or real people or organizational units that
participate in services architectures and/or business processes. In SoaML
participants provide and use services, defining their external contract
SoaML Specification – Revised UPMS Submission
Participant
Object Management Group
Participants with ServicePoint and RequestPoint
Participant
Participant
RequestPoint – point
where the dealer uses the
purchasing service
SoaML Specification – Revised UPMS Submission
ServicePoint – point
where the manufacturer
offers the purchasing
service
Object Management Group
ServiceContract
A ServiceContract defines the terms, conditions, interfaces and choreography that
interacting participants must agree to (directly or indirectly) for the service to be enacted
- the full specification of a service which includes all the information, choreography and
any other “terms and conditions” of the service. A ServiceContract is binding on both
the providers and consumers of that service. The basis of the service contract is also a
UML collaboration that is focused on the interactions involved in providing a service. A
participant plays a role in the larger scope of a ServicesArchitecture and also plays a
role as the provider or user of services specified by ServiceContracts.
SoaML Specification – Revised UPMS Submission
Object Management Group
Service Contract
Service
Contract
Role within
service
Role within
service
Service
interface
corresponding
to role
Information
processed by order
processor
type
type
Service
interface
corresponding
to role
Information
received by orderer
The service contract specifies the details of the service – what information,
assets and responsibilities are exchanged and under what rules
SoaML Specification – Revised UPMS Submission
Object Management Group
Simple Protocol Choreography for Ordering Service Contract
SoaML Specification – Revised UPMS Submission
Object Management Group
Compound services
Compound Services are defined by using more granular
services to “build up” an enterprise scale service
type
type
Each composed service becomes a port on the service
interface
SoaML Specification – Revised UPMS Submission
Object Management Group
Real Example - Financial Management Enterprise Context
• The service-oriented business
architecture of an enterprise is
modeled as a Collaboration of
enterprise-level Participants.
This is the use of
A service contract
specification
SoaML Specification – Revised UPMS Submission
External enterprise
level participants
Our Focus
Object Management Group
Inside Financial Management
Service representing
delegated responsibility for
interaction with an external
participant.
Roles of
participants inside
of finance
SoaML Specification – Revised UPMS Submission
Service representing
interaction with another
participant within
Financial Management.
Object Management Group
A Composite Service Contract
Financial Management is
responsible for providing a
number of Acquisition
Accounting services.
SoaML Specification – Revised UPMS Submission
Object Management Group
Simple Bill Submission Service Contract
• A service contract is modeled as a
UML Collaboration.
• The required conversation may be
specified using an Owned Behavior
(e.g., Interaction or Activity)
Indicates ownership
Note that, while one Participant
requests the service and the other
responds, information may flow both
ways during the interaction.
First the submitter submits a bill to
the receiver…
…then either the bill is successfully
delivered or it is returned.
SoaML Specification – Revised UPMS Submission
Object Management Group
Process Activities Inside a Participant (Outside of SoaML)
• Workflow is modeled using
UML Activities.
Activity
Sent event
Received event
Information flow
SoaML Specification – Revised UPMS Submission
Object Management Group
Record Unfilled Customer Order Behavior
• Ultimately, behavior can be
specified using basic UML
Activity Diagrams.
Control flow
SoaML Specification – Revised UPMS Submission
Object Management Group
Information Modelling with
UML/(SoaML) class models
SoaML Specification – Revised UPMS Submission
Object Management Group
Information Model – For Messages and Entities
A term in the vocabulary
represents a class of
things to be described.
Entities may be
described as having
a unique identity.
A relation between terms is
described by an association
between classes.
Attributes specify
descriptive information
having simple types.
An un-shaded class is
not detailed on this
diagram.
This means “zero or more”
A class may be
specialized into subclassifications.
This indicates a compositional
(as opposed to referential)
association.
This means “one or more”
This is a constraint that
defines the sub-classification.
SoaML Specification – Revised UPMS Submission
Object Management Group
Integrating the Information Model with SOA
The process model describes how
business activities are (or are to be)
carried out.
Workflow
Business transaction
Activities
Implicit memory of
business information
State changes due to the activities
The information model details the
vocabulary of the business entities and
transactions used in the process model.
SoaML Specification – Revised UPMS Submission
Business transaction
Object Management Group
Service Modelling with SoaML
Port/Connector models
SoaML Specification – Revised UPMS Submission
Object Management Group
ServicePoints and Service Participants
A ServicePoint is the offer of a service by one participant to others using well defined
terms, conditions and interfaces. A ServicePoint defines the connection point through
which a Participant offers its capabilities and provides a service to clients.
A ServicePoint is a mechanism by which a provider Participant makes available
services that meet the needs of consumer requests as defined by ServiceInterfaces,
Interfaces and ServiceContracts. A ServicePoint is represented by a UML Port on a
Participant stereotyped as a «ServicePoint», .
SoaML Specification – Revised UPMS Submission
Object Management Group
ServiceInterface
a ServiceInterface can be the type of a
service port. The service interface has
the additional feature that it can specify a
bi-directional service – where both the
provider and consumer have
responsibilities to send and receive
messages and events. The service
interface is defined from the perspective
of the service provider using three
primary sections: the provided and
required Interfaces, the ServiceInterface
class and the protocol Behavior.
SoaML Specification – Revised UPMS Submission
Object Management Group
Participant with ServicePoint
A ServicePoint is the point of interaction on a Participant where a service. On a
service provider this can be thought of as the “offer” of the service (based on the
service interface). The ServicePoint is the point of interaction for engaging participants
in a service via its service interfaces.
SoaML Specification – Revised UPMS Submission
Object Management Group
Participant with ServicePoints and RequestPoints
The type of a RequestPoint is also a ServiceInterface, or UML Interface, as it is with a
Service point. The RequestPoint is the conjugate of a ServicePoint in that it defines the
use of a service rather than its provision. This will allow us to connect service providers
and consumers in a Participant.
SoaML Specification – Revised UPMS Submission
Object Management Group
Participants may be assemblies of other Participants
Participant
RequestPoint –
needs typed by
ServiceInterface
ServicePoint –
capabilities typed by
ServiceInterface
Participant part
SoaML Specification – Revised UPMS Submission
Object Management Group
Document and RPC Style service operation parameters
SoaML Specification – Revised UPMS Submission
Object Management Group
Agent and Milestones
 Agent
 Milestone
– autonomous entity
– defines a value of progress
– has its own lifecycle behavior
– attached to behavioral elements
– can adapt to the environment
– is used especially for dynamic
analysis of behavior that does not
necessarily end
•
also through modification of its
definition
SoaML Specification – Revised UPMS Submission
Object Management Group
Milestone
«Milestone»
Order <1>
«Milestone»
Order <0>
A Milestone is a means for depicting progress in behaviors in order to analyze liveness.
Milestones are particularly useful for behaviors that are long lasting or even infinite.
A Milestone can be understood as a “mythical” Signal. A mythical Signal is a conceptual
signal that is sent from the behavior every time a point connected to the Milestone is
passed during execution. The signal is sent to a conceptual observer outside the
system that is able to record the origin of the signal, the signal itself and its progress
value.
SoaML Specification – Revised UPMS Submission
Object Management Group
Mappings from SoaML to
technology representations
SoaML Specification – Revised UPMS Submission
Object Management Group
Technology Architecture
Business Concerns
One GSA/FMEA 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
SoaML Specification – Revised UPMS Submission
Object Management Group
Receivables Accounting Component Architecture
User of a consumed
service by multiple
internal parts.
SoaML Specification – Revised UPMS Submission
Object Management Group
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
SoaML Specification – Revised UPMS Submission
Object Management Group
Example Web Services Generation
<wsdl:portType name=“BillSubmission.BillSubmissionReceiverInterface">
<wsdl:operation name=“submitBill">
<wsdl:input message="tns:BillSubmissionCluster“
name=“billSubmission">
</wsdl:input>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name=“BillSubmission.BillSubmissionSubmitterInterface">
<wsdl:operation name=“notifyBillDelivered">
<wsdl:input message="tns:BillDeliveredCluster“
name=“billDelivered">
</wsdl:input>
</wsdl:operation>
<wsdl:operation name=“notifyBillReturned">
<wsdl:input message="tns:BillReturnedCluster“
name=“billReturned">
</wsdl:input>
</wsdl:operation>
</wsdl:portType>
SoaML Specification – Revised UPMS Submission
Object Management Group
Example Transaction Message XML Document
<BillSubmissionCluster>
<BusinessTransaction>
<transactionID> … </transactionID>
</BusinessTransaction>
<BillSubmission>
<bill>
<Bill>
<billID> … </billID>
<principleAmount> … </principleAmount>
…
<payer>
<Party>
<partyID> … </customerID>
</Party>
</payer>
…
<lineItems>
…
</lineItems>
</Bill>
</bill>
<billingAddress>
<BillingAddressCluster>
<Address> … </Address>
<BillingAddress> … </BillingAddress>
</BillingAddressCluster>
<billingAddress>
</BillSubmission>
</BillSubmissionCluster>
SoaML Specification – Revised UPMS Submission
Object Management Group
Implementation of service components
<provisioningContext name="service“…>
<projectRef folder="EjbClient"/>
<projectRef folder="AppClient"/>
<projectRef folder="Ejb"/>
<projectRef folder="ear"/>
<projectRef folder="JbossConfig"/>
</provisioningContext>
Note – stereotypes for provisioning are
not part of SoaML – this shows one way
to do it.
SoaML Specification – Revised UPMS Submission
Object Management Group
Implementation of service components
public class Asset_Completion_Establishment_ConsumerAsset_Completion_Establishment_Provider_InterfaceInternal {
… …
static public Document establish_asset_completion(Document request) throws CheckedException {
……
return
gov.gsa.fmea.Asset_Record_Manager.
Asset_Completion_Establishment_ProviderAsset_Completion_Establishment_Provider_InterfaceInternal.
establish_asset_completion(request);
}
SoaML Specification – Revised UPMS Submission
Object Management Group
Mapping – Classes
<Organization__Schema
identity=”http://ocfo.gsa.gov/fmea/organization/1”>
<Organization>
<approved>true</approved>
…
</Organization>
</Party__Schema>
<Party__Schema identity=”URI”>
<Party>
<party_id>ABC123<party_id>
<legal_address>
<Address>
<city>Vienna</city>
<state>VA</state>
</Address>
</legal_address>
<organizations>
<Organization__Item identity=”http://ocfo.gsa.gov/fmea/organization/1”/>
<Organization__Item identity=”…”/>
…
</organizations>
</Party>
</Party__Schema>
SoaML Specification – Revised UPMS Submission
Object Management Group
End result – this executes
Service representing
delegated responsibility for
interaction with an external
participant.
Roles of
participants inside
of finance
SoaML Specification – Revised UPMS Submission
Service representing
interaction with another
participant within
Financial Management.
Object Management Group
On this infrastructure
VPN
SAML
Https Web Service
Finance
Users
SAML
Identity
Management
FMS
FAS
FTP
Server
TIRES
Billing
Transactions
TIRES
Adapter
Vehicle
Master
Vehicle
Adapter
NEAR
AR
FMEA
Adapter
Server
Web
Service
JMS
IRIS
STAR
STAR
Adapter
JMS
FMEA
Integration
Server
PBS
Pegasys/
Momentum
Fixed Assets
Module
Pegasys/Momentum
Service
FMEA
Service
User
Interface
Service
Service
FMEA
Service
Work
Unit
Service
Service
Data
Manager
Logs
VPN
JMS
Session
Management
FMEA
Services
Server
SOA
JMS
Broker
IRIS
Adapter
Building
Data
Https:
Load
Balancer
FMEA Presentation Server
NEAR
Project
Data
SOA
Web
Service
Adapters
SAML
Https:
FMEA
DBMS
Server
FMEA
Data
SQL Net
Momentum
Adapter
* Any server may be clustered or combined
as required
GSA SecureNet/MultiNet Financial Network
SoaML Specification – Revised UPMS Submission
Object Management Group
Relating to other standards
 SoaML integration with BPMN 2.0 and BPDM will be related to the
ongoing BPMN 2.0 standardization
 Extensions for Agents and semantic services will also relate to
semantics, ontologies and other OMG metamodels like ODM and SBVR
 Limited BMM integration is included to tie services to the business
SoaML Specification – Revised UPMS Submission
Download