200 likes | 317 Views
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 7 th 2010, Vienna. Agenda. Introduction Development Process WebML Workflow Primitives Model Transformation
E N D
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, PieroFraternali Web Models Srl, Italy ICWE 2010, July 7th 2010, Vienna
Agenda • Introduction • Development Process • WebML Workflow Primitives • Model Transformation • Conclusions
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
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
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
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)
Background: BPMN(Business Process Model Notation) • 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)
Background: WebML (Web Modeling Language)www.webml.org • 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)
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)
BPMN WebMLtransformation (1) One control siteview per pool: Human interaction (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 (2) One control serviceview per pool: WS Choreography • 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
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) NEXT
A step-by-step example (1): Extended BPMN model • the complete BPMN example
A step-by-step example (2): Content model • The metadata needed for tracking the process execution enacting the web service orchestration + application- specific data
A step-by-step example (3): Site- and Service- view • Views for starting the process / orchestration (manual and service-based)
A step-by-step example (4): Orchestration siteview • Views for orchestrating the call to the modules (services, hypertext, or gateways)
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)
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 WebRatio BPMN Editor
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
Conclusions and future work • 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
Thank You! Questions? Come and see us at the booth! (And video on youtube) Contact: Stefano Butti Marco Brambilla Piero Fraternali Stefano.butti@webratio.com Marco.brambilla@webratio.com Piero.fraternali@webratio.com www.webratio.com