Software Workflow with WebSphere Process Server and WebSphere Integration Developer Fenglian Xu WebSphere ESB Development IBM UK Laboratories xufengli@uk.ibm.com SOA on your terms and our expertise © 2007 IBM Corporation Software Agenda Overview IBM SOA Platforms WS-BPEL 2.0 Assemble with WebSphere Integration Developer Deploy with WebSphere Process Server Summary 2 SOA on your terms and our expertise © 2007 IBM Corporation Software Human-Centric BPM with IBM WebSphere Tools and Clients for All Key User Roles Process Engineers / Integration Specialists Business Users Collaborative Development Clean hand-off to IT with business models and metrics WebSphere Integration Developer Integrated deployment of policies, rules, and process services based on an SOA platform with seamless support for human workflow Workflow and Choreography Business Modeling and Simulation WebSphere Process Server WebSphere Business Modeler Content Management Business Monitoring, Dashboards and Analytics Feedback for continuous improvement and optimization WebSphere Business Monitor Business Analysts 3 Real time collaboration and management of business processes Business User Clients Interact with business processes, collaborate, and perform human tasks Manage running processes and tasks BPC Explorer BPC Observer Business Managers / Business Operations SOA on your terms and our expertise © 2007 IBM Corporation Software SOA Reference Architecture Supporting your SOA Lifecycle Business Innovation & Optimization Services Integrated environment for design and creation of solution assets Process Services Information Services Enables collaboration between people, processes & information Orchestrate and automate business processes Manages diverse data and content in a unified manner Facilitates communication ESB IT Service Management Interaction Services between services Partner Services Business App Services Access Services Connect with trading partners Build on a robust, scaleable, and secure services environment Facilitates interactions with existing information and application assets Apps & Info Assets Development Services Facilitates better decision-making with real-time business information Manage and secure services, applications & resources Infrastructure Services Optimizes throughput, availability and performance 4 SOA on your terms and our expertise © 2007 IBM Corporation Software Introducing the IBM SOA Foundation Provides What You Need to Get Started with SOA IBM SOA Foundation: Integrated, open set of software, best practice, and patterns Supports complete lifecycle with a modular approach IBM SOA Foundation Software Extends value of your existing investments, regardless of vendor Extensive business and IT standards support; facilitating greater interoperability & portability Scalable; start small and grow as fast as the business requires Skills & Support Leveraging existing IT Infrastructure CICS 5 IMS Custom Apps. SOA on your terms and our expertise © 2007 IBM Corporation Software WebSphere Process Server Leveraging infrastructure services from WAS ND WebSphere Process Server: Process layer builds on WebSphere ESB and WebSphere Application Server foundation to deliver robust business process management Use WebSphere Process Server when you need to automate business processes that span people, workflows, applications, systems, platforms, and architectures 6 Support for all styles of integration, including human tasks, roles based task assignments, and multilevel escalation. Business rules, business state machines, and selectors to dynamically choose interface based on business scenarios Change business processes on the fly with relatively minimal skills WebSphere ESB Mediation layer builds on WebSphere Application Server foundation to provide intelligent connectivity WebSphere Application Server Network Deployment Builds on WebSphere Application Server foundation to deliver a highly available transaction engine with advanced performance and management capabilities WebSphere Application Server Transport layer foundation provides infrastructure via JMS 1.1, HTTP, IIOP SOA on your terms and our expertise © 2007 IBM Corporation Software WebSphere Enterprise Service Bus An Enterprise Service Bus (ESB) is a flexible connectivity infrastructure for integrating applications and services. An ESB powers your SOA by reducing the number, size, and complexity of interfaces. An ESB performs the following between requestor and service • ROUTING messages between services • CONVERTING transport protocols between requestor and service • TRANSFORMING message formats between requestor and service • HANDLING business events from disparate sources 7 Shape = Protocol Color = Data type SOA on your terms and our expertise © 2007 IBM Corporation Software WS-BPEL 2.0 Industry standard language for expressing business processes – Leverage a common skill set and language Designed to fit naturally into the Web services stack – Expressed entirely in XML – Uses and extends WSDL 1.1 – Uses XML Schema 1.0 for the data model Portable across platform and vendor – Will run on any WS-BPEL-compliant engine Interoperable between interacting processes – Layering on top of Web services stack WS-BPEL is a Recursive Aggregation Model for Web Services Stateful conversations and lifecycle management – Supports multiple stateful long-running conversations Recoverability – Long running business processes need fault handling and compensation mechanisms to manage and recover from errors 8 SOA on your terms and our expertise © 2007 IBM Corporation Software WS-BPEL Language Constructs WS-BPEL process definition Recursive composition and partner links Variables Variable properties Correlation sets Basic and structured activities Scopes Compensation handling 9 SOA on your terms and our expertise © 2007 IBM Corporation Software “WS-BPEL Patterns” Example: “Replay” Activities Repeat while input invalid Step 3a Step 1 Step 2 Step 4 Step 5 Step 6 Step 3b 10 SOA on your terms and our expertise © 2007 IBM Corporation Software WebSphere Integration Developer Assembling composite applications with ease Streamlining process design hand-off between business and IT – Import and work with business process models directly from the business analyst (WebSphere Business Modeler) Simplifying and speeding composite application development – An Assembly Editor for overall solution assembly – All the tools you need for building solution components (Editors for BPEL, Business Rules, Business State Machines, Interface Maps, …) – One, easy-to-learn end user interface based on Eclipse Architected for reuse and flexibility – Simplified component interfaces – Plug-and-play solution components – Ability to leverage existing services and develop for future reuse 11 SOA on your terms and our expertise © 2007 IBM Corporation Software WebSphere Integration Developer BPEL without Coding – Standards-Based Process Support Import models from WebSphere Business Modeler Develop executable process – WS-BPEL-based business processes – WS-BPEL with or without IBM extensions Intuitive drag-and-drop tools – Visually define the sequence and flow of business processes A visual business process debugger – Step through and debug business processes Integrated fault and event handling – Provide an easy and integrated means of handling in-flow exception handling and external events Compensation support – Provide a logical “undo” capability 12 SOA on your terms and our expertise © 2007 IBM Corporation Software Elements of WebSphere Process Server Supports all aspects of process integration z/OS Service Components Supporting Services SOA Core Business Processes Business Human + Human Tasks Processes Tasks = Human Workflow Mediation Flows (ESB) Interface Maps Service Component Architecture Business State Machines Business Object Maps Business Objects Business Rules Dynamic Service Selection Relationships Common Event Infrastructure WebSphere Application Server ND (J2EE Runtime) 13 SOA on your terms and our expertise © 2007 IBM Corporation Software Service Component Architecture (SCA) – Components Reminder Interface: Reference: How to call this component What this components calls Component Java Interface I WSDL Port Type Uniform Representation of encapsulated Implementation 1..1 Java Interface 1..1 WSDL Port Type 14 SOA on your terms and our expertise © 2007 IBM Corporation Software Two Styles of Service Choreography Business Processes Business State Machines – Traditional Business Processes – Event-driven Business Processes – Full support for WS-BPEL – Full support for State Machine programming model – Import from WebSphere Business Modeler • • 15 States, Events, Transitions, Actions, Guards, … State Machine Authoring / Debugging / Logging SOA on your terms and our expertise © 2007 IBM Corporation Software Business Processes WS-BPEL compliant business process engine Simplified Process Editor – Optional simplification of terms Generic Business Process – Operations / Parameters – Service Implementation Details hidden Transactions / Compensation Full XPath 1.0 Support 16 SOA on your terms and our expertise © 2007 IBM Corporation Software Business State Machines State Machine Implementation – Based on UML 2.0 State Machine Models – Event driven business processes – Creates WS-BPEL under the covers Simple/Complex States – Entry/Exit Transitions – Events – Actions (invokes) – Guards – Timeout 17 SOA on your terms and our expertise © 2007 IBM Corporation Software BPC Standard Client – BPC Explorer Graphical View for Processes Provide graphical view for process structure and instances – Actions in the graphical view: • Zoom and scroll within the view • Expand and collapse event, fault and compensation handlers • Show additional information about elements when moved over • Navigate to activity details view Usage scenarios – Understand process structure Activity Details – Check status of process and its activities Like process instance monitor in WebSphere MQ Workflow 18 SOA on your terms and our expertise © 2007 IBM Corporation Software BPC Standard Client – BPC Observer Reporting for Business Processes Allows observing state and evolution of business processes e.g., overall duration, actual work time Provides customizable reports and graphical charts of historical and accumulated data of business processes Supports flexible drill-down capabilities to retrieve statistical data on processes and activities Has been available as sample in 6.0.1 and is now a fully supported product feature 19 SOA on your terms and our expertise © 2007 IBM Corporation Software BPC Standard Client – BPC Observer Reporting for Business Processes – Technical Background BPC Observer has same look & feel as BPC Explorer – Built with JSF and BPC JSF Components Collects BPC emitted events leveraging CEI – Can observe multiple BPC containers Configuration is part of overall BPC BPC – Also available in WID BPC Observer Client BPC Observer Event Data BPC Observer Datastore WAS 20 Store event data Common Event Infrastructure Event Collector Common Base Events WPS WAS SOA on your terms and our expertise © 2007 IBM Corporation Software Business Rules Overview Business Rules allow to externalize business logic from applications (business processes) Business Rules can be dynamically updated at runtime using the Business Rules Manager web application • NLS enabled free text representation for rules Business Rules provide the most-requested rules functionalities – Decision Tables – Rule Sets (If/Then Rules) – Rule Templates – Action Rules Rules Groups are provided for ease of use – Allow encapsulation of detailed implementation in a component with a well defined interface 21 SOA on your terms and our expertise © 2007 IBM Corporation Software Dynamicity with Business Rules Programmer defines rules from templates This exposes the rule parameters to Business Rules Manager Tools WebSphere Integration Developer Runtime WebSphere Process Server Using Business Rules Manager, the Business Analyst changes rules at runtime No need to restart the application Users are authenticated using standard WAS authentication / security Changes may be exported back to WID 22 SOA on your terms and our expertise © 2007 IBM Corporation Software notify create start notify 23 Task Participant Interface start Purely Human Task Task Participant Interface create Participating Task Originating Task Web Service Interface Web service Task Originator Interface return Task Originator Interface invoke Task Web Service Interface Human Tasks – Overview and Interaction Patterns query claim complete query claim complete invoke return Web service service Web SOA on your terms and our expertise © 2007 IBM Corporation Software Server Controlled Page Flow (aka Single Person Workflow) Automatically present users with the page for the next task in the process Controlling the flow of UI interactions with a single individual – Series of human tasks in a process to be performed by the same person – Each page represents a human task New completeAndClaimSuccessor API Tasklist BusinessFlowManagerService operations Page 1 claim() completeAndClaimSuccessor() Page 2 completeAndClaimSuccessor() ... completeAndClaimSuccessor() Page n User / Client 24 complete() WPS SOA on your terms and our expertise © 2007 IBM Corporation Software Dynamic Service Selection Overview Date Based Selection Target Components 25 Client makes a call to the Selector Component Selector determines dynamically which implementation of a target destination to invoke Selection is based on a Selector Algorithm – Framework for custom selector algorithms The default Selection is date based SOA on your terms and our expertise © 2007 IBM Corporation Software Dynamicity using Dynamic Service Selection Programmer defines What components to invoke The selection criteria The selector behavior can be modified at runtime Tools WebSphere Integration Developer Runtime WebSphere Process Server At runtime System Administrator can modify/add/delete – Modify or add the date/time – Target component • From a list of installed Components with the matching interface Changes may be exported back to WID 26 SOA on your terms and our expertise © 2007 IBM Corporation Software Transformation Components Interface Maps, Business Object Maps, and Relationships Interface: doOrder(Order) Export: doOrder BO (Order) Order OrderID 27 Interface: submitOrder(SAPOrder) Interface Map Business Object Map Relationship BO (SAPOrder) Import: submitOrderSAP SAPOrder SAPID SOA on your terms and our expertise © 2007 IBM Corporation Software References and Further Readings Business Process Choreographer on developerWorks Business Process Choreographer Samples page Business process choreography in WebSphere: Combining the power of BPEL and J2EE http://www7b.boulder.ibm.com/wsdd/zones/was/wpc.html http://publib.boulder.ibm.com/bpcsamp/index.html http://researchweb.watson.ibm.com/journal/sj/432/kloppmann.html IBM Systems Journal Issue on Service Oriented Architecture SOA programming model for implementing Web services, Part 8: Human-based Web services http://researchweb.watson.ibm.com/journal/sj44-4.html http://www-128.ibm.com/developerworks/webservices/library/ws-soa-progmodel8/ Web Services Platform Architecture (Prentice Hall, 2005) Web Services Business Process Execution Language Version 2.0, Public Draft http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf 28 WS-BPEL Extension for People WS-BPEL 2.0 Extensions for Sub-Processes BPELJ: BPEL for Java technology http://www.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/ http://www.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc/ http://www.ibm.com/developerworks/library/specification/ws-bpelj/ SOA on your terms and our expertise © 2007 IBM Corporation Software Thank You! Questions? 29 SOA on your terms and our expertise © 2007 IBM Corporation Software Learning More about WPS and WID IBM Education Assistant Overview, Big Picture and New Functions Installation and Migration Programming for Service Oriented Architecture Monitoring SOA Integration Applications Supporting Services for Service Applications Enterprise Service Bus Application Components Integration with enterprise applications using WebSphere Adapters Unit Testing Service Components System Administration Clustering Building integration applications - end-to-end scenario http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wpi_v6/wpi6_coverpage.html 30 SOA on your terms and our expertise © 2007 IBM Corporation Software Thai Traditional Chinese Gracias Russian Spanish Thank You English Merci French Obrigado Brazilian Portuguese Arabic Grazie Danke Italian German Simplified Chinese Japanese 31 SOA on your terms and our expertise © 2007 IBM Corporation software Template Revision: 3/09/2005 9:40 AM Trademarks, Copyrights, and Disclaimers The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM IBM(logo) e(logo)business AIX CICS Cloudscape DB2 DB2 Universal Database IMS Informix iSeries Lotus MQSeries OS/390 OS/400 pSeries Tivoli WebSphere xSeries zSeries Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Other company, product and service names may be trademarks or service marks of others. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This document could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or program(s) described herein at any time without notice. Any statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Any reference to an IBM Program Product in this document is not intended to state or imply that only that program product may be used. Any functionally equivalent program, that does not infringe IBM's intellectual property rights, may be used instead. Information is provided "AS IS" without warranty of any kind. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted, if at all, according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. IBM makes no representations or warranties, express or implied, regarding non-IBM products and services. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents or copyrights. Inquiries regarding patent or copyright licenses should be made, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here. © Copyright International Business Machines Corporation 2004. All rights reserved. Note to U.S. Government Users - Documentation related to restricted rights-Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract and IBM Corp. 32 SOA on your terms and our expertise