We describe a pragmatic approach based on Model Driven Engineering (MDE) principles for implmenting the execution semantics of BPMN. The approach is based on a two-step model transformation that transforms BPMN models into Web application models specified according to the WebML notation and then into running Web applications. Thanks to the proposed chain of model transformations it is also possible to fine tune the final application in several ways by refining the intermediate WebML application models.
Boost Fertility New Invention Ups Success Rates.pdf
Execution Semantics of BPMN through MDE Web Application Generation, using BPMN and WebML. BPMN workshop 2011
1. Execution Semantics of BPMN through
MDE Web Application Generation
Marco Brambilla, Piero Fraternali
Dipartimento di Elettronica e Informazione, Politecnico di Milano
Contact:
marco.brambilla@polimi.it
marcobrambi
marcobrambi
BPMN Workshop, Luzern, November 21, 2011
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 1
2. Outline
• Introduction
• Model-driven BPM development cycle
• Conclusions
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 2
3. Introduction
Web applications, Web services, and BPM are the de
facto standard of modern enterprise integration
Web services enable system-to-system interaction;
Web applications allow distributed and ubiquitous user interaction
Business process specification languages ease the definition of the
business constraints, by orchestrating service execution
We offer a model-driven approach for multiparty
business processes, based on Web Service
orchestration and Web user interface design.
BPMN
WebML
3
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 3
4. Background
Business Process Design
representing processes (of heterogeneous nature) in terms of
related, structured activities or tasks that produce a specific service
or product
several proposals for visual modeling languages (e.g., UML, YAML,
BPMN)
Model Driven Architectures
abstraction (separation of platform independent and platform
dependent concerns) and models in Web application design and
development
Web Engineering
use of models (and model transformations) as the key artifacts for
application developments
several proposals (e.g., UML, Hera, OOHDM, UWE, W2000,
WebML)
4
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 4
5. Approach
Model transformation and code generation techniques
to implement and deploy the process on an open
platform
5
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 5
6. Model Driven Engineering of BPM applications
• Models are amenable to be transformed into running applications, enabling
fast prototyping and early assessment of alternative process socialization
strategies directly by the stakeholders
• Model-Driven Engineering is the discipline that supports a generative
approach to the creation and maintenance of application from abstract,
platform-independent models
• Implementation exploited WebRatio (www.webratio.com), an industrial
MDE tool that manages app development in three steps:
Design Customize Generate
the Model the Rules the Application
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 6
7. Model-driven Development Process
• Manual specification of BPMN process model
• Automatic transformation of BPMN to WebML
• Possible manual refinement of WebML models
• Automatic running code generation on J2EE platform
• Virtuous development cycle
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 7
8. Models for BPM
Two types of models concur to define the application requirements:
Process Model Application Model
It is used to define: It is used to define:
•Organization and roles •Page contents
•Activities and assignments •Business logic
•Business rules •User interface & Visual identity
•Business workflow •Integration
It is based on BPMN notation It is based on WebML modelling language
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 8
9. The generated model artifacts
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 9
10. Generative approach and runtime architecture
Visual identity
Presentation layer
Process layer
Business layer
Data Service Integration
Social networks or
layer layer layer other third-party
services or applications
Standard Java
Web application
JBoss Oracle
Application IBM Apache Caucho Application
Server WebSphere Tomcat Resin Server
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 10
11. DEMO
http://www.webratio.com
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 11
12. Thanks.
Questions? Contact:
Marco Brambilla
marco.brambilla@polimi.it
marcobrambi
marcobrambi
Brambilla, Fraternali: Execution Semantics of BPMN through MDE Web Application Generation 12