Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOA Modelling By Rajat Goyal.

Similar presentations


Presentation on theme: "SOA Modelling By Rajat Goyal."— Presentation transcript:

1 SOA Modelling By Rajat Goyal

2 Topics SOA SoaML Components
Service Contracts, Service Architecture and Capability Models Product Comparisons (Sparx EA - RSA – Visio)

3 What is SOA?

4 What is SOA? SOA is an architectural paradigm for defining how people, organizations, and systems provide and use services to achieve results.

5 SoaML (SOA Modelling Language)

6 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.

7 continued… 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

8

9 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

10 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

11 Service Interface A ServiceInterface is a UML Class and defines specific roles each participant plays in the service interaction «ServiceInterface»Place Order Service – this is the root of the service interface and represents the service itself – the terms and conditions under which the service can be enacted and the results of the service. The service interface may be related to business goals or requirements. This service interface is defined from the perspective of the provider of the service – the order taker. provider : Order Taker – this defines the role of the provider in the place order service. The provider is the participant that provides something of value to the consumer. consumer: Order Placer – this is the role of the consumer in the place order service. The consumer is the participant that has some need and requests a service of a provider. Order Taker – this is the interface for a place order service provider. This indicates all the operations and signals a providing participant may receive when enacting this service Order Placer – this is the interface for a place order service consumer. This indicates all of the operations and signals a consuming participant will receive when enacting the service.

12 continued… 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

13 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

14 Participant Participants represent software components, organizations, systems, or individuals that provide and use services.

15 continued… 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

16

17 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

18 Port 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.

19

20 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

21 Service Channel 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.

22

23 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

24 Message Type A MessageType is service data object that represents information exchanged between participant requests and services. Example of JAX-RPC vs JAX-WS Document Literal wrapped.

25 continued… 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.

26 Key components of a SoaML
Service Interface Participant Port Service Request Service Channel Message Type Exposure

27 Exposure 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

28 Capability 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 Ability to specify the behaviour of a participant that will realize or implement a ServiceInterface

29 continued… Specify behaviour via ServiceInterfaces and are realized by participants

30 Service Architecture 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. The services architecture puts a set of services in context and shows how participants work together to support the goals. Emphasis on roles as we haven’t defined yet, at this stage, for a participant, the type of party that fills the role. A role defines the basic function (or set of functions) that an entity may perform in a particular context.

31 continued… SA’s are represented using UML Collaboration

32 continued… SA of a participant – drill down one level

33 Service Contract A ServiceContract defines the terms, conditions, interfaces, and choreography that interacting participants must agree to for the service to be enacted; The choreography is a specification of what is transmitted and when it is transmitted between parties to enact a service exchange. Might link to activity diagrams, business process diagrams, interaction diagrams. Foundation of formal SLA Helps formalise requirements without constraining the how.

34 continued… Both participants utilise the same port

35 Participant Architecture

36 Comparison to RSA 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.

37 Comparison to 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

38 What EA doesn’t do? Windows native. External support available on other platforms?? Limited Governance Few SCM tools supported (generally enough for most organizations)

39 Questions?

40


Download ppt "SOA Modelling By Rajat Goyal."

Similar presentations


Ads by Google