By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models...
-
Upload
dale-causey -
Category
Documents
-
view
216 -
download
0
Transcript of By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models...
![Page 1: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/1.jpg)
SOA Modelling
By Rajat Goyal
![Page 2: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/2.jpg)
SOA
SoaML Components
Service Contracts, Service Architecture and Capability Models
Product Comparisons (Sparx EA - RSA – Visio)
Topics
![Page 3: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/3.jpg)
What is SOA?
![Page 4: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/4.jpg)
SOA is an architectural paradigm for defining how people, organizations, and systems provide and use services to achieve results.
What is SOA?
![Page 5: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/5.jpg)
SoaML (SOA Modelling Language)
![Page 6: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/6.jpg)
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)
![Page 7: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/7.jpg)
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…
![Page 8: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/8.jpg)
![Page 9: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/9.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 10: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/10.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 11: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/11.jpg)
A ServiceInterface is a UML Class and defines specific roles each participant plays in the service interaction
Service Interface
![Page 12: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/12.jpg)
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…
![Page 13: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/13.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 14: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/14.jpg)
Participants represent software components, organizations, systems, or individuals that provide and use services.
Participant
![Page 15: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/15.jpg)
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…
![Page 16: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/16.jpg)
![Page 17: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/17.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 18: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/18.jpg)
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
![Page 19: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/19.jpg)
![Page 20: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/20.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 21: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/21.jpg)
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
![Page 22: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/22.jpg)
![Page 23: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/23.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 24: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/24.jpg)
A MessageType is service data object that represents information exchanged between participant requests and services.
Message Type
![Page 25: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/25.jpg)
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…
![Page 26: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/26.jpg)
Service Interface Participant Port
◦ Service◦ Request
Service Channel Message Type Exposure
Key components of a SoaML
![Page 27: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/27.jpg)
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
![Page 28: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/28.jpg)
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
![Page 29: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/29.jpg)
Specify behaviour via ServiceInterfaces and are realized by participants
continued…
![Page 30: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/30.jpg)
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
![Page 31: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/31.jpg)
SA’s are represented using UML Collaboration
continued…
![Page 32: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/32.jpg)
SA of a participant – drill down one level
continued…
![Page 33: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/33.jpg)
A ServiceContract defines the terms, conditions, interfaces, and choreography that interacting participants must agree to for the service to be enacted;
Service Contract
![Page 34: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/34.jpg)
Both participants utilise the same port
continued…
![Page 35: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/35.jpg)
Participant Architecture
![Page 36: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/36.jpg)
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
![Page 37: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/37.jpg)
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
![Page 38: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/38.jpg)
Windows native. External support available on other platforms??
Limited Governance
Few SCM tools supported (generally enough for most organizations)
What EA doesn’t do?
![Page 39: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/39.jpg)
Questions?
![Page 40: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)](https://reader037.fdocuments.us/reader037/viewer/2022102900/55189aa2550346c31f8b45fa/html5/thumbnails/40.jpg)