SlideShare a Scribd company logo
“Experimental” transformations between Business Process and SOA modelsAkira Tanakaview5 LLChttp://www.view5.co.jp/e/
AgendaBackgroundProblem statementExampleStrategyModeling and model transformationDSL design, modeling, template design, and model transformationFrameworkFindingsSummary and future work2
BackgroundTwo major architectural styles exist in today’s distributed enterprise IT system designs:Business Process-oriented architecture (e.g. using BPMN)Business Service-oriented architecture (e.g. using SOA)Business Rule…..Business ProcessBusiness ServiceBusiness Event3
Background: Business Process“business process is a defined set of business activities that represent the steps required to achieve a business objective.” (BPMN specification)4
Background: BPM and distributed systemBPM related standardsBPDM, BPMN, UML, Workflow, IDEF, … and Enterprise Architecture such as FEA, DoDAF/MODAF, TOGAF5
Background: Business Service“A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description.” (SOA Reference Model)Add business context to the services definition above.6
Background: SOA and distributed systemSOA related standardsSOA-RM, SoaML, SCA, WS-* as implementation standardsServiceServiceServiceServiceService7
Background: Process & ServiceEach one may be implemented using the other. Business ProcessBusiness ServicesuseService AuseStep NuseexecuteuseService CService BuseimplementService XBusiness ProcessEither style can be used for enterprise IT system development.8
Problem statementBoth can be used to build distributed enterprise IT systems, and each can be dependenton the other.Are they essentially the same? If not, how similar/different are they, and where does the difference come from?Should they be used at the same abstraction level? If not, which one should be positioned over the other?Including but not limited to process and service relationship,How can we compare models of different architecture styles?How can we measure the similarity/difference between models of different architecture style?9
ExampleBuy-Sell-Ship business process and business serviceE.g. when you buy a book from online book store, or when a company buys office goods from online retailerNotationsBusiness Process in RM-ODP Enterprise Language (extension of UML Activity)Business Service in SoaML10
Process diagram example11
Service diagram example12
The strategyAssumption:if model A (conforming to metamodel MA) is successfully mapped to model B (conforming to metamodel MB), and the model B is successfully mapped back to the model A, thenA and B are semantically equivalent, andMappings can be defined between MA and MB as well.Examine how much:BPM based model can be transformed to a Service based model, andService based model can be transformed to a BPM modelMethod:By creating essential models, andBy applying model transformation to other type to measure the matching rate13
About MD*Model Driven Engineeringis a filed of Software Engineering, where models are considered as important resources in software development processes.MD*: Model Drivenengineering (MDE), design (MDD), development (MDD), software development (MDSD), architecture (MDA®), …Popular termsModel(ling), metamodel(ling), domain specific language (DSL), model transformation, model validation, … 14
About DSLDomain specific language“a computer programming language of limited expressiveness focused on a particular domain.” (M. Fowler’s Domain Specific Languages book)Could be internal (dependent on hosting programming language) or externalCould be graphical or textual15
Modeling and model transformationModelingAs a first step, used domain specific language for the purpose (“ProcessDSL” and “ServiceDSL” based on eclipse/Xtext) [to avoid the complexity UML may introduce at the next step]Model TransformationUsed “Model to text (M2T)” rather than “Model to model (M2M)”  to get flexibility in model navigationM2M: MOF Query View and Transformation, ATL. …M2T: 	Xpand, JET,MOF M2T, …Used Xpand/Xtend template language/engine, a part of eclipse/Xtext16
The work flowDomain Specific Language developmentCreated a grammar for each domain (process modeling and service modeling)Modeling with generated DSL model editorGenerated a textual editor for model developmentCreated models that reflects sample process and sample servicesTemplate developmentCreated “process->service” and “service->process” model transformation templatesExecuted model transformationsGenerated text or model for evaluation17
Domain Specific Language design*partial grammar18
Modeling with model editor19
Template designImport generated process metamodelCreate output fileCreate service interfaces from crossing lane actionsCreate participants from non-artifact lanesCreate messages from artifact laneCreate contracts from consumer and provider20
Generated text from the processThis text conforms to ServiceDSL21
Domain Specific Language design22
Modeling with model editor23
Template designImport generated service metamodelCreate output fileCreate process from SOA collaborationCreate role from SOA participantCreate step Request and Receive from messagesCreate artifact roles from messages24
Generated text from the serviceThis text conforms to ProcessDSL25
Model transformation frameworkTextualrepresentation26Source code, XML, text, …
Results overviewModel TransformationSample ProcessDSL based Model& lines of textGenerated ServiceDSL based Model& lines of textCompareSample ServiceDSL based Model& lines of textGenerated ProcessDSL based Model& lines of text27
28
Sample ProcessDSL based Model227Generated ServiceDSL based Model8838.7%17.6%(~9%)Compare70.4%(~35%)Sample ServiceDSL based Model125Generated ProcessDSL based Model4032%29
FindingsSomething internal to a specific lane in a process will be lost when transforming process to service, and theywill not be generated from a set of services when transforming service to process.Orchestration of all the participants in process model will be lost when transforming process to service, and they will not be re-created from service models when transforming service to process.30
FindingsAbstraction levels/target audience do not match completely.Process models are at end users or business analysts level.Service models further include software architects or developers perspective (e.g. service interface definitions).If required, placing process model over service model will work better than the other way.Model TransformationModel transformation is not always possible.Published cases are successful cases.Even with unsuccessful cases, model transformation works as a tool for measuring how close two models are.31
FindingsModel ComparisonDSL for software architecturecan be used as a tool to create architecture based models.Model transformations can be applied to compare models. Two way model transformation could be a means to analyze the similarities of the two models. Matching rate of “process to service” transformation is higher than “service to process” transformation.ToolingOpen source Eclipse/Xtext is good enough tool for the experiment.M2T transformation can be used to generate other DSL based model.32
Problem statement (again)Both can be used to build distributed enterprise IT systems, and each can be dependenton the other.Are they essentially the same? If not, how similar/different are they, and where does the difference come from?Should they be used at the same abstraction level? If not, which one should be positioned over the other?Including but not limited to process and service relationship,How can we compare models of different architecture styles?How can we measure the similarity/difference between models of different architecture style?33
SummaryProcess-oriented and service-oriented architectures have some commonality but with different focused area. [i.e. not exactly the same]Similarities and differencesGenerated service model / hand-written service model = 70.4% (max)Generated process model / hand-written process model = 17.6% (max)Differences: internal activities, orchestration, service interface etc.Process-oriented model should better be positioned over service-oriented model if both need to coexist.This method can be used to compare architectures, and matching rate can be used as a metrics for comparison.34
Future WorksMechanisms to verify essential DSLsto generate DSLs from UML modelsto measure model transformabilityto make currently lost internal information in a lane visible (by e.g. introducing local controller?)to introduce orchestration into service architecture (as annotation?)More experimentsuse ODP model, including computation model, as a source process-based modeluse M2M to improve formality/transformability of the method35
Questions?NoteProcessDSL and ServiceDSL with sample models are available on the web (http://sites.google.com/site/xtextusersjapan/files).36
Backups37
Service vs. generated service…Example pieceCreated with ServiceDSL editor (by hand)Generated from ProcessDSL model…38
Process vs. generated processExample pieceCreated with ProcessDSL editor (by hand)………Generated from ServiceDSL model39

More Related Content

PDF
BPM-X Pattern-based model transformations (v2)
PDF
Bpmn tutorial
PPT
Extending BPMN 2.0
PDF
F1803053945
PPTX
Introduction to Business Modeling
PPTX
BPMN 2.0 Fundamentals
PPT
Service Oriented & Model Driven Architectures
PDF
software engineering with uml- activity diagram
BPM-X Pattern-based model transformations (v2)
Bpmn tutorial
Extending BPMN 2.0
F1803053945
Introduction to Business Modeling
BPMN 2.0 Fundamentals
Service Oriented & Model Driven Architectures
software engineering with uml- activity diagram

What's hot (13)

PPTX
BPEL, BPEL vs ESB (Integration)
PDF
SimulationX Meets Office
PDF
CS587 Project - Raychaudhury,Shaalmali
PPTX
Canonical data model
PPT
Role of BPMN in Business
PDF
WEB PORTAL INTEGRATION ARCHITECTURE APPROACHES
PPTX
Interaction Flow Modeling Language (IFML) First Submission at OMG
PPTX
CS8494 SOFTWARE ENGINEERING Unit-3
PDF
Lectura 2.3 soa-overview-directions-benatallah
PDF
BPMN 2.0 overview
PDF
Design UML diagrams
PDF
Togaf v9-sample-catalogs-matrics-diagrams-v2
PPT
Modeling Search Computing Applications
BPEL, BPEL vs ESB (Integration)
SimulationX Meets Office
CS587 Project - Raychaudhury,Shaalmali
Canonical data model
Role of BPMN in Business
WEB PORTAL INTEGRATION ARCHITECTURE APPROACHES
Interaction Flow Modeling Language (IFML) First Submission at OMG
CS8494 SOFTWARE ENGINEERING Unit-3
Lectura 2.3 soa-overview-directions-benatallah
BPMN 2.0 overview
Design UML diagrams
Togaf v9-sample-catalogs-matrics-diagrams-v2
Modeling Search Computing Applications
Ad

Viewers also liked (20)

PPTX
Introducing DiveNation
PDF
Praevid_Ltd_Presentation
DOCX
La liposucción aporta beneficios a la salud
PPTX
Kompetenčni centri za razvoj kadrov: Z razvojem ljudi - uspevamo
DOC
sagar CV
PPTX
Presentation1 prakt gigi
PPTX
Drzava za gospodarstvo, 24.03.16 Vidmar, samovrteca
PPTX
presentación de lo que es pinterest
PDF
BO NADAL E BOAS LECTURAS
PDF
SDOA 2.2 Service | Design | Management
PDF
Java Wars: Então você quer ser um Desenvolvedor?
PPTX
Spring cloud + netflix oss
PPS
Prof. douaa m. sayed validation and verification of flowcytometry areas
PPTX
Los movimientos poeticos
PPSX
Jai and Kassy's graduation from NCKG
PDF
2011 05 25 hpm tweetchat transcript
KEY
iPads in Education QLD study tour
PPTX
Social Media
KEY
New Scheme Teachers Workshop Catholic Education Diocese of Parramatta
PDF
MDA Retail Projects
 
Introducing DiveNation
Praevid_Ltd_Presentation
La liposucción aporta beneficios a la salud
Kompetenčni centri za razvoj kadrov: Z razvojem ljudi - uspevamo
sagar CV
Presentation1 prakt gigi
Drzava za gospodarstvo, 24.03.16 Vidmar, samovrteca
presentación de lo que es pinterest
BO NADAL E BOAS LECTURAS
SDOA 2.2 Service | Design | Management
Java Wars: Então você quer ser um Desenvolvedor?
Spring cloud + netflix oss
Prof. douaa m. sayed validation and verification of flowcytometry areas
Los movimientos poeticos
Jai and Kassy's graduation from NCKG
2011 05 25 hpm tweetchat transcript
iPads in Education QLD study tour
Social Media
New Scheme Teachers Workshop Catholic Education Diocese of Parramatta
MDA Retail Projects
 
Ad

Similar to Experiment on BPM and SOA transformations (20)

PDF
H05525256
PDF
Service Modelling with SoaML
PPTX
Service Oriented Architecture
PPTX
Cs 1023 lec 12 soa (week 4)
PDF
ITI005En-SOA (II)
PPTX
SOA - Unit 2 - Service Oriented Architecture
PPTX
03 Service Oriented Architecture Series - Basic SOA Architecture
PDF
Migrating SOA
PPT
Soa Overview
PPT
Build Message-Based Web Services for SOA
PPTX
Mdsd capable target architecture
PDF
Evolution of Modelling Techniques for Service Oriented Architecture
PPT
Service Analysis And Design
PDF
Tactics Esb Implementation
PDF
Oracle SOA Suite 12c 1z0-434 Day 1/3
PPTX
Lecture 18 - Model-Driven Service Development
PDF
Service Oriented Architecture & Beyond
PPT
Dsl for-soa-artefacts
PDF
Building Service Oriented Architecture based applications
H05525256
Service Modelling with SoaML
Service Oriented Architecture
Cs 1023 lec 12 soa (week 4)
ITI005En-SOA (II)
SOA - Unit 2 - Service Oriented Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture
Migrating SOA
Soa Overview
Build Message-Based Web Services for SOA
Mdsd capable target architecture
Evolution of Modelling Techniques for Service Oriented Architecture
Service Analysis And Design
Tactics Esb Implementation
Oracle SOA Suite 12c 1z0-434 Day 1/3
Lecture 18 - Model-Driven Service Development
Service Oriented Architecture & Beyond
Dsl for-soa-artefacts
Building Service Oriented Architecture based applications

More from Akira Tanaka (20)

PPTX
Developing Modeling Tool for RM-ODP with Eclipse Sirius
PPTX
DSL4ODP Diagrams
PPTX
Dsl4 odp diagrams
PPTX
EclipseCon Europe 2019 modeling report
PPTX
Sirius in 30 min.
PPTX
Eclipse Sirius Applied to a RAD Tool in Japan
PDF
EclipseCon France 2018 report
PDF
Eclipse Modeling Environment 概要
PDF
Eclipse con2017参加報告公開版
PDF
Simple Line-Tracer statechart simulation with Yakindu
PDF
EclipseCon NA2016 report
PPTX
Sirius を試してみて
PDF
Xtext 紹介
PDF
MBSD ツールチェーンと今後の活動
PDF
EMF Forms Introduction
PDF
EclipseCon NA 2015 report
PPTX
モデルベースソフトウェア開発
PPTX
オープンソースを利用したモデル駆動トライアル
PDF
Eclipse xtext 紹介
PDF
OCL in Papyrus Introduction
Developing Modeling Tool for RM-ODP with Eclipse Sirius
DSL4ODP Diagrams
Dsl4 odp diagrams
EclipseCon Europe 2019 modeling report
Sirius in 30 min.
Eclipse Sirius Applied to a RAD Tool in Japan
EclipseCon France 2018 report
Eclipse Modeling Environment 概要
Eclipse con2017参加報告公開版
Simple Line-Tracer statechart simulation with Yakindu
EclipseCon NA2016 report
Sirius を試してみて
Xtext 紹介
MBSD ツールチェーンと今後の活動
EMF Forms Introduction
EclipseCon NA 2015 report
モデルベースソフトウェア開発
オープンソースを利用したモデル駆動トライアル
Eclipse xtext 紹介
OCL in Papyrus Introduction

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Encapsulation theory and applications.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Hybrid model detection and classification of lung cancer
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
project resource management chapter-09.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Mushroom cultivation and it's methods.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Univ-Connecticut-ChatGPT-Presentaion.pdf
Encapsulation theory and applications.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Hindi spoken digit analysis for native and non-native speakers
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Hybrid model detection and classification of lung cancer
Enhancing emotion recognition model for a student engagement use case through...
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Programs and apps: productivity, graphics, security and other tools
gpt5_lecture_notes_comprehensive_20250812015547.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
TLE Review Electricity (Electricity).pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
project resource management chapter-09.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Mushroom cultivation and it's methods.pdf

Experiment on BPM and SOA transformations

  • 1. “Experimental” transformations between Business Process and SOA modelsAkira Tanakaview5 LLChttp://www.view5.co.jp/e/
  • 2. AgendaBackgroundProblem statementExampleStrategyModeling and model transformationDSL design, modeling, template design, and model transformationFrameworkFindingsSummary and future work2
  • 3. BackgroundTwo major architectural styles exist in today’s distributed enterprise IT system designs:Business Process-oriented architecture (e.g. using BPMN)Business Service-oriented architecture (e.g. using SOA)Business Rule…..Business ProcessBusiness ServiceBusiness Event3
  • 4. Background: Business Process“business process is a defined set of business activities that represent the steps required to achieve a business objective.” (BPMN specification)4
  • 5. Background: BPM and distributed systemBPM related standardsBPDM, BPMN, UML, Workflow, IDEF, … and Enterprise Architecture such as FEA, DoDAF/MODAF, TOGAF5
  • 6. Background: Business Service“A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description.” (SOA Reference Model)Add business context to the services definition above.6
  • 7. Background: SOA and distributed systemSOA related standardsSOA-RM, SoaML, SCA, WS-* as implementation standardsServiceServiceServiceServiceService7
  • 8. Background: Process & ServiceEach one may be implemented using the other. Business ProcessBusiness ServicesuseService AuseStep NuseexecuteuseService CService BuseimplementService XBusiness ProcessEither style can be used for enterprise IT system development.8
  • 9. Problem statementBoth can be used to build distributed enterprise IT systems, and each can be dependenton the other.Are they essentially the same? If not, how similar/different are they, and where does the difference come from?Should they be used at the same abstraction level? If not, which one should be positioned over the other?Including but not limited to process and service relationship,How can we compare models of different architecture styles?How can we measure the similarity/difference between models of different architecture style?9
  • 10. ExampleBuy-Sell-Ship business process and business serviceE.g. when you buy a book from online book store, or when a company buys office goods from online retailerNotationsBusiness Process in RM-ODP Enterprise Language (extension of UML Activity)Business Service in SoaML10
  • 13. The strategyAssumption:if model A (conforming to metamodel MA) is successfully mapped to model B (conforming to metamodel MB), and the model B is successfully mapped back to the model A, thenA and B are semantically equivalent, andMappings can be defined between MA and MB as well.Examine how much:BPM based model can be transformed to a Service based model, andService based model can be transformed to a BPM modelMethod:By creating essential models, andBy applying model transformation to other type to measure the matching rate13
  • 14. About MD*Model Driven Engineeringis a filed of Software Engineering, where models are considered as important resources in software development processes.MD*: Model Drivenengineering (MDE), design (MDD), development (MDD), software development (MDSD), architecture (MDA®), …Popular termsModel(ling), metamodel(ling), domain specific language (DSL), model transformation, model validation, … 14
  • 15. About DSLDomain specific language“a computer programming language of limited expressiveness focused on a particular domain.” (M. Fowler’s Domain Specific Languages book)Could be internal (dependent on hosting programming language) or externalCould be graphical or textual15
  • 16. Modeling and model transformationModelingAs a first step, used domain specific language for the purpose (“ProcessDSL” and “ServiceDSL” based on eclipse/Xtext) [to avoid the complexity UML may introduce at the next step]Model TransformationUsed “Model to text (M2T)” rather than “Model to model (M2M)” to get flexibility in model navigationM2M: MOF Query View and Transformation, ATL. …M2T: Xpand, JET,MOF M2T, …Used Xpand/Xtend template language/engine, a part of eclipse/Xtext16
  • 17. The work flowDomain Specific Language developmentCreated a grammar for each domain (process modeling and service modeling)Modeling with generated DSL model editorGenerated a textual editor for model developmentCreated models that reflects sample process and sample servicesTemplate developmentCreated “process->service” and “service->process” model transformation templatesExecuted model transformationsGenerated text or model for evaluation17
  • 18. Domain Specific Language design*partial grammar18
  • 20. Template designImport generated process metamodelCreate output fileCreate service interfaces from crossing lane actionsCreate participants from non-artifact lanesCreate messages from artifact laneCreate contracts from consumer and provider20
  • 21. Generated text from the processThis text conforms to ServiceDSL21
  • 24. Template designImport generated service metamodelCreate output fileCreate process from SOA collaborationCreate role from SOA participantCreate step Request and Receive from messagesCreate artifact roles from messages24
  • 25. Generated text from the serviceThis text conforms to ProcessDSL25
  • 27. Results overviewModel TransformationSample ProcessDSL based Model& lines of textGenerated ServiceDSL based Model& lines of textCompareSample ServiceDSL based Model& lines of textGenerated ProcessDSL based Model& lines of text27
  • 28. 28
  • 29. Sample ProcessDSL based Model227Generated ServiceDSL based Model8838.7%17.6%(~9%)Compare70.4%(~35%)Sample ServiceDSL based Model125Generated ProcessDSL based Model4032%29
  • 30. FindingsSomething internal to a specific lane in a process will be lost when transforming process to service, and theywill not be generated from a set of services when transforming service to process.Orchestration of all the participants in process model will be lost when transforming process to service, and they will not be re-created from service models when transforming service to process.30
  • 31. FindingsAbstraction levels/target audience do not match completely.Process models are at end users or business analysts level.Service models further include software architects or developers perspective (e.g. service interface definitions).If required, placing process model over service model will work better than the other way.Model TransformationModel transformation is not always possible.Published cases are successful cases.Even with unsuccessful cases, model transformation works as a tool for measuring how close two models are.31
  • 32. FindingsModel ComparisonDSL for software architecturecan be used as a tool to create architecture based models.Model transformations can be applied to compare models. Two way model transformation could be a means to analyze the similarities of the two models. Matching rate of “process to service” transformation is higher than “service to process” transformation.ToolingOpen source Eclipse/Xtext is good enough tool for the experiment.M2T transformation can be used to generate other DSL based model.32
  • 33. Problem statement (again)Both can be used to build distributed enterprise IT systems, and each can be dependenton the other.Are they essentially the same? If not, how similar/different are they, and where does the difference come from?Should they be used at the same abstraction level? If not, which one should be positioned over the other?Including but not limited to process and service relationship,How can we compare models of different architecture styles?How can we measure the similarity/difference between models of different architecture style?33
  • 34. SummaryProcess-oriented and service-oriented architectures have some commonality but with different focused area. [i.e. not exactly the same]Similarities and differencesGenerated service model / hand-written service model = 70.4% (max)Generated process model / hand-written process model = 17.6% (max)Differences: internal activities, orchestration, service interface etc.Process-oriented model should better be positioned over service-oriented model if both need to coexist.This method can be used to compare architectures, and matching rate can be used as a metrics for comparison.34
  • 35. Future WorksMechanisms to verify essential DSLsto generate DSLs from UML modelsto measure model transformabilityto make currently lost internal information in a lane visible (by e.g. introducing local controller?)to introduce orchestration into service architecture (as annotation?)More experimentsuse ODP model, including computation model, as a source process-based modeluse M2M to improve formality/transformability of the method35
  • 36. Questions?NoteProcessDSL and ServiceDSL with sample models are available on the web (http://sites.google.com/site/xtextusersjapan/files).36
  • 38. Service vs. generated service…Example pieceCreated with ServiceDSL editor (by hand)Generated from ProcessDSL model…38
  • 39. Process vs. generated processExample pieceCreated with ProcessDSL editor (by hand)………Generated from ServiceDSL model39