Download - WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Transcript
Page 1: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

WebRatio BPM: a Tool for Design and Deployment

of Business Processes on the Web

Stefano Butti, Marco Brambilla, Piero Fraternali

Web Models Srl, Italy

ICWE 2010, July 7th 2010, Vienna

Page 2: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Agenda• Introduction• Development Process• WebML Workflow Primitives• Model Transformation• Conclusions

Page 3: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

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 propose a model-driven approach for multiparty business processes, based on Web Service orchestration and Web user interface design. – BPMN– WebML 3

Page 4: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

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

4

Page 5: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

The contribution• Adoption of Process Model to precisely specify the

workflow for a given application – including user interaction and service orchestration

• Model transformation and code generation techniques to implement and deploy the process

5

Page 6: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

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)

6

Page 7: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Background: BPMN(Business Process Model Notation)

7

Description of business activities (technology- and platform- independent) Activities FlowsConstraints (OR-XOR-AND gateways)

Artifacts (Data Objects and data associations) Events

Running example:

Banking

application

for processing

leasing requests

(cars or houses)

Page 8: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Background: WebML (Web Modeling Language)

www.webml.org

8

Web Modeling Language

Specification of interactive, integrated Web applications through orthogonal models.• Domain Models (ER or UML class diagrams for defining “the content”)

• Navigation Models ( content publication and manipulation, page computation, hypertextual links, side effects)

• Service definition and composition Models ( Web service invocation and publication, XML management)

Page 9: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Background: BPMN

• BPMN– does not provide support for:

• Process data• Formalized data flows

– does not convey information about the activity’s business logic

• BPMN language, with 2.0 crucial features:– Activity typing (2)– Typed attributes and parameters– Typed and named data, consumed (3) and produced (4)– Links with guard conditions and mapped parameters (5)

9

Page 10: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

BPMN WebML transformation• Transformation rules

– finer-grained Application Model, needing few refinements by the designer• typed activities enables reusable application models• data dependencies are specified at a higher level

– less errors in Application Model design– Faster development

10

(1) One control siteview per pool: Human interaction(2) One control serviceview per pool: WS Choreography(3) One site view per lane: user navigation(4) One site view per lane: business logics of activities and gateways(4) One site view per lane: business logics of activities and gateways(5) Orchestration view: a controller component invokes the activities

Page 11: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

The NEXT unit• The Next unit encapsulates the process control logic• It exploits the information stored in the Process Metadata • It calculates the current process status and the enabled state

transitions • It needs the following input parameters:

– caseID (the currently executed process instance ID)– activityInstanceID (the current activity instance ID)– conditionParameters (the values to evaluate the

conditions)

11

NEXT

Page 12: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

A step-by-step example (1): Extended BPMN model

• the complete BPMN example

12

Page 13: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

A step-by-step example (2): Content model

• The metadata needed for tracking the process execution enacting the web service orchestration

+ application-specific data

13

Page 14: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

A step-by-step example (3): Site- and Service- view

– Views for starting the process / orchestration (manual and service-based)

14

Page 15: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

A step-by-step example (4): Orchestration siteview

– Views for orchestrating the call to the modules (services, hypertext, or gateways)

15

Page 16: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

A step-by-step example (4): Business logics of activities

– Business logics for the XOR gateway (Car vs. House) and the Credit Score remote activity (WS invocation)

16

Page 17: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Implementation• Extensions to WebRatio, a commercial tool for the

automatic generation of Web applications• Creation of a extended BPMN editor for the

specification of the process models• Set of model to model and model to text

transformations

17

WebRatio BPMN Editor

Page 18: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Additional investigations • Backward engineering (2): modularization of hypertext

pieces and reuse as activity types through catalogues• Reverse Engineering (3): decomposition of the web

application and extraction of the BP model

18

Page 19: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

Conclusions and future work

19

A modeling framework

• a model-driven design process for service orchestrations

• Helps the initial design of the process

• Helps for its evolution when requirements change

• the extensibility of the model, through the concept of activity types

• the availability of well-established code generation technology

• great improvement in productivity

Ongoing and future work

• industrial implementation

• reverse engineering of BP models

Page 20: WebRatio BPM: a Tool for Designing and Deploying Business Processes on the Web

20

Thank You! Questions?

Come and see us at the booth!(And video on youtube)

Contact:

Stefano Butti

Marco Brambilla

Piero Fraternali

[email protected]

[email protected]

[email protected]

www.webratio.com