920 likes | 1.31k Views
3146 Modeling BPEL4WS. Richard C. Gronback Sr. Product Manager, Together Products Borland Software Corporation . Agenda. Introduction to BPM BPEL4WS Modeling BPEL4WS BPMN UML BPMD Deployment Conclusion. What is BPM?. Business Process [Management | Modeling]
E N D
3146Modeling BPEL4WS Richard C. Gronback Sr. Product Manager, Together Products Borland Software Corporation
Agenda • Introduction to BPM • BPEL4WS • Modeling BPEL4WS • BPMN • UML • BPMD • Deployment • Conclusion
What is BPM? • Business Process [Management | Modeling] • In general, the design, execution, maintenance, and optimization of business processes. • Why model a business process? • The same reasons we model software, or anything, really. • Remember, software development is a business process!
Available Notations & Methodologies • UML Activity Diagram • UML EDOC Business Processes • IDEF • ebXML BPSS • Activity-Decision Flow (ADF) Diagram • RosettaNet • LOVeM • Event-Process Chains (EPCs) • Many more… • There are literally hundreds of tools with varying capabilities, utilizing many disparate processes and notations.
BPMI.org • Business Process Management Initiative • Non-profit organization that aims to establish standards for BPM • Working on specifications for: • Business Process Modeling Language (BPML) • Business Process Modeling Notation (BPMN) • Business Process Query Language (BPQL) • Focuses on private, internal implementation while ebXML, RosettaNet, etc. focus on external interfaces.
Orchestration vs. Choreography Business Process Message A Orchestration BPEL4WS Message B Message A 1. Business Process A Business Process B ebXML WS Choreography 2. Message B Choreography Message C 3.
BPEL4WS • Business Process Execution Language for Web Services • Combination of IBM’s WSFL and Microsoft’s XLANG • Specification authored by: • IBM • Microsoft • BEA • SAP • Siebel Systems
BPEL4WS • Defines a model and grammar for describing the behavior of a business process based on interactions between the process and its partners. • Exclusively using Web Services • Models executable and abstract processes • Layered on top of: • WSDL 1.1 • XML Schema 1.0 • XPath 1.0
BPEL4WS Core Concepts • There are several core concepts of BPEL: • Partner Links • Variables • Correlation Sets • Fault Handlers • Activities
Structure of a BPEL “Program” <variables> <variable name="PO" messageType="lns:POMessage"/> … </variables> <partnerLinks> <partnerLink name="purchasing“ partnerLinkType="lns:purchasingLT" myRole="purchaseService"/> … </partnerLinks> <sequence> <assign> <copy> <from variable="PO" part="customerInfo"/> <to variable="shippingRequest“ part="customerInfo"/> </copy> </assign> … </sequence> State Interaction Points Behavior
BPEL4WS Usage Patterns • Two major usage patterns, each specified by extensions to the core concepts: • Business Protocols • Roles defined using notion of abstract process • Handle only protocol-relevant data • Identified as message properties • Executable Processes • Logic and state determine nature and sequence of Web Service interactions
How to Model BPEL4WS? • BPEL4WS specification provides no visual notation well, except for what’s here • Several possibilities: • Business Process Modeling Notation (BPMN) • Unified Modeling Language (UML) • Proprietary visual notation based directly on BPEL4WS
Why Model BPEL4WS? • Consider this pseudo code for a simple Shipping Service: receive shipOrder switch case shipComplete send shipNotice otherwise itemsShipped := 0 while itemsShipped < itemsTotal itemsCount := opaque // non-deterministic assignment // corresponding e.g. to // internal interaction with // back-end system send shipNotice itemsShipped = itemsShipped + itemsCount
Why Model BPEL4WS? • Now, consider the following BPEL4WS process…
BPMN • Business Process Modeling Notation • Aims to appeal to wide range of users: • Business Analysts • Developers • Business People • 1.0 specification released May 2004 • Defines elements of BPD (Business Process Diagram)
Business Process Diagrams • Diagrams consist of four categories of diagramming elements: • Flow Objects • Connecting Objects • Swimlanes • Artifacts
Start Intermediate End Task Sub-Process BPD Flow Objects • Diagrams consist of three core elements: • Event • Hollow to allow for markers • Activity • Generic “work” element • Gateway • Decision, forking, joining, merging
BPD Connecting Objects • Three ways to connect flow objects: • Sequence Flow • Indicates order of activities • Message Flow • Indicates flow of messages between Process Participants • Association • Associates data, text, or other Artifacts with flow objects
BPD Swimlanes • Used to organize activities by responsibility or functional capability • Pool • Represents a Participant in a Process • Lane • A sub-partition within a Pool used to organize and categorize activities
BPD Artifacts • Any number of Artifacts can be added to a diagram, with three types predefined: • Data Object • Show how data is required or produced by activities • Group • Used for documentation or analysis, but does not affect the sequence flow • Annotation • Allow for textual notes to be added
Mapping BPMNBPEL4WS • BPMN specification provides a mapping to BPEL4WS • Creates a bridge between business-oriented process model to deployable execution language • BPEL4WS XSD becomes a partial BPMN metamodel
Mapping BPMNBPEL4WS • There are 3 basic types of BPMN sub-models: • Private (internal) business processes • Maps to BPEL4WS process • Abstract (public) processes • Maps to BPEL4WS abstract process • Collaboration (global) processes • Someday, may map to ebXML BPSS, RosettaNet, or future W3C Choreography Working Group
BPMN Private Process • Example:
BPMN Abstract Process • Example:
BPMN Collaboration Process • Example:
Unified Modeling Language™ • The UML 2.0 metamodel is adequate for modeling business processes • A Profile applied to existing specification can allow for modeling BPEL4WS • Optionally, a constrained subset of the UML 2.0 metamodel can also be used • Business Process Metamodel Definition (BPDM)
BPDM • Business Process Definition Metamodel • Subset of UML 2 metamodel focused on modeling business processes • Revised 08/02/2004 submission by: • IBM • Adaptive • Borland • Data Access Technologies • EDS • 88 Solutions
BPDM • Contains the following: • UML 2.0 Profile for BPD • UML 1.5 Profile for BPEL4WS • Mapping from BPD Metamodel to BPEL4WS • Mapping from EDOC to BPD Metamodel • Mapping from BPMN to BPD Metamodel
BPDM Notation • Services and Processes
BPDM Notation • Tasks
BPDM Notation • Tasks
BPDM Notation • Pins and Flows
BPDM Notation • Pins and Flows
BPDM Notation • Miscellaneous
Mapping to BPEL4WS From BPMN
Mapping Example • Let’s explore the diagram elements and mappings of BPMN to BPEL4WS • Domain is E-mail Voting Process • From BPMN Specification • Focus here is on Discussion Cycle sub-process for simplicity