IBM Software Group Get on top of your business processes through automation with WebSphere and WebSphere MQ Workflow Tillmann Schall (anaptecs GmbH) Alexander Marschoun (IBM Austria)
Agenda Introduction Integrating WebSphere MQ Workflow into EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
Table of contents Introduction Integrating WebSphere MQ Workflow into EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
Introduction / Background Presentation is based on experiences that were made in a project for a group of liability insurances in Germany. Within this project all business processes were optimized and fully supported by the developed software. All existing legacy systems were stripped.
Architecture for Workflow Applications WebSphere Application Server Application Client Additional Services (e.g. Document Service) EIS Tier Web Client Scheduling Service User Access Management Workflow Service IBM Content Manager IBM SecureWay (LDAP-Server) IBM WebSphere MQ Workflow Persistence-Layer IBM DB2 Firewall
Table of contents Introduction Integrating WebSphere MQ Workflow into EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
WebSphere MQ Workflow Overview Who? Persons What? Processes With? Applications
WebSphere MQ Workflow Overview FDL Buildtime Workflow Definition (Processes, Staff, ) Runtime Workflow Execution
Why integrating the Runtime? Need for application with consistent look & feel Starting Use Cases which are not executables Transferring business data from activity to activity Evaluating business data in transition conditions
The Business Process Metamodel Business Process Use Case Business Transaction
Workflow Service Architecture Overview MQ Workflow Buildtime FDL Application Client WebSphere EJB Server Service A Worklist Workflow Service MQ WF Client MQ Workflow Server Service B
Solution Architecture Details WebSphere Application Server 4.0 & MQ Workflow 3.2 Stateful Session Beans Caching Adapter Objects Presenting Item Data Objects Item Identifiers Instantiating the Use Cases (Check out, Check in, Transferring Context Data)
Refreshing the Worklist Application Client Application Server WfS- Stub WfS- Bean MQ WF Client MQ WF Server refreshworklist() queryworkitems() cacheitems() createitemdataobjects()
Starting a Use Case Application Client Application Server WfS- Stub WfS- Bean MQ WF Client MQ WF Server startuc(identifier) fetchworkitem(identifier) checkout() evaluateucname() evaluateinputcontext() createucbeanobject() startucbean()
Context Data Mapping In MQ WF every activity has Input- and Output-Variables with one of the following types: String, Float, Long, Binary. How to transfer application specific Business Objects between activities (Use Cases)? How to evaluate transition conditions based on attributes of Business Objects without spoiling the application code?
Context Data Mapping #FE08# ABC #4711# XYZ #Input# ABC:Customer, #Output# XYZ:Contract, DEF:Contract.amount, # Workflow Service Service MQ WF View Application View Customer Contract
Authorization WebSphere MQ Workflow (Authorizations: Processes, Work Items) User Access Management (Application specific e.g. LDAP)
Table of contents Introduction Integrating WebSphere MQ Workflow in EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
Scheduling Service - Meeting real life demands Business Process Requirements Most processes are still focused on documents. Returning documents trigger continuation of running process(es) Processes may require delay between business activities (e.g. sending invoice and checking of payment two weeks later) Restrictions of WebSphere MQ Workflow No time- / date-triggered business activities No triggers to continue suspended processes No support for start of new business processes at a certain point of time Real life?
Modeling Scheduled Use Cases Use Case sets scheduling parameters Technical activity ensures that scheduled use case, will not start immediately STATUS = BECAME_DUE STATUS = MANUAL_STARTED Depending on how the technical activity completed, use cases are executed
Scheduling Service Architecture Desktop WebSphere Application Server special work list for scheduled activities Scheduling Service User Access Management Workflow Service EIS Tier IBM WebSphere MQ Workflow Scheduler scheduler to start activities that became due persistent objects to manage scheduling information Persistence Layer IBM SecureWay (LDAP Server) IBM DB2
How to access WebSphere MQ Workflow? WebSphere Application Server EJB Container 0 EJB Container n-1 stateless Scheduling Service Bean Workflow Service Bean... stateless Scheduling Service Bean Workflow Service Bean stateless Scheduling- Service Bean stateless Scheduling Service Bean Shared Workflow Service bean in each container stateless Scheduling Service Bean stateless Scheduling Service Bean
Scheduling Service Programming Model Business Activity WebSphere Application Server Business Transaction n-1 Business Transaction n begin create,update, start, delete, search commit Business Transaction n+1 value objects for client- / servercommunication Scheduling Service EJB uses container managed transactions to participate in transaction n
Table of contents Introduction Integrating WebSphere MQ Workflow into EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
Summary and Conclusion Both solutions are working quite well. The developed software system is almost productive, field tests are already running. Integrating and extending WebSphere MQ Workflow is quite a lot of work especially when dealing with complex requirements Since current version 3.4 integration is much easier due to support for stateless servers and synchronization of user data with LDAP directories.
Table of contents Introduction Integrating WebSphere MQ Workflow into EJB-Environments Extending WebSphere MQ Workflow with scheduling functionality Summary and Conclusion Questions and Answers
Questions and Answers