3146 Modeling BPEL4WS - PowerPoint PPT Presentation

3146 modeling bpel4ws n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
3146 Modeling BPEL4WS PowerPoint Presentation
Download Presentation
3146 Modeling BPEL4WS

play fullscreen
1 / 92
3146 Modeling BPEL4WS
256 Views
Download Presentation
gaetana
Download Presentation

3146 Modeling BPEL4WS

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 3146Modeling BPEL4WS Richard C. Gronback Sr. Product Manager, Together Products Borland Software Corporation

  2. Agenda • Introduction to BPM • BPEL4WS • Modeling BPEL4WS • BPMN • UML • BPMD • Deployment • Conclusion

  3. 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!

  4. 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.

  5. 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.

  6. 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.

  7. 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

  8. 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

  9. BPEL4WS Core Concepts • There are several core concepts of BPEL: • Partner Links • Variables • Correlation Sets • Fault Handlers • Activities

  10. 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

  11. 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

  12. 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

  13. 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

  14. Why Model BPEL4WS? • Now, consider the following BPEL4WS process…

  15. Why Model BPEL4WS?

  16. Why Model BPEL4WS?

  17. Why Model BPEL4WS?

  18. Why Model BPEL4WS?

  19. 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)

  20. Business Process Diagrams • Diagrams consist of four categories of diagramming elements: • Flow Objects • Connecting Objects • Swimlanes • Artifacts

  21. 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

  22. 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

  23. Simple Business Process

  24. 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

  25. 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

  26. Another BPD Sample

  27. Mapping BPMNBPEL4WS • 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

  28. Mapping BPMNBPEL4WS • 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

  29. BPMN Private Process • Example:

  30. BPMN Abstract Process • Example:

  31. BPMN Collaboration Process • Example:

  32. 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)

  33. 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

  34. 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

  35. BPDM

  36. BPDM Notation • Services and Processes

  37. BPDM Notation • Tasks

  38. BPDM Notation • Tasks

  39. BPDM Notation • Pins and Flows

  40. BPDM Notation • Pins and Flows

  41. BPDM Notation • Miscellaneous

  42. BPDM Example

  43. BPDM Example

  44. BPDM Example

  45. Mapping to BPEL4WS From BPMN

  46. BPMNBPEL4WS Example

  47. BPMNBPEL4WS Loop

  48. BPMNBPEL4WS Loop

  49. 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

  50. E-mail Voting Process