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

Post on 30-Mar-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?

top related