Presentation is loading. Please wait.

Presentation is loading. Please wait.

Execute your Processes

Similar presentations


Presentation on theme: "Execute your Processes"— Presentation transcript:

1 Execute your Processes
Uni Augsburg, researcher, computer science, working on Ph.D. about combination of business processes and semantic technologies Project co-lead of Project Java Workflow Tooling that started in 2007. with Eclipse JWT

2 Workflow and Business Process Management
Current situation in BPM: BPMN version 2.0 nearly finalized BPDM standard finalized since May 2008 EPC part of the ARIS house, developed by IDS Scheer and used by many german companies such as SAP UML for software design but also to model dynamic behavior of a system and a process or workflow is exactly like that. Currently version XPDL developed by the WfMC, currently in version 2.1 WSBPEL (formerly BPEL4WS), version 2.0, an OASIS standard since 2007 Florian Lautenbacher, University of Augsburg, Germany

3 Workflow and Business Process Management
Current situation in BPM: Many graphical modeling languages BPMN, BPDM EPCs UML Activity diagrams ... BPMN version 2.0 nearly finalized BPDM standard finalized since May 2008 EPC part of the ARIS house, developed by IDS Scheer and used by many german companies such as SAP UML for software design but also to model dynamic behavior of a system and a process or workflow is exactly like that. Currently version XPDL developed by the WfMC, currently in version 2.1 WSBPEL (formerly BPEL4WS), version 2.0, an OASIS standard since 2007 Florian Lautenbacher, University of Augsburg, Germany

4 Workflow and Business Process Management
Current situation in BPM: Many graphical modeling languages BPMN, BPDM EPCs UML Activity diagrams ... Many process languages and technical formats XPDL jPDL BPEL BPMN version 2.0 nearly finalized BPDM standard finalized since May 2008 EPC part of the ARIS house, developed by IDS Scheer and used by many german companies such as SAP UML for software design but also to model dynamic behavior of a system and a process or workflow is exactly like that. Currently version XPDL developed by the WfMC, currently in version 2.1 WSBPEL (formerly BPEL4WS), version 2.0, an OASIS standard since 2007 Florian Lautenbacher, University of Augsburg, Germany

5 Florian Lautenbacher, University of Augsburg, Germany
Florian Lautenbacher, University of Augsburg, Germany

6 Workflow and Business Process Management
Current situation in BPM (2): Even more process engine implementations OW2 Bonita, mainly developed by Bull, XPDL engine with specific extensions OW2 Orchestra, developed by Bull, BPEL 1.1 compliant engine Enhydra Shark, also from the ObjectWeb consortium jBPM 4, developed by JBoss, Tom Baeyens had a talk about it this morning ApacheODE will be introduced by Tammo van Lessen today at 6pm Florian Lautenbacher, University of Augsburg, Germany

7 Workflow and Business Process Management
Current situation in BPM (2): Even more process engine implementations OW2 Bonita, mainly developed by Bull, XPDL engine with specific extensions OW2 Orchestra, developed by Bull, BPEL 1.1 compliant engine Enhydra Shark, also from the ObjectWeb consortium jBPM 4, developed by JBoss, Tom Baeyens had a talk about it this morning ApacheODE will be introduced by Tammo van Lessen today at 6pm and a lot of others... compare e.g. Florian Lautenbacher, University of Augsburg, Germany

8 Workflow and Business Process Management
Current situation in BPM (3): Many tools for modeling, but most of them are not compatible Modeling processes: BPMN editor as part of Eclipse BIZAGI BPMN modeler with more than 100,000 users as they say themselves Many companies simply use Visio to model their processes BOC Adonis Spagic by Engineering from Italy (SOA/BPM) TIBCO Business Studio and a lot of others... compare e.g. Florian Lautenbacher, University of Augsburg, Germany

9 Java Workflow Tooling Goals of JWT: Support for workflow and business process modeling, deployment, execution and monitoring inside Eclipse Provide a complete, flexible, interoperable and usable BPM toolkit Framework in Eclipse that is interoperable with existing modeling languages, process execution languages, process engines and modeling tools. How can this be achieved? Mainly by transformations, but also by many extension points, etc. Florian Lautenbacher, University of Augsburg, Germany

10 Java Workflow Tooling Set of generic and extensible plugins and APIs
Goals of JWT (2): Set of generic and extensible plugins and APIs Extensions allowing support for specific business representations, process language formats, process engines, service platforms, etc. Targeting and supporting SOA in close collaboration with the Eclipse STP project Committers of our project are also contributors of STP and vice versa. Florian Lautenbacher, University of Augsburg, Germany

11 Components of JWT Currently five main components. Workflow editor to model the processes Desktop to simulate them without a process engine Transformations to be interoperable with other formats and languages, to generate code Runtime to support execution of workflows, services, Java applications, etc. WAM for Deployment, Starting and Terminating workflows and monitoring them The first ones centered around our JWT metamodel that tries to combine the advantages of other notations without having too many constructs. As research has shown most constructs of BPMN e.g. are not used at all, many only need four constructs for modeling: tasks, start event, end event and sequence flow. Some gateways are also heavily used (XOR, AND; 77%, organisation units still 69%). zur Muehlen et al Florian Lautenbacher, University of Augsburg, Germany

12 JWT Metamodel Florian Lautenbacher, University of Augsburg, Germany
Core of the metamodel. Elements can be packaged and also referenced by other model elements. Florian Lautenbacher, University of Augsburg, Germany

13 JWT Metamodel (2) Nodes and Edges as always :-) But also the possibility to structure processes into another and link from one to others. Florian Lautenbacher, University of Augsburg, Germany

14 Workflow Editor (WE) Extension points overview
External plugins can listen to changes that happen in the JWT Workflow Editor selecting an element moving an element to another location double clicking on it External plugins can add their own property descriptors in order to have a more specific way to enter properties for tasks Drag and Drop support is also existing for other plugins Other plugins can have their own factories: have their own images for model elements have own icons in the palette have a completely new palette have a different behavior of the element in the workflow editor External plugins can also add new menu entries in the JWT menus add their own icons to the JWT toolbar Can sponsor their own views, if they like not only the business and technical view that are already available have a BPMN view, a UML activity diagram view, an EPC view, you name it! External plugins can add their own editor sheets: they can modify the existing overview sheet or simply deactivate it if not used at all They can add new textual editor sheets to modify properties or to show not only the graphical process but also the code have new GEF graphical editor sheets Add new property sections, but also completely new property tabs Florian Lautenbacher, University of Augsburg, Germany

15 Demo Part 1: From BPMN to JWT
Start with a model in BPMN Transform it into JWT Add technical details Florian Lautenbacher, University of Augsburg, Germany

16 Views in the Workflow Editor
Based on the „MDSD light“ - principle: MDSD Business Expert CIM MT PIM IT-Expert Explain mostly familiar MDE principles with different model levels, model transformations between them; different people involved. MDSD light on the other side is more convenient especially for SMEs, only one underlying model with different views. So if a business expert changes anything the IT expert automatically sees the changes and needs to adapt his execution. Less model transformations and this DSM allows to simulate the process as well as to generate executable code. Of course this principle has its disadvantages especially for big companies and big projects, where the process execution differs completely from the actual process model envisioned before. MT PSM IT System Code Code Florian Lautenbacher, University of Augsburg, Germany

17 Views in the Workflow Editor
Based on the „MDSD light“ - principle: MDSD MDSD light Business Expert CIM business view domain-specific model (DSM) MT simulation IT view PIM IT-Expert transformation / generation Explain mostly familiar MDE principles with different model levels, model transformations between them; different people involved. MDSD light on the other side is more convenient especially for SMEs, only one underlying model with different views. So if a business expert changes anything the IT expert automatically sees the changes and needs to adapt his execution. Less model transformations and this DSM allows to simulate the process as well as to generate executable code. Of course this principle has its disadvantages especially for big companies and big projects, where the process execution differs completely from the actual process model envisioned before. MT PSM IT System Code Code XML-Code Florian Lautenbacher, University of Augsburg, Germany

18 Aspect-oriented extensions of the Workflow Editor
Why extending the editor via aspects? Provide additional nodes that don‘t exist in the original metamodel Call vendor specific custom actions for specific model elements Have additional properties on already existing metamodel elements Another advantage of the WE: Aspect-oriented extensions possible. Research area of aspect-oriented modeling, somehow similar to the idea of aspect-oriented programming most people will be aware of. Several requirements for having such aspects (see topics on slide) Florian Lautenbacher, University of Augsburg, Germany

19 Aspect-oriented extensions of the Workflow Editor
Concrete example: views Not existing modeling elements are required e.g. EPC Event Here we have the same process as shown in the demo before, but now in a view that is similar to EPCs. Here, we need an EPC event in addition which is not existing in the standard JWT metamodel (light red boxes). After each action an event must be shown. This EPCEvent has been added via aspects to the workflow editor and people working with the editor won‘t see a difference if the aspect is enabled. Florian Lautenbacher, University of Augsburg, Germany

20 Aspect-oriented extensions of the Workflow Editor
Why not using EMF annotations? EMF annotations are not typed (risks of conflicts) Adding custom information to an element in EMF means subclassing it Several such custom extensions (e.g. from different vendors) would mean to create a new node type that extends all of them Neither flexible nor open to the end user People might say, okay, I have EMF annotations e.g. for BPMN editor as well. Why do I need this aspects? Florian Lautenbacher, University of Augsburg, Germany

21 Aspect-oriented extensions of the Workflow Editor
Any EMF model can have a configuration (ConfModel) including Profiles (features) Each Profile specifies its Aspects (typed) Instantiated on elements of the decorated model A set of profiles is stored in a conf-file that can be enabled / disabled for a specific workflow. Each profile has its own name and description and can also state the version number and the author. Each aspect has an ID, a type and states whether it shall be automatically added to each newly created model element (e.g. for properties!), whether it can exist multiple times or only a single time (each task shall be logged in an own file) and what the defaultValue of this is. And of course, for which target model elements (e.g. Action, DecisionNode, etc.) this aspect shall be enabled. Florian Lautenbacher, University of Augsburg, Germany

22 Using templates in the Workflow Editor
Export of often required model elements Packages, Applications, Data, Roles, etc. Easy reuse in other process models and workflows E.g. the data credit card or the mail address will be needed in several processes, not only in this one. So it would be a pity to create it together with all technical data again and again. Also the web service for validating an address might be needed more than once. So it can be exported and reused as well. Florian Lautenbacher, University of Augsburg, Germany

23 JWT Transformations Import (already seen) Export:
HTML documentation of the modeled processes JWT back to BPMN JWT to STP-IM Both using the ATLAS Transformation Language (ATL) JWT to XPDL (e.g. packed in a Bonita Archive) JWT to jPDL JWT to BPEL ... Exports all data, roles, applications, processes, etc. specified with all details and each description to an HTML file that can then be stored for documentation purposes. Nearly round-trip from BPMN to JWT, but of course some information are lost between the one and the other. STP-IM is the intermediate model of the SOA Tools Platform project of Eclipse and builds a bridge to all editors there (SCA, JBI, BPMN, etc.). XML-code generation of XPDL code, either standalone or already packed to deploy it on a process engine such as Bonita. Incubation version of a JWT to jPDL transformation which needs to be refined in the future. We are collaborating with guys from JBoss here who will assist us in the near future in this topic. JWT to BPEL code which is further explained on the next slide. Florian Lautenbacher, University of Augsburg, Germany

24 JWT Transformations JWT to BPEL: Workflow Codegeneration
Internal process model format DSL specific process format Process transformer and optimizer Adapter for DSL process models Code generation templates Process Visitor III II IV I Wf-Codegen is a SourceForge project that makes a transformation of a graph-based model into a block-based notation. One example that has been implemented is from JWT to BPEL 1.1. Due to its modularity it can easily be adapted to other modeling tools. The adapter transforms the external process into an internal format and then transforms the graph using a token-flow algorithm. Afterwards a process visitor is called that searches for existing generation templates that are specific to the modeling tool as well as the execution language. e.g. JWT Workflow e.g. BPEL for JBoss jBPM Florian Lautenbacher, University of Augsburg, Germany

25 Demo Part 2: Views & From JWT to XPDL/BAR
Show different views of process: UML Activity diagram as well as Event-driven Process Chains (EPCs) Export process to Bonita Archive (BAR file with XPDL included) XPDL Florian Lautenbacher, University of Augsburg, Germany

26 JWT Runtime Task Engine Framework
API to handle automated tasks at runtime with the same paradigm as the one used at model-time Applications as black boxes Independent from engine Using data mapping Builds a bridge between process engines and human interaction on the one side with automated task implementations on the other Runtime in its initial phase. First implementation here is the task engine framework. Florian Lautenbacher, University of Augsburg, Germany

27 JWT Runtime Task Engine Framework
Runtime in its initial phase. First implementation here is the task engine framework. Florian Lautenbacher, University of Augsburg, Germany

28 JWT Integration: AgilPro
AgilPro LiMo for modeling business processes and workflows based on JWT WE, includes JWT Transformations includes Wf-Codegen and other additional plugins AgilPro Simulator preview process without process engine AgilPro integration framework layer on top of jBPM execute web services in BPEL Florian Lautenbacher, University of Augsburg, Germany

29 Demo Part 3: JWT Integration with AgilPro
Demo Enter book details, search for book at Amazon Preview in the AgilPro Simulator Florian Lautenbacher, University of Augsburg, Germany

30 JWT Integration: Scarbo
What is Scarbo ( An open, SOA ready, SCA powered BPM solution built on OW2 and Eclipse Implements the JWT Task Engine Framework on top of Nova Bonita 4 workflow engine What can Scarbo do for you? Builds a bridge between workflows and web services Gives the ability to develop and execute processes that Call webservices or SCA defined services (using OW2 Frascati) Run Groovy scripts Send s One implementation of the task engine framework is the new OW2 project Scarbo. Service Component Architecture by the Open SOA group. Combines OW2 Bonita and OW2 Frascati using the task engine framework. Has some more features such as run Groovy scripts or automatically sending s, etc. In development by OpenWide, FR. Florian Lautenbacher, University of Augsburg, Germany

31 JWT Integration: Scarbo (2)
Eclipse JWT + Scarbo plugins Eclipse STP SCA Editor Any SOA STP-IM BPM Compatibility XPDL SCA Workflow Engine Scarbo plugins extend the JWT Workflow Editor with workflow engine specific elements The STP-IM allows to transform JWT into SCA and refine the services there to generate SCA code JWT generates the XPDL workflows that are packages and uploaded to Bonita SCA is uploaded to Frascati Service Platform. Scarbo runtime allows the interaction between workflow engine and service platform. Scarbo runtime Service Platform FraSCAti Nova Bonita Florian Lautenbacher, University of Augsburg, Germany

32 Demo Part 4: Execute the Process
Deploy process on Nova Bonita, execute it Show final results on Amazon site XPDL We‘ll show this on the basis of the former process model Florian Lautenbacher, University of Augsburg, Germany

33 Summary and Conclusions
JWT provides an extensible framework for workflows, business processes and services Contains already many plugins for workflow modeling and transformations Still work to do for deployment, execution and monitoring support directly in Eclipse JWT will be shipped together with Galileo in June Florian Lautenbacher, University of Augsburg, Germany

34 Thanks for your attention!
Any questions??? website: newsgroup: eclipse.technology.jwt Contact us at our newsgroup or at the JWT mailing list. See the whole video with comments on our website and find more information about JWT there. Feedback & Contributors more than welcome :-) Florian Lautenbacher, University of Augsburg, Germany

35 Legal notice These slides are made available under the Eclipse Public License (EPL) version 1.0. Eclipse and the Eclipse logo are trademarks of the Eclipse Foundation, Inc. Eclipse Forum Europe is organized by the Software & Support Verlag GmbH and the icons shown here are property of them. The standards, companies, products and service names depicted in these slides may be trademarks or registered elsewhere by corresponding companies. THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND THE AUTHOR SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. Florian Lautenbacher, University of Augsburg, Germany

36 Backup Florian Lautenbacher, University of Augsburg, Germany

37 JWT Metamodel - References
Florian Lautenbacher, University of Augsburg, Germany

38 JWT Metamodel – Organisation & Application
Florian Lautenbacher, University of Augsburg, Germany

39 JWT Metamodel - Data Florian Lautenbacher, University of Augsburg, Germany

40 JWT Sample Aspect-oriented Extension
Florian Lautenbacher, University of Augsburg, Germany


Download ppt "Execute your Processes"

Similar presentations


Ads by Google