by rajat goyal. soa soaml components service contracts, service architecture and capability models...

40
SOA Modelling By Rajat Goyal

Upload: dale-causey

Post on 30-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)

What is SOA?

Page 4: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)

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)

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)
Page 9: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)

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)

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)

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)

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)

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)
Page 17: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)
Page 20: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)
Page 23: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Participant Architecture

Page 36: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

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)

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)

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)

Questions?

Page 40: By Rajat Goyal. SOA SoaML Components Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)