Upload
dale-causey
View
216
Download
0
Embed Size (px)
Citation preview
SOA Modelling
By Rajat Goyal
SOA
SoaML Components
Service Contracts, Service Architecture and Capability Models
Product Comparisons (Sparx EA - RSA – Visio)
Topics
What is SOA?
SOA is an architectural paradigm for defining how people, organizations, and systems provide and use services to achieve results.
What is SOA?
SoaML (SOA Modelling Language)
SoaML provides a standard way to architect and model SOA solutions using the Unified Modeling Language® (UML®).
Developed and maintained by OMG
The SoaML profile uses the built-in extension mechanisms of MOF and UML to define SOA concepts in terms of existing UML concepts.
SoaML (SOA Modelling Language)
SoaML can leverage Model Driven Architecture® (MDA®) to help◦ Map business and systems architectures◦ Chart technologies that support business
automation
SoaML supports both Top down and bottom-up development for SOA
continued…
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
A ServiceInterface is a UML Class and defines specific roles each participant plays in the service interaction
Service Interface
Name of the service
Service interactions through realized interfaces
A detailed specification describing◦ Capabilities and Obligations◦ Preconditions◦ Post conditions◦ Inputs and outputs◦ Exceptions that might be raised◦ Protocol or rules for using the service◦ Provider instructions for implementing the service◦ Success criteria
continued…
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
Participants represent software components, organizations, systems, or individuals that provide and use services.
Participant
A participant can be a Service Provider or a Consumer, which represents roles that a Participant plays in a relationship.
Internally a participant may specify a behaviour, a business process, or a more granular service contract as a Participant Architecture.
Participants interact in 3 ways – ◦ Method invocation◦ Event Handling◦ Delegation
continued…
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
Participants have ports!
Port is an interaction point where services are provided and consumed.
Port can have a Provider or a Request interface on it. The type of port determines the activity that it performs.
Port
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
Communication path between a request and a provider within an architecture.
A Request is compatible with, and may be connected to a Service through a ServiceChannel if: ◦ The Request and Service have the same type,
either an Interface or ServiceInterface. ◦ The type of the Service is a specialization or
realization of the type of the Request.
Service Channel
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
A MessageType is service data object that represents information exchanged between participant requests and services.
Message Type
Information in a message type is ◦ Data passed in Input or output or exception of
operation◦ Data in an Event Signal
A MessageType is in the domain or service-specific content.
continued…
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
Expose dependency is a relationship between a Service Interface and a Capability it exposes or that provides it.
The source of the Expose is the ServiceInterface, the target is the exposed Capability
Exposure
A Capability represents something a Participant needs or has to have in order to achieve its goals
Capabilities specify a cohesive set of functions that a participant might offer
Capability
Specify behaviour via ServiceInterfaces and are realized by participants
continued…
The services architecture is an extremely high-level view of how services work together for a purpose.
A ServicesArchitecture is a network of participating roles providing and consuming services to fulfil a purpose.
The services architecture may also have a business process / sequence , to define the tasks and orchestration for the architecture.
Service Architecture
SA’s are represented using UML Collaboration
continued…
SA of a participant – drill down one level
continued…
A ServiceContract defines the terms, conditions, interfaces, and choreography that interacting participants must agree to for the service to be enacted;
Service Contract
Both participants utilise the same port
continued…
Participant Architecture
RSA is eclipse based modelling platform and uses UML2
RSA does not support SysML
Richer support for SoaML
Both support model to model-to-model transformation
Both support round-tripping
EMF / UML2 provides a higher degree of UML conformance than EA's database-based data model.
Comparison to RSA
Visio stensil for UML (has non confirming UML constructs) for SoaML.
Validations for BPMN modelling is weak and portability is limited
Limited support for SCM (enterprise version supports sharing through sharepoint)
No support for Simulation
Comparison to Visio
Windows native. External support available on other platforms??
Limited Governance
Few SCM tools supported (generally enough for most organizations)
What EA doesn’t do?
Questions?