Carasik BPM ECM

419 views

Published on

tutorial given at C.U.G. in May 2008

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
419
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Welcome! Start course! 欢 迎!上 课!
  • Carasik BPM ECM

    1. 1. Business Process Management and ECM, session 1 Presented to China University of Geosciences Bob Carasik, guest lecturer
    2. 2. 欢 迎!上 课! <ul><li>Our schedule: Three ½ day sessions. </li></ul><ul><ul><li>15 minute break, 10:15 to 10:30 </li></ul></ul><ul><ul><li>Homework both nights, some team assignments </li></ul></ul><ul><ul><li>Quiz on Friday morning </li></ul></ul><ul><li>Exchange of contact information </li></ul>
    3. 3. Course Outline <ul><li>Day 1, Business Process Modeling </li></ul><ul><ul><li>Why do want to Model a Business Process? </li></ul></ul><ul><ul><li>The BPMN Language, and other languages </li></ul></ul><ul><ul><li>How to build a Business Process Model </li></ul></ul><ul><ul><li>Bring the Model to Life with Business Process Management </li></ul></ul><ul><li>Day 2, Enterprise Content Management </li></ul><ul><ul><li>The life cycle of electronic information </li></ul></ul><ul><ul><li>Capture, store, search, retrieve, retain/destroy </li></ul></ul><ul><ul><li>Components of Content Management systems </li></ul></ul><ul><li>Day 3, Survey of BPM and ECM tools, case study presentations </li></ul>
    4. 4. What is Process Modeling? <ul><li>What is a business process? </li></ul><ul><ul><li>How people and Information systems work together to meet a demand on their organization </li></ul></ul><ul><ul><li>There is a starting event, activity and defined output or outputs </li></ul></ul><ul><li>What is a model? </li></ul><ul><ul><li>Formalize the knowledge and rules from IT and workers </li></ul></ul><ul><ul><li>Abstract representations of what, and who, makes the process happen. </li></ul></ul><ul><li>Uses of a Process model </li></ul><ul><ul><li>Analysis </li></ul></ul><ul><ul><li>Simulation (out of scope for this course) </li></ul></ul><ul><ul><li>Process automation with BPEL (day 2) </li></ul></ul>
    5. 5. Process Modeling, Why? <ul><li>Why create a model of a business </li></ul><ul><ul><li>Can we learn something about the business? </li></ul></ul><ul><ul><li>Can we CHANGE something about the business? </li></ul></ul><ul><li>Competition forces changes </li></ul><ul><ul><li>Update products </li></ul></ul><ul><ul><li>Improve organization </li></ul></ul><ul><ul><li>Provide new services </li></ul></ul><ul><ul><li>Regulation and compliance requirements </li></ul></ul><ul><li>How can we use our resources better? </li></ul>
    6. 6. Goals of Process Modeling <ul><li>Enabling change </li></ul><ul><ul><li>First, fully understand what the business does </li></ul></ul><ul><ul><li>Use one design language for business and technical staff </li></ul></ul><ul><ul><li>Trials of alternative ways of doing things </li></ul></ul><ul><ul><li>Create workflows from the design </li></ul></ul><ul><ul><li>Identify process measurements and evaluate progress </li></ul></ul><ul><li>Supporting regulatory compliance </li></ul><ul><ul><li>Demonstrate adherence to quality standards </li></ul></ul>
    7. 7. Making a process model <ul><li>The “work itself” </li></ul><ul><ul><li>plus </li></ul></ul><ul><li>Description of information systems </li></ul><ul><ul><li>Equals </li></ul></ul><ul><li>A model </li></ul>
    8. 8. Three levels of detail <ul><li>Process Map: simple flowchart </li></ul><ul><li>Process Description: add information to the map </li></ul><ul><li>Process Model: supports analysis, simulation, and execution </li></ul>
    9. 9. If we’ve done it right, then … <ul><li>Changing processes is easier: “agility” </li></ul><ul><li>Spotting problems is easier: “transparency” </li></ul><ul><li>People are freed up for other work. </li></ul><ul><li>What else might work better if we have a model? </li></ul>
    10. 10. A Reference model, from the Workflow Management Coalition
    11. 11. Definition of “workflow” <ul><li> The defined series of tasks within an organization to produce a final outcome. Workgroup applications allow you to define different workflows for different types of jobs. So, for example, in a publishing setting, a document might be automatically routed from writer to editor to proofreader to production. At each stage in the workflow, one individual or group is responsible for a specific task. Once the task is complete, the workflow software ensures that the individuals responsible for the next task are notified and receive the data they need to execute their stage of the process. </li></ul>
    12. 12. Workflow model and screen shot
    13. 13. A workflow task list from http://www.skelta.com/products/screenshot-gallery/screens.aspx#TaskList
    14. 14. What do we express in a modeling language? <ul><li>The goal: graphic representation with formal precision </li></ul><ul><li>Business processes </li></ul><ul><li>Functions </li></ul><ul><li>Flow of control </li></ul><ul><li>Flow of information </li></ul><ul><li>Probability </li></ul>
    15. 15. Business Process Modeling Language (BPMN) <ul><li>Why BPMN? </li></ul><ul><ul><li>Based on past languages (UML, WSFL, XLANG) </li></ul></ul><ul><ul><li>Now standard, many vendors have implementations </li></ul></ul><ul><li>Components </li></ul><ul><ul><li>Events </li></ul></ul><ul><ul><li>Activities </li></ul></ul><ul><ul><li>Sequence Flows </li></ul></ul><ul><ul><li>Gateways </li></ul></ul>
    16. 16. Summary of BPMN diagram elements
    17. 17. A simple insurance process (From Havey book, p. 147)
    18. 18. Events <ul><li>“Occurrence that triggers a business process” </li></ul><ul><li>Have beginning, intermediate, end states </li></ul><ul><li>Types: </li></ul><ul><ul><li>Basic, message, timer, rule, exception, cancellation, compensation, link, multiple, termination </li></ul></ul>
    19. 19. Activities <ul><li>A step in a process that performs work. </li></ul><ul><ul><li>Atomic (task) or compound (contains process) </li></ul></ul><ul><ul><li>Simple </li></ul></ul><ul><ul><li>Compensated </li></ul></ul><ul><ul><li>Ad Hoc </li></ul></ul><ul><ul><li>Looping </li></ul></ul><ul><ul><li>Multiple instances </li></ul></ul><ul><li>Examples: Call a Web service, </li></ul><ul><ul><li>Receive a message (wait for input from field representative) </li></ul></ul><ul><ul><li>Send a message (update customer contacts) </li></ul></ul><ul><ul><li>Manual task (call customer at home) </li></ul></ul><ul><ul><li>Script </li></ul></ul><ul><ul><li>reference to another task </li></ul></ul>
    20. 20. Sequence Flows Normal flow Default flow; depends on conditions “Guarded”, depends on rule evaluation
    21. 21. Gateways <ul><li>Splits and joins of control flow </li></ul>
    22. 22. Process patterns: 1
    23. 23. Process patterns: 2
    24. 24. Process patterns: 3
    25. 25. Process patterns: 4
    26. 26. Process patterns: 5
    27. 27. Process patterns: 6
    28. 28. BPMN Modeling constructs <ul><li>There are 52 graphic objects, 6 connecting objects, 2 grouping objects </li></ul><ul><li>But only these few are really common: </li></ul><ul><li>Normal Flow </li></ul><ul><li>Task </li></ul><ul><li>End Event </li></ul><ul><li>Start Event </li></ul><ul><li>Pool </li></ul><ul><li>Data-Based XOR </li></ul><ul><li>Start Message </li></ul><ul><li>Text Annotation </li></ul><ul><li>Message Flow </li></ul><ul><li>Parallel Fork / Join </li></ul><ul><li>Lanes (subdivides Pool) </li></ul><ul><li>Gateway </li></ul><ul><li>Data-Based XOR </li></ul><ul><li>Sub Process </li></ul><ul><li>Association </li></ul><ul><li>Data Object </li></ul><ul><li>Intermediate Timer </li></ul><ul><li>Intermediate Message </li></ul><ul><li>End/Terminate </li></ul>
    29. 29. An example: auto insurance claim
    30. 30. Our goal: running a BPM model with BPEL <ul><li>BPEL language </li></ul><ul><ul><li>XML-based scripting language </li></ul></ul><ul><ul><ul><li>Includes WSDL for system interface definitions </li></ul></ul></ul><ul><ul><li>Tools can generate it from BPMN models </li></ul></ul>
    31. 31. Retailer process, from OnJava
    32. 32. BPEL code, 1 1 <process name=&quot;Retailer&quot; 2 targetNamespace=&quot;http://acm.org/samples&quot; suppressJoinFailure=&quot;yes&quot; 3 xmlns:tns=&quot;http://acm.org/samples&quot; 4 xmlns=&quot;http://schemas.xmlsoap.org/ws/2003/03/business-process/&quot; 5 xmlns:bpws=&quot;http://schemas.xmlsoap.org/ws/2003/03/ business-process/&quot;> 6 7 <!-- some code omitted - -> 8 9 <!-- Mainline process code starts here --> 10 <sequence name=&quot;main&quot;> 11 12 <!-- Step 1: Consumer sends PO --> 13 <receive name=&quot;receiveInput&quot; partnerLink=&quot;consumer&quot; portType=&quot;tns:Retailer&quot; 14 createInstance=&quot;yes&quot; operation=&quot;sendPO&quot; variable=&quot;po&quot;> 15 <!-- Use the inbound PO message as the basis for correlation --> 16 <correlations> 17 <correlation set=&quot;poset&quot; initiate=&quot;yes&quot;/> 18 </correlations> 19 </receive> 20
    33. 33. BPEL code, 2 21 <!-- Step 2: Send receipt ack to consumer --> 22 <invoke name=&quot;callbackClient&quot; partnerLink=&quot;consumer&quot; 23 portType=&quot;tns:RetailerCallback&quot; operation=&quot;poReceipt&quot; 24 inputVariable=&quot;po&quot;/> 25 26 <!-- Step 3: create PO record in internal database --> 27 <invoke name=&quot;writePOToDB&quot; partnerLink=&quot;retailerDB&quot; portType=&quot;tns:RetailerDB&quot; 28 operation=&quot;createPO&quot; inputVariable=&quot;po&quot;/> 29 30 <!-- Step 4: send PO to warehouse --> 31 <invoke name=&quot;sendPOToWH&quot; partnerLink=&quot;warehouse&quot; portType=&quot;tns:Warehouse&quot; 32 operation=&quot;sendPO&quot; inputVariable=&quot;po&quot;/> 33 34 <!-- Step 5: wait for warehouse response --> 35 <receive createInstance=&quot;no&quot; name=&quot;receiveWHResponse&quot; partnerLink=&quot;warehouse&quot; 36 portType=&quot;tns:WarehouseCallback&quot; operation=&quot;onResult&quot; 37 variable=&quot;poResponse&quot;> 38 <!-- correlate on identifiers in initial PO --> 39 <correlations> 40 <correlation set=&quot;poset&quot; initiate=&quot;no&quot;/> <ul><li></correlations> </li></ul><ul><li></receive> </li></ul>

    ×