Application Servers G22.3033-003 Session 7 Main Theme Business Process Management and Related Standards Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Part I Business Process Management (BPM) 2
The little story of BPM 3 My grand-father the workflow Starts in the late 70s Theoritical foundation Petri nets Dedicated to document management Principle Manage the lifecycle of resources in a distributed environment and the state changes that happen over long periods of time (> a user session) 4
My first steps Born around 1997-1998 in the rage of B2B I am an «adaptor» between real-time B2B transactions and slower, often batch oriented enterprise systems The fundamental principle is the same, «documents» become XML documents Standardization in August 2000: BPML Dozens of startups are rushing to the gold New theoretical foundation Invented in the late 80s by Robin Milner Pi-calculus 5 My teenage crises Re-org: wander in the land of EAI after the B2B bubble burst Disappearance of my prefered standard: BPML, for a glass of CI and a plate of BPEL Isolation My barrier of entry is too high (Big Bang effect) Impossible or almost impossible to get into a JEE or.net architecture Controlled by the big guys for the better or the worst Microsoft, IBM, 6
Grown-up Who am I? Wheream I going? Whatam I doing? :-( after 10+ years of efforts we cannot talk about success )-: 7 But, Where is the Software Industry Going? 8
What s happening today Verticalization of the application architecture The big five: IBM, MS, OpenSource, Oracle, SAP «full-stack» Aggregation of all architecture concepts B2B, EAI, SOI (webmethod only independent vendor left) BPM Portals Transformation of business applications We just finished writing these applications and we now need to change the infrastructure Take advantage of the web More federation But also cost of infrastructure software (Open Source or home grown) 9 Software Industry is in transition Technologically, we are at the end of the «web-based» and << web service-based>> lifecycle An HTML browser is not a viable client It is an auxilliary client for very specific purposes We are inventing the «rich client» which brings together the advantages of the browser and native client Zero administration Federated UI (can hit multiple «servers») UI is interpreted not compiled The JEE vendors start to spread their offer, in complete anarchy to differentiate from each other and respond to the pressure of.net which start to go beyond «web-based» 10
Software Industry is in transition Architecturally, the complexity is such that: We cannot fit all the information for a given role in a single system The borders of application disappear IT cannot absorb new technologies How would you go about changing all the plumbing and electricity of a skyscrapper? Go wireless? Users do not use Business application It is now sometimes more productive to work by hand when dealing with so many systems which are incompatible and not integrated, let alone cannot capture or report on the information that they need It is harder and harder to maintain and evolve business applications Every changes has global impact and a high cost, often generating negative ROI and terrible delays 11 At the same time, technology convergence has accelerated Internet LAN Web XML 1980 1990 2000 2010 EDI Mainframe Office Workflow EAI BPM Business B2B Integration Client / Server Web/Portal J2EE.NET? 12
And the Customer Needs Have Never Been so Complex Fundamental changes in the enterprise Specialist => Generalists «without borders» Commercial Success of the model «built-to-order» or «engineer-to-order» Cycles: shorter and shorter Geographical Distribution: increasing way beyond manufacturing Budgets: as low as they can be Re-engineering: constant for production facilities, information systems and organization 13 And the Customer Needs Have Never Been so Complex «Real-time» Enterprise All possible «touch points» must be available securely information and execution Internal and external Human and systems Complexity of the tasks Deal with a much larger volume of data, information and knowledge Embedded in complex processes (task coordination) Resource access is «highly distributed» 14
And the Customer Needs Have Never Been so Complex Decrease of Product Lifecycles Establish processes for Design Production Logistic Support Maintenance Global Collaboration via virtual organisations «Network engineering and manufacturing» Supply chain optimization Demand chain optimization 15 All this results in a globalization of the information and processes Internet LAN Web XML 1980 1990 2000 2010 LAN WAN Web Information Business Processes Local Global 16
We just reached the stage of «massively connected systems» 2002-2003 led to a turning point for business application and their architectures Everything that could be networked had been networked We are going to spend the next 10 years exploiting this connectivity bounty B2B Real-time 17 This is going to be supported by the «Web-centric» model Internet LAN Web XML 1980 1990 2000 SOA 2010 Workflow EDI EAI BPM B2B Business Integration? Web-centric Mainframe Client / Server J2EE.NET Web/Portal 18
All our beliefs have been swept away, we are at the maximum confusion point Continuum Business object Document Consumer oriented (no more producer contracts ) Messages and Services No more «distributed objects» Service grids Asynchronous communications Federation and Collaboration As opposed to «Integration» Business application borders are disappearing Langage(s) Semantic (syntactic) Declarative (Procedural) Improving the productivity going from functional specification directly to execution We are reaching the concept of Loose Coupling 19 Fortunately the first web-centric «bricks» have been laid out XML «peer-to-peer» asynchronous communications The remaining problem in a massively connected architecture Managing state changes and in particular the alignment of these changes between all the entities In complete security!! 20
BPM in Application Architecture 21 A roadmap so we don t get lost BPM and UI BPM and business logic Web Services Service Oriented Architecture BPM and EAI BPM and B2B 22
User Activities in a Business Application are Asymetric This is critical to realize that to understand the role of BPM in an application architecture Queries to «pull» business objects Tasks such as Create/Delete business objects Change their state Establish relationships between business objects The link between BPM and the user interface happens at the task level BPM is not a «tier» of the architecture, it is rather a brick 23 The Tasks are the Touchpoints Between Users and Business Processes Architecturaly, we cannot separate the two aspects of the user interface A Business Process Engine is then by definition «embedded» completely separated from the user interface (tasks and queries). A user becomes a «service» like any other which exchanges messages with the business process engine Inbox concept to keep the system asynchronous This approach allows for decoupling the «user session» (short lived) from the lifecycle of business objects (long lived) A purchase order is going to go through various states: created, approved, ordered, received, paid, archived These state changes happen upon events (B2B, user, legal ) 24
The Model-View-Controller pattern revisited SelectView Query Model View Model Changed Task Request UI Controller Task Engine ChangeState Model Changed SelectTask Service Request Controller Business Process Controller 25 We are going to reach the point of a complete separation of the business logic and UI View UI Controller Query Engine Task Engine Service Request Business Process Controller ERP PLM CRM 26
But what about the concept of a «central» process engine? Enterprise-wide and omnipotent Well This notion has been introduced for the B2B where it is acceptable and accepted Does not completely work for EAI integration scenarios Does not fit at all the application architecture This concept is slowing down the development of BPM technologies 27 A business process does not have a center Load Payable Accounts Receivable Sync Party Human Resources Accounts Payable Load Receivable Update SalesOrder Sync Employee Work Schedule Sync Personnel Order Management Sync SalesOrder Add SalesOrder Customer Service Receiving Sync ItemMaster Get PickList Show PickList Update PickList Inventory Sync ItemMaster IssueInventoryMovement ReceiveInventoryMovement Create ProductionOrder Production Post JournalEntry Sync ChartOfAccounts Sync ExchangeRate General Ledger OAGIS 8.0 Scenario 41 28
IT is de facto peer-to-peer Sync ItemMaster Sync ProductionOrder Sync Routing Sync BillOfMaterial Manufacturing Capacity Analysis Sync ItemMaster Sync ProductionOrder Manufacturing/ Production Planning Sync Routing Sync BillOfMaterial Sync DispatchList Get DispatchList ERP Confirm InventoryIssue Update WIPConfirm Sync BOM Sync Routing Sync Prodorder Sync Item Manufacturing Execution (MES) Update WIPConfirm Confirm InventoryIssue Show DispatchList OAGIS 8.x Scenario 50 29 But what about the web service vision? Web Services Provider Request Internet Response Web Services Provider This is not the right view For BPM, We must think peer-topeer J2EE AppServer SOAP Messages.NET 30
One Must also Differentiate between Orchestration and Choreography Buyer PO Map Route Seller PO Approve Task PO PO Order Orchestration Entry Sales Order Orchestration Billing PO Sales Order 31 Orchestration Provide the Perfect Model for Long Running Business Logic of Services Order Entry Orchestration Definition Transition Message flow PO Approved yes NAck sendnack updatedb sendso Sales Order Ack sendack 32
This is exactly what «BPEL Java embedding» is doing mix code and Orchestration Source: Collaxa This This is is the the first first brick brick of of BPM, BPM, perfectly perfectly integrated integrated with with an an application application architecture architecture (e.g. (e.g. J2EE) J2EE) In In an an SOA, SOA, this this brick brick enables enables you you to to create create directly directly and and naturally naturally the the services services relative relative to to business business object object lifecycle lifecycle 33 On the other hand Choreography Manages the Links between the Long Running Business Logic in a SOA However, loose coupling can only be reached if we provide Mapping Routing Orchestration J2EE,.NET Choreography EAI, B2B SOA PO Map Route PO This This ««brick brick»» does does not not exist exist yet yet It It can can be be simulated simulated via via orchestration orchestration We We need need to to wait wait until until SOA SOA takes takes off off PO Order Entry PO Seller Approve Task Sales Order Billing 34
So Orchestration «is an emerging [concept] that would give programmers a way to formally describe processes underlying business applications so that they can be exposed and linked to processes in other applications» Choreography Is a concept that specifies how these processes are linked together across the enterprise Choreography can be «active» when mapping and routing are necessary 35 And what about Collaboration? The inter-enterprise message exchange is sufficiently specific to justify the use of protocols for: Business transactions Business state alignment Business object state synchronization A choreography specifies the message exchange, a collaboration and associated protocols specifies the meaning of these message Signal Notification Contract Sending a shared business object 36
Putting it all together: Concepts and Standards BPM Collaboration BPSS -transaction Protocols BPSS BTP Orchestration Composition Choreography Coordination BPEL -CHOR -CAF 37 BPM = protocol://collaboration(choreography) + (Orchestration*) + (Task*) View Task Engine Business Process Execution Is Distributed and Not Centralized Integration Server (Decoupling for B2B and EAI) Registry Orchestration Engine ERP PLM CRM Orchestration Engine Orchestration Engine 38
Using BPM technologies today Not a science fiction anymore You can definitely get started today Design and use (web) services that will potentially fit in business processes later Deploy embedded engines (commercial or open source) to manage the lifecycle of business objects Of course, can do some EAI and B2B today 39 The ultimate BPM standard 40
«Standards», who said «standard»? OASIS UDDI ws-bpel ebbp ebcpp/a ebxml ebms ebrr W3C ws-chor ws-dl XMLP (SOAP) Others «proprietary» OAGIS -I ws-security ws-addressing BPMN ebcc 41 Service Fabric Business integration Integration «Le Stack» Business Agreements Languages Choreography Languages SOA Service Services in a SOA Application Discovery Quality of service Management Security Interaction Languages Orchestration Languages UDDI Transaction Coordination -DL Context Semantic Web (RDF, OWL) Accessibility, I18N, P3P, Description Reliable Messaging Message ebpml.org, 2003 Messaging Content Transport Routing, Addressing XMLP (SOAP) Packaging HTTP, SMTP, IIOP, Runtime XML (XML 1.0, XML Schema, ), URI Design time 42
Conclusion Business application architecture is undergoing major mutation Chopping off the user interface Integration capabilities are now THE value of these applications BPM is the third fundamental brick of web-centric SOA architectures after XML and peer-to-peer Web Services BPM technology still need to evolve dramatically Orchestration, Choreography, Protocols and Collaboration Powerful tools Distributed engine as opposed to centralized You can start today applying these architecture principles, no need for Big Bang. The future will belong to whom can master massively connected systems (SOA, Grids) 43 References http://www.opengroup.org/onlinepubs/007679899/toc.pdf www.ebpml.org http://groups.yahoo.com/group/india-egov/message/1010 http://www.yared.com/ http://www.crn.com/sections/breakingnews/dailyarchives.asp?articleid=44275 http://www.research.ibm.com/convsupport/papers/edoc02.pdf 44
Part II Business Process Modeling Notation (BPMN) and BPML / BPEL4 See also: (BPMN standards) http://www.bpmi.org http://www.processwave.net/articles/softwareprocess/businessmodelingarticles.htm http://cde.berkeley.edu/resources/bpmn/ (BPMN tools) http://www.popkin.com/ http://www.popkin.com/customers/customer_service_center/demos/business/bpmn_tutorial_viewlet_swf.html http://www.popkin.com/customers/customer_service_center/demos/demos_with_overview_process_map.htm 45 Procedural Knowledge Road Map Type of knowledge/ Levels Conceptual model Deployment methodology Interoperability Process Instance level Process instance concept BPMN+ Wf-XML Process definition level Process definition concept WfMC meta-model+ BPMN XPDL+ BPMN - Business Process Modelling Notation, BPMI, 11.02 XPDL - XML Process Definition Language, WfMC, 07.02 Wf-XML - Workflow Interoperability Binding, WfMC, 11.01 46
ICONS conceptual models Process definition concepts - WfMC s workflow meta-model extended with time modeling flexible Workflow Participant Assignment [Momotko2002] Process instance concepts advanced process instance and activity instance behavioural models (timing and criticality behavior) advanced time management 47 BPMN and XPDL extensions BPMN extension (BPMN+) idea - standard well-known notation for both process definition adjusted to the needs for process instance ICONS approach - a BPMN extension to visualise process execution XPDL extension (XPDL+) performer relationships (WPA) pre & post conditions 48
Process definition - an example 49 Possible process execution 50