aligning business and it models in service-oriented architectures using bpmn and soaml brian...
TRANSCRIPT
Aligning Business and IT Models in Service-Oriented Architectures
using BPMN and SoaML
Brian Elvesæter, Dima Panfilenko, Sven Jacobi & Christian Hahn
MDI’2010 Workshop
5th October 2010, Oslo, Norway
2
Presentation outline
• SHAPE Solution Overview• SoaML• BPMN to SoaML Mapping Rules• Tool Support• Illustrative Example• Conclusions and Future Work
3
SHAPE Solution Overview• Solution centred around
SoaML– Metamodel for describing
service-oriented landscapes• SoaML is extended with
metamodels for ShaML– Semantically-enabled
Heterogeneous Architecture Modelling Language
– other technology platforms– advanced service engineering
techniques• Tool support provides
– integrated tool suite that supports the modelling
– encompasses the necessary model transformations
– methodology framework that provides role-specific guided procedures
SoaML
Core
Service Variability
PIM4SWS
PIM4Agents
P2P/Grid/Components/…
SHA-ML
WSDL, WSMO, OWLS, JACK, JADE, JXTA, OGSA, CORBA, …
J2EE, NetWeaver, .Net, …
Flexible Business Modelling
BPMN EPC BMM
PIMsfor differentArchitectural Styles
Execution Environments
PSMImplementation Models
CIMBusiness Models
PIMSystem Models
…
SoaML
Core
Service Variability
PIM4SWS
PIM4Agents
P2P/Grid/Components/…
SHA-ML
WSDL, WSMO, OWLS, JACK, JADE, JXTA, OGSA, CORBA, …
J2EE, NetWeaver, .Net, …
Flexible Business ModellingFlexible Business Modelling
BPMN EPC BMM
PIMsfor differentArchitectural Styles
Execution Environments
PSMImplementation Models
CIMBusiness Models
PIMSystem Models
…
4
SoaML
• Service oriented architecture Modeling Language (SoaML)– Extensions to UML2.1 to support service concepts.– SoaML focuses on the basic service modelling concepts.– A foundation for further extensions both related to integration with other
OMG metamodels like BPMN 2.0, SBVR, OSM, ODM and others.• Website:
– http://www.soaml.org
• Capabilities:– identifying services– specifying services– defining service consumers and providers– policies for using and providing services.– defining classification schemes– defining service and service usage requirements and linking them to
related OMG metamodels, such as the BMM and BPMN 2.0.
5
BusinessPerspectiveon SOA
ITPerspectiveon SOA
Business Goals
BusinessProcessesand Participants
Capabilities
Interfacesand Messages
Services Architecture
Components and Ports
Business and IT alignment
Service Contracts
Service Interfaces
ServiceChoreographies
SoaML – Business and IT
6
BPMN to SoaML – Mapping Rules [0]
• Mapping Rule 0: Process to Services Architecture
• Mapping Rule 1: Task to UML Action• Mapping Rule 2: Sub-Process to
Services Architecture• Mapping Rule 3: Pool to Participant
(Community-level)• Mapping Rule 4: Lane to Participant
(Participant-level)• Mapping Rule 5: Message “Begin” to
Service • Mapping Rule 6: Message “End” to
Request• Mapping Rule 7: Process fragment
(pattern) to Service Contract
• The services architecture is aligned with the business process, and the participants and service contracts can be derived from the pools or lanes and activities in the business processes respectively.
XY
<<ServicesArchitecture>>
Pool<<Participant>>
Customer
Process XY
Port
7
Mapping Rules [1-2]
• Mapping Rule 1: Task to UML Actions
• BPMN: task providing a useful output for the participants
• SoaML: abstract interface for the job
• Mapping Rule 2: Sub-Process to Services Architecture
• BPMN: more complex process than a simple task
• SoaML: details the roles and tasks of the sub-process
XY<<ServicesArchitecture>>
Pool<<Participant>>
8
Mapping Rules [3-4]
• Mapping Rule 3: Pool to Participant (Community-level)
• BPMN: a business entity or a participant of a process
• SoaML: role in a community-level services architecture
• Mapping Rule 4: Lane to Participant (Participant-level)
• BPMN: a participant or a department hierarchy
• SoaML: role in a participant-level services architecture
XY
<<ServicesArchitecture>>
Pool<<Participant>>
Role:Pool
XY
<<ServicesArchitecture>>
Pool<<ServicesArchitecture>>
Pool<<Participant>>
Lane1<<Participant>>
Lane2<<Participant>>
Role2:Lane2Role1:Lane1
9
Mapping Rules [5-6]
• Mapping Rule 5: Message “Begin” to Service
• BPMN: starting end of the data channel between two participants
• SoaML: services provision for other participants
• Mapping Rule 6: Message “End” to Request
• BPMN: other end of the communication channel
• SoaML: reflexion of the data channel target in the service consumption
10
Mapping Rules [7]
• Mapping Rule 7: Process fragment (pattern) to Service Contract
• BPMN: identification of process fragments providing and consuming services
• SoaML: service specification for definition of roles of each participant
Lane1_Lane2
<<ServiceContract>>
Lane2_Task2_I nterface
<<interface>>
Lane1_Task1_I nterface
<<interface>>
Lane2_Role:Lane2_Task2_Interface
Lane1_Role:Lane1_Task1_Interface
11
Tool Support: CIMFlexMT Architecture
Data objects
Data objectsData ViewWorking
planSPL
depends on
Roles
Organizational viewPurchasingDepartment
Business rules viewIF SPL.Ok THEN Send Confirmation ELSE End
BPMN (2) View
Start EndProcess OrderRevise working
plan
Send confirmation
PurchasingDepartment
IF SPL.Ok THEN Send Confirmation ELSE End
X
SPL
Roles
Decisions & Constraints
EPC View
PurchasingDepartment
IF SPL.Ok THEN Send Confirmation ELSE End
V
SPL
CIM2CIM Transformation
StartProcess Order
Done
DoneRevise
working planEnd
Revised
Send confirmation
ShaML
CIM2PIM Ontology
CIM2PIM Structure
12
SHAPE Model Transformation Architecture
CIMFlexMM: Metamodel of CIMFlexMT
CIM2PIM: Transformation to
SoaML
13
CIM level CIMFlex BPMN: ProcessOrder Process
14
PIM level ProcessOrder: Modelio View on Output
ManufacturingArchitecture
<<ServicesArchitecture>>
ManufacturingContract
<<ServiceContract>>
Customer
<<Participant>>
Manufacturer<<Participant>>
CustomerInterface
<<interface>>ManufacturerInterface
<<interface>>
ordering:ManufacturingContract
customerRole
manufacturerRole
manufacturerPart:Manufacturer
customerPart:Customer
customerRole:CustomerInterface
manufacturerRole:ManufacturerI nterface
15
ManufacturingArchitecture
<<ServicesArchitecture>>
ManufacturingContract
<<ServiceContract>>
Customer
<<Participant>>
Manufacturer<<Participant>>
CustomerInterface
<<interface>>ManufacturerInterface
<<interface>>
ordering:ManufacturingContract
customerRole
manufacturerRole
manufacturerPart:Manufacturer
customerPart:Customer
customerRole:CustomerInterface
manufacturerRole:ManufacturerI nterface
CIMFlexMT Process View Modelio ServiceArchitecture Diagram
CIMFlexMT Transformation:Services & Participants Recognition
16
ManufacturingArchitecture
<<ServicesArchitecture>>
ManufacturingContract
<<ServiceContract>>
Customer
<<Participant>>
Manufacturer<<Participant>>
CustomerInterface
<<interface>>ManufacturerInterface
<<interface>>
ordering:ManufacturingContract
customerRole
manufacturerRole
manufacturerPart:Manufacturer
customerPart:Customer
customerRole:CustomerInterface
manufacturerRole:ManufacturerI nterface
CIMFlexMT Process View Modelio ServiceArchitecture Diagram
CIMFlexMT Transformation: ServiceContracts Recognition
17
Conclusions and Future Work
• Conclusions– overview of the SoaML modelling language– application for describing both a business and IT perspective
on SOA– set of model transformation rules for mapping BPMN onto
SoaML– testing in industrial use cases in the SHAPE project with the
objective of aligning business and IT models• Future Work
– identification and description of additional patterns and guidelines for mapping to service contracts
– mapping rules definition update and alignment with the ongoing SoaML and BPMN 2.0 specification
– provision of better tool support for multi-tier service contracts– investigation of a bottom-up approach for transformations
18
Thanks for your attention!
Questions?