tutorial introduction to soaml arne j. berre, sintef

57
OMG Feb 9 th , 2009 OMG SoaML Service oriented architecture Modeling Language - UML Profile and Metamodel for Services Tutorial introduction to SoaML Arne J. Berre, SINTEF

Upload: duaa

Post on 01-Feb-2016

87 views

Category:

Documents


3 download

DESCRIPTION

OMG SoaML Service oriented architecture Modeling Language - UML Profile and Metamodel for Services. Tutorial introduction to SoaML Arne J. Berre, SINTEF. Submitters 88Solutions Adaptive EDS Model Driven Solutions Capgemini Fujitsu Fundacion European Software Institute - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorial introduction to SoaML Arne J. Berre, SINTEF

OMGFeb 9th, 2009

OMG SoaMLService oriented architecture Modeling Language

- UML Profile and Metamodel for Services

Tutorial introduction to SoaMLArne J. Berre, SINTEF

Page 2: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

The SoaML submission team

Submitters

– 88Solutions

– Adaptive

– EDS

– Model Driven Solutions

– Capgemini

– Fujitsu

– Fundacion European Software Institute

– Hewlett-Packard

– International Business Machines

– MEGA International

– MID GmbH

– Rhysome

– Softeam

– Telelogic AB

Supporters

– Everware-CBDI

– General Services Administration

– VisumPoint

– Mega

– BAE Systems

– DERI – University of Innsbruck

– DFKI

– France Telecom R&D

– NKUA – University of Athens

– Oslo Software

– SINTEF

– THALES Group

– University of Augsburg

– Wilton Consulting Group

Page 3: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Introduction to SoaML concepts

Page 4: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

SoaML Goals

Intuitive and complete support for modeling services in UML

Support for bi-directional asynchronous services between multiple parties

Support for Services Architectures where parties provide and use multiple services.

Support for services defined to contain other services

Easily mapped to and made part of a business process specification

Compatibility with UML, BPDM and BPMN for business processes

Direct mapping to web services

Top-down, bottom up or meet-in-the-middle modeling

Design by contract or dynamic adaptation of services

To specify and relate the service capability and its contract

No changes to UML

Page 5: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Service

Service is defined as an offer of value to another party, enabled by one or more capabilities.

Here, the access to the service is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service contract. A service is provided by a participant acting as the provider of the service—for use by others. The eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider. [OASIS RM]

Page 6: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Concerns

Goals

Policy

Customers

Costs

Agility

Technology SpecificationJMS, JEE, Web Services

WSDL, BPEL, XML Schema

Technology SpecificationJMS, JEE, Web Services

WSDL, BPEL, XML Schema

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

Business Focused SOA Using Model Driven Architecture

Business ModelEnterprise Services (e-SOA)

Roles, Collaborations & InteractionsProcess & Information

Business ModelEnterprise Services (e-SOA)

Roles, Collaborations & InteractionsProcess & Information

Refin

emen

t & A

uto

matio

n

Lin

e-Of-S

igh

tC

om

pu

tati

on

Ind

epen

den

tM

od

el

Pla

tfo

rmIn

dep

end

ent

Mo

del

Pla

tfo

rmS

pec

ific

Mo

del

MDATerms

Page 7: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Incorporating Legacy Analysis

Page 8: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Value derived from the architecture

Business Concerns

Goals

Policy

Customers

Costs

Technology SpecificationWeb Services

WSDL, BPEL, XML Schema

Technology SpecificationWeb Services

WSDL, BPEL, XML Schema

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

One GSA Business ModelBusiness Services (b-SOA)

Roles, Collaborations & InteractionsProcess & Information

One GSA Business ModelBusiness Services (b-SOA)

Roles, Collaborations & InteractionsProcess & Information

ComponentAcquisition Specification

Web Services

Test &SimulationOMB 300

FEA/FTFBRMSRMDRM*

Business Driven Technology

Facilitating Business Processes

Adapters

Components

DataDeployment

Page 9: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Focus on the Business Model

Business Concerns

Technology SpecificationJEE, JMS, Web Services

WSDL, BPEL, XML Schema

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

Business ModelBusiness Services (e-SOA)

Roles, Collaborations & InteractionsProcess & Information

Page 10: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

SOA Marketplace Example

Order

Conformation

Ship Req

Shipped

Shipped

PhysicalDelivery

Delivered

Status

GetItThere Freight Shipper

Mechanics Are UsDealer

Acme IndustriesManufacturer

Page 11: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Marketplace Services

Order

Conformation

Ship Req

Shipped

Shipped

PhysicalDelivery

Delivered

Status

Provider

Consumer

ProviderC

onsu

mer

Consumer

Provider

GetItThere Freight Shipper

Mechanics Are UsDealer

Acme IndustriesManufacturer

Page 12: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Motivation Modeling with BMM

Page 13: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Motivation Model (BMM) integration

• Business requirements can be captured using the OMG Business Motivation Model (BMM).

• Any UML BehavioredClassifier including (for example a ServicesContract) may realize the BMM Motivation concept of motivation realization. This allows services models to be connected to the business motivation and strategy linking the services to the things that make them business relevant.

Page 14: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

BMM with MeansRealizations

Page 15: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Process Modeling with BPMN

Page 16: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Capability Modeling with SoaML capabilities

Page 17: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Modeling Services with Capabilities

Capabilities model the service contract combined with the capability to provide it

A network of capabilities helps to identify and define services

Capabilities can then be assigned to participants

Page 18: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Service Architecture Modeling with SoaML collaboration models

Page 19: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Services Architecture

A ServicesArchitecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. The services architecture defines the requirements for the types of participants and service realizations that fulfill those roles.

The services architecture puts a set of services in context and shows how participants work together for a community or organization without required process management.A community ServicesArchitecture is defined using a UML Collaboration.

Shipping

service

Ship Status service

Purchasing service

Page 20: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Inside the Manufacturer

Order

Conformation

Shipped

Ship Req

Shipped

Delivered

Order Processing

Accounting

Service

Page 21: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Services architecture for a participant

ParticipantArchitecture is the high-level services architecture of a participant that defines how a set of internal and external participants use services to implement the responsibilities of the participant. A participant will also frequently have a business process.

Page 22: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Participants

ParticipantParticipant

Participants represent logical or real people or organizational units that participate in services architectures and/or business processes. In SoaML

participants provide and use services, defining their external contract

Page 23: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Participants with ServicePoint and RequestPoint

ParticipantParticipant

ServicePoint – point where the manufacturer

offers the purchasing service

RequestPoint – point where the dealer uses the purchasing service

Page 24: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

ServiceContract

A ServiceContract defines the terms, conditions, interfaces and choreography that interacting participants must agree to (directly or indirectly) for the service to be enacted - the full specification of a service which includes all the information, choreography and any other “terms and conditions” of the service. A ServiceContract is binding on both the providers and consumers of that service. The basis of the service contract is also a UML collaboration that is focused on the interactions involved in providing a service. A participant plays a role in the larger scope of a ServicesArchitecture and also plays a role as the provider or user of services specified by ServiceContracts.

Page 25: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Service Contract

The service contract specifies the details of the service – what information, assets and responsibilities are exchanged and under what rules

Role within service

Role within service

Service Contract

Service interface

corresponding to role

Service interface

corresponding to role

Information processed by

order processor

Information received by

orderer

typetype

Page 26: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Simple Protocol Choreography for Ordering Service Contract

Page 27: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Compound services

Compound Services are defined by using more granular services to “build up” an enterprise scale service

Each composed service becomes a port on the service interface

typetype

Page 28: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Real Example - Financial Management Enterprise Context

External enterprise level participants

External enterprise level participants

• The service-oriented business architecture of an enterprise is modeled as a Collaboration of enterprise-level Participants.

• The service-oriented business architecture of an enterprise is modeled as a Collaboration of enterprise-level Participants.

This is the use ofA service contract

specification

This is the use ofA service contract

specificationOur FocusOur Focus

Page 29: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Inside Financial ManagementService representing

delegated responsibility for interaction with an external

participant.

Service representing delegated responsibility for interaction with an external

participant.

Service representing interaction with another

participant within Financial Management.

Service representing interaction with another

participant within Financial Management.

Roles of participants inside

of finance

Roles of participants inside

of finance

Page 30: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

A Composite Service Contract

Financial Management is responsible for providing a number of Acquisition

Accounting services.

Financial Management is responsible for providing a number of Acquisition

Accounting services.

Page 31: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Simple Bill Submission Service Contract• A service contract is modeled as a

UML Collaboration.

• The required conversation may be specified using an Owned Behavior (e.g., Interaction or Activity)

• A service contract is modeled as a UML Collaboration.

• The required conversation may be specified using an Owned Behavior (e.g., Interaction or Activity)

Indicates ownership

First the submitter submits a bill to the receiver…

First the submitter submits a bill to the receiver…

…then either the bill is successfully delivered or it is returned.

…then either the bill is successfully delivered or it is returned.

Note that, while one Participant requests the service and the other

responds, information may flow both ways during the interaction.

Note that, while one Participant requests the service and the other

responds, information may flow both ways during the interaction.

Page 32: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Process Activities Inside a Participant (Outside of SoaML)

• Workflow is modeled using UML Activities.

• Workflow is modeled using UML Activities.

Received eventReceived event

ActivityActivity Sent eventSent event

Information flowInformation flow

Page 33: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Record Unfilled Customer Order Behavior

Control flowControl flow

• Ultimately, behavior can be specified using basic UML Activity Diagrams.

• Ultimately, behavior can be specified using basic UML Activity Diagrams.

Page 34: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Information Modelling with UML/(SoaML) class models

Page 35: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Information Model – For Messages and Entities

This means “zero or more”

This means “one or more”This indicates a compositional (as opposed to referential) association.

This is a constraint that defines the sub-classification.

A term in the vocabulary represents a class of things to be described.

A term in the vocabulary represents a class of things to be described.

Attributes specify descriptive information having simple types.

Attributes specify descriptive information having simple types.

Entities may be described as having a unique identity.

Entities may be described as having a unique identity.

A relation between terms is described by an association between classes.

A relation between terms is described by an association between classes.

A class may be specialized into sub-classifications.

A class may be specialized into sub-classifications.

An un-shaded class is not detailed on this diagram.

Page 36: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Integrating the Information Model with SOA

Business transaction Business transaction

The information model details the vocabulary of the business entities and transactions used in the process model.

The information model details the vocabulary of the business entities and transactions used in the process model.

The process model describes how business activities are (or are to be) carried out.

The process model describes how business activities are (or are to be) carried out.

State changes due to the activities

Workflow

Activities

Implicit memory of business information

Page 37: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Service Modelling with SoaML Port/Connector models

Page 38: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

ServicePoints and Service Participants

A ServicePoint is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A ServicePoint defines the connection point through which a Participant offers its capabilities and provides a service to clients.A ServicePoint is a mechanism by which a provider Participant makes available services that meet the needs of consumer requests as defined by ServiceInterfaces, Interfaces and ServiceContracts. A ServicePoint is represented by a UML Port on a Participant stereotyped as a «ServicePoint», .

Page 39: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

ServiceInterface

a ServiceInterface can be the type of a service port. The service interface has the additional feature that it can specify a bi-directional service – where both the provider and consumer have responsibilities to send and receive messages and events. The service interface is defined from the perspective of the service provider using three primary sections: the provided and required Interfaces, the ServiceInterface class and the protocol Behavior.

Page 40: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Participant with ServicePoint

A ServicePoint is the point of interaction on a Participant where a service. On a service provider this can be thought of as the “offer” of the service (based on the service interface). The ServicePoint is the point of interaction for engaging participants in a service via its service interfaces.

Page 41: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Participant with ServicePoints and RequestPoints

The type of a RequestPoint is also a ServiceInterface, or UML Interface, as it is with a Service point. The RequestPoint is the conjugate of a ServicePoint in that it defines the use of a service rather than its provision. This will allow us to connect service providers and consumers in a Participant.

Page 42: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Participants may be assemblies of other Participants

Participant

Participant part

ServicePoint – capabilities typed

by ServiceInterfaceRequestPoint – needs typed by ServiceInterface

Page 43: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Document and RPC Style service operation parameters

Page 44: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Agent and Milestones

Agent

– autonomous entity

– has its own lifecycle behavior

– can adapt to the environment

• also through modification of its definition

Milestone

– defines a value of progress

– attached to behavioral elements

– is used especially for dynamic analysis of behavior that does not necessarily end

Page 45: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Milestone

«Milestone» Order <1>

«Milestone» Order <0>

A Milestone is a means for depicting progress in behaviors in order to analyze liveness. Milestones are particularly useful for behaviors that are long lasting or even infinite.A Milestone can be understood as a “mythical” Signal. A mythical Signal is a conceptual signal that is sent from the behavior every time a point connected to the Milestone is passed during execution. The signal is sent to a conceptual observer outside the system that is able to record the origin of the signal, the signal itself and its progress value.

Page 46: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Mappings from SoaML to technology representations

Page 47: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Concerns

Technology Architecture

Technology SpecificationJEE, JMS, Web Services

WSDL, BPEL, XML Schema

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

One GSA/FMEA Business ModelBusiness Services (b-SOA)

Roles, Collaborations & InteractionsProcess & Information

Page 48: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Receivables Accounting Component Architecture

User of a consumed service by multiple internal parts.

User of a consumed service by multiple internal parts.

Page 49: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Business Concerns

Technology Architecture

Technology SpecificationJEE, JMS, Web Services

WSDL, BPEL, XML Schema

Logical System ModelTechnology Services (t-SOA),

ComponentsInterfaces, Messages & Data

Business ModelBusiness Services (b-SOA)

Roles, Collaborations & InteractionsProcess & Information

Page 50: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Example Web Services Generation

<wsdl:portType name=“BillSubmission.BillSubmissionReceiverInterface"> <wsdl:operation name=“submitBill"> <wsdl:input message="tns:BillSubmissionCluster“ name=“billSubmission"> </wsdl:input> </wsdl:operation> </wsdl:portType>

<wsdl:portType name=“BillSubmission.BillSubmissionSubmitterInterface"> <wsdl:operation name=“notifyBillDelivered"> <wsdl:input message="tns:BillDeliveredCluster“ name=“billDelivered"> </wsdl:input> </wsdl:operation> <wsdl:operation name=“notifyBillReturned"> <wsdl:input message="tns:BillReturnedCluster“ name=“billReturned"> </wsdl:input> </wsdl:operation> </wsdl:portType>

Page 51: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Example Transaction Message XML Document<BillSubmissionCluster>

<BusinessTransaction><transactionID> … </transactionID>

</BusinessTransaction><BillSubmission>

<bill><Bill>

<billID> … </billID><principleAmount> … </principleAmount>…

<payer><Party>

<partyID> … </customerID></Party>

</payer>…

<lineItems> … </lineItems>

</Bill> </bill>

<billingAddress><BillingAddressCluster>

<Address> … </Address><BillingAddress> … </BillingAddress>

</BillingAddressCluster><billingAddress>

</BillSubmission></BillSubmissionCluster>

<BillSubmissionCluster><BusinessTransaction>

<transactionID> … </transactionID></BusinessTransaction><BillSubmission>

<bill><Bill>

<billID> … </billID><principleAmount> … </principleAmount>…

<payer><Party>

<partyID> … </customerID></Party>

</payer>…

<lineItems> … </lineItems>

</Bill> </bill>

<billingAddress><BillingAddressCluster>

<Address> … </Address><BillingAddress> … </BillingAddress>

</BillingAddressCluster><billingAddress>

</BillSubmission></BillSubmissionCluster>

Page 52: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Implementation of service components

<<Provision>>

Asset Accounting Services Tier{Language = "Java+XML", Technical Architecture = "JEE-Messaging" }

<<MessageDrivenBean>><<StatelessSessionBean>>

: Asset Lifecycle Accounting Services

<<XSLT Implementation>> : Property Data Manager

<<MessageDrivenBean>><<StatelessSessionBean>> : Receivables Accounting

<<XSLT Implementation>> : Project Data Manager

<<XSLT Implementation>> : Party Data Manager

<provisioningContext name="service“…>

<projectRef folder="EjbClient"/>

<projectRef folder="AppClient"/>

<projectRef folder="Ejb"/>

<projectRef folder="ear"/>

<projectRef folder="JbossConfig"/>

</provisioningContext>

Note – stereotypes for provisioning are not part of SoaML – this shows one way to do it.

Page 53: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group<<Service Component>>

Asset Lifecycle Accounting Services

<<Service Component>> : Asset Record Manager

: Asset Depreciation Consumer

: Asset Tracking Consumer

: Expense Accrual Consumer

: General Ledger Posting Consumer

: Receivable Establishment Consumer

<<Service Component>> : Asset Project Manager

: Asset Completion Establishment Consumer

: Asset Disposal Notification Consumer

<<Data Component>> : Property Data Manager

<<Data Component>> : Party Data Manager

<<Data Component>> : Project Data Manager

: Asset Record Establishment Provider

: Asset Record Update Provider

: Asset Acquisition Notification Provider

: Asset Cost Accumulation Provider

: Asset Completion Establishment Provider

: Asset Ownership Establishment Provider

: Asset Valuation Notification Provider

: Asset Condition Notification Provider

: Asset Status Change Notification Provider

: Asset Transfer Notification Provider

: Asset Disposal Notification Provider

: Asset Record Query Provider

: Asset Project Establishment Provider

: Asset Project Update Provider

: Asset Project Status Notification Provider

: Asset Project Query Provider

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

<<delegate>>

Implementation of service components

public class Asset_Completion_Establishment_ConsumerAsset_Completion_Establishment_Provider_InterfaceInternal {

… …

static public Document establish_asset_completion(Document request) throws CheckedException {

……

return

gov.gsa.fmea.Asset_Record_Manager.

Asset_Completion_Establishment_ProviderAsset_Completion_Establishment_Provider_InterfaceInternal.

establish_asset_completion(request);

}

Page 54: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Mapping – Classes

<Party__Schema identity=”URI”><Party>

<party_id>ABC123<party_id><legal_address>

<Address><city>Vienna</city><state>VA</state>

</Address></legal_address><organizations>

<Organization__Item identity=”http://ocfo.gsa.gov/fmea/organization/1”/><Organization__Item identity=”…”/>…

</organizations></Party>

</Party__Schema>

<Party__Schema identity=”URI”><Party>

<party_id>ABC123<party_id><legal_address>

<Address><city>Vienna</city><state>VA</state>

</Address></legal_address><organizations>

<Organization__Item identity=”http://ocfo.gsa.gov/fmea/organization/1”/><Organization__Item identity=”…”/>…

</organizations></Party>

</Party__Schema>

<Organization__Schema identity=”http://ocfo.gsa.gov/fmea/organization/1”><Organization>

<approved>true</approved>…

</Organization></Party__Schema>

<Organization__Schema identity=”http://ocfo.gsa.gov/fmea/organization/1”><Organization>

<approved>true</approved>…

</Organization></Party__Schema>

Page 55: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

End result – this executesService representing

delegated responsibility for interaction with an external

participant.

Service representing delegated responsibility for interaction with an external

participant.

Service representing interaction with another

participant within Financial Management.

Service representing interaction with another

participant within Financial Management.

Roles of participants inside

of finance

Roles of participants inside

of finance

Page 56: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

On this infrastructure

FAS

GSA SecureNet/MultiNet Financial Network

FMEAIntegration

Server

FMEAAdapterServer

FTPServer

PBS

NEAR

TIRES Adapter

IRIS Adapter

Momentum Adapter

JMS

TIRES

NEAR AR

IRIS

STAR

WebService

Vehicle Adapter

FinanceUsers

BuildingData

ProjectData

BillingTransactions

VehicleMaster

STAR Adapter

FMEAServicesServer

ServiceServiceFMEAService

ServiceServiceDataManager

WorkUnit

FMEADBMSServer

FMEAData

SQL Net

FMEA Presentation Server

SessionManagement

ServiceServiceFMEA

UserInterface

JMS

Https:

Https Web Service

Pegasys/Momentum

Pegasys/Momentum

Fixed Assets Module

LoadBalancer

SAML

SAML

FMS

SOAJMS

Broker

IdentityManagement

VPN

SOAWeb

ServiceAdapters

Https:

SAML

* Any server may be clustered or combined as required

Logs

VPN

JMS

Page 57: Tutorial introduction to SoaML Arne J. Berre, SINTEF

SoaML Specification – Revised UPMS Submission

Object Management Group

Relating to other standards

SoaML integration with BPMN 2.0 and BPDM will be related to the ongoing BPMN 2.0 standardization

Extensions for Agents and semantic services will also relate to semantics, ontologies and other OMG metamodels like ODM and SBVR

Limited BMM integration is included to tie services to the business