Program Strategic pentru Promovarea Inovarii n Servicii prin
Educaie Deschis, Continu (INSEED)
POSDRU/86/1.2./S/57748 Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013 Program Strategic pentru Promovarea Inovarii n Servicii prin Educaie Deschis, Continu (INSEED) POSDRU/86/1.2./S/57748 Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013 Service Engineering and Management Service Engineering and Management Business Service Integration and Management Business Service Integration and Management Service oriented architecture Service oriented architecture Modeling Language Modeling Language Anca Daniela Ionita Universitatea Politehnica din Bucureti 2 Summary Services Reference Models OASIS Services Reference Model Service oriented architecture Modeling Language Capability Diagram Service Interface Diagram Service Contract Diagram Message Diagram Participants Diagram Services Architecture Diagram 3 OASIS Services Reference Model Reference architecture abstract architectural elements in the domain what is necessary for realizing these elements, independently of technology Principles value exchange between independent participants; stakeholders own resources; rules of engagement defined through policies and contracts. 4 Views Business via Services What SOA means for people SOA users, decision makers, architects, analysts Realizing SOA Requirements for constructing SOA Architects, analysts, decision makers Owning SOA Ownership and management Service providers, service consumers, decision makers 5 Models of the OASIS Reference Architecture 6 Summary Services Reference Models OASIS Services Reference Model Service oriented architecture Modeling Language Capability Diagram Service Interface Diagram Service Contract Diagram Message Diagram Participants Diagram Services Architecture Diagram 7 Service oriented architecture Modeling Language Service oriented architecture Modeling Language (SoaML) UML profile Object Management Group (OMG) specification and design of services 8 Basic Concepts 1/2 An agent represents an autonomous entity that can adapt to the environment and interact with it. A capability represents the ability to act and produce a result; it groups a coherent set of functions provided by a service. Collaboration is an extension of the UML concept, intended to describe Service Contracts and Services Architectures. Collaboration use shows how Service Contracts and Service Architectures are fulfilled. A consumer uses services without being necessarily known to the service provider. A milestone is used for depicting progress in behaviors. A participant may be a provider and / or a consumer of services. A provider is an entity that provides a service. 9 Basic Concepts 2/2 A request port is used by a Participant to make requests and consume services. A service is a resource that enables access to one or more capabilities, through an interface and a description of constraints and policies. A service channel is a communication path between a request port from a consumer and a service port from a provider. A service contract is a formalization of the exchange of goods and information between providers and consumers, with no regard for the service realization. A service interface is used for service or request ports, to define the responsibilities of a participant to provide or consume a service. A service operation post condition represents a real world effect. The service port is a connection point on a Participant, where a service is actually provided or consumed. 10 Capability Diagram functions called capabilities relationships between them, called links. specification of a service without regard for how that service might be implemented and subsequently offered to consumers by a Participant. 11 Example of Capability Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 12 Service Interface Diagram Service Interface Parts - roles played by the connected participants involved with the service (service provider / consumer). Relationships use link realization link expose link 13 Example of Service Interface Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 14 Service Contract Diagram Collaboration Indicates how the participants interact. Choreography Each role, or party involved in a Service Contract - defined by an Interface or Service Interface. 15 Example of Service Contract Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 16 Message Diagram Message types information exchanged between participant requests and services data passed into, and/or returned from, the invocation of an operation defined in a service interface. Internal structure Classes Data types 17 Example of Message Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 18 Participant Diagram Participant Ports features where services are offered or consumed. Service Port connected to a type that describes how to use it; a UML Provided Interface or a ServiceInterface. Request Port connected to a a UML Required Interface or a ServiceInterface. 19 Example of Participant Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 20 Services Architecture Diagram a set of participants that provide and use services for a particular business purpose or process a collaboration model roles typed by participants collaboration uses typed on service contracts 21 Example of Services Architecture Diagram Edited with Modelio 2.2.0, The Open Source modeling environment Example from SoaML Designer Users Guide 22 References The European e-Business Report 2008, 6th Synthesis Report of the Sectoral e-Business Watch NESSI Open Framework - Reference Architecture (NEXOF-RA) Project, Available: http://www.nexof-ra.eu/ OASIS, Reference Architecture for Service Oriented Architecture Version 1.0, Public Review Draft 1 (2008); http://docs.oasis- open.org/soa-rm/soa-ra/v1.0/soa-ra-pr-01.pdf OMG, Service oriented architecture Modeling Language (SoaML) Specification, v1.0.1, May 2012, Available at http://www.omg.org/spec/SoaML/1.0.1 J. Sommerville, Software Engineering, 8th Edition, Addison-Wesley, 2006 Andrey Sadovykh, SoaML Designer Users Guide, Version 1.0, Softeam, 02/06/2010