carasik bpm ecm

33
Bob Carasik, C.U.G. session 1, Ma y 2008 1 Business Process Management and ECM, session 1 Presented to China University of Geosciences Bob Carasik, guest lecturer

Upload: bob-carasik

Post on 10-Jun-2015

244 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 1

Business Process Management and ECM, session 1

Presented to China University of Geosciences

Bob Carasik, guest lecturer

Page 2: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 2

欢 迎!上 课!• Our schedule: Three ½ day sessions.

– 15 minute break, 10:15 to 10:30– Homework both nights, some team assignments– Quiz on Friday morning

• Exchange of contact information

Page 3: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 3

Course Outline

• Day 1, Business Process Modeling– Why do want to Model a Business Process?

– The BPMN Language, and other languages

– How to build a Business Process Model

– Bring the Model to Life with Business Process Management

• Day 2, Enterprise Content Management– The life cycle of electronic information

– Capture, store, search, retrieve, retain/destroy

– Components of Content Management systems

• Day 3, Survey of BPM and ECM tools, case study presentations

Page 4: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 4

What is Process Modeling?

• What is a business process?– How people and Information systems work together to meet a

demand on their organization– There is a starting event, activity and defined output or outputs

• What is a model?– Formalize the knowledge and rules from IT and workers– Abstract representations of what, and who, makes the process

happen.

• Uses of a Process model– Analysis– Simulation (out of scope for this course)– Process automation with BPEL (day 2)

Page 5: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 5

Process Modeling, Why?

• Why create a model of a business– Can we learn something about the business?– Can we CHANGE something about the business?

• Competition forces changes– Update products– Improve organization– Provide new services– Regulation and compliance requirements

• How can we use our resources better?

Page 6: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 6

Goals of Process Modeling

• Enabling change– First, fully understand what the business does

– Use one design language for business and technical staff

– Trials of alternative ways of doing things

– Create workflows from the design

– Identify process measurements and evaluate progress

• Supporting regulatory compliance– Demonstrate adherence to quality standards

Page 7: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 7

Making a process model

• The “work itself”– plus

• Description of information systems– Equals

• A model

Page 8: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 8

Three levels of detail

• Process Map: simple flowchart

• Process Description: add information to the map

• Process Model: supports analysis, simulation, and execution

Page 9: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 9

If we’ve done it right, then …

• Changing processes is easier: “agility”

• Spotting problems is easier: “transparency”

• People are freed up for other work.

What else might work better if we have a model?

Page 10: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 10

A Reference model, from the Workflow Management Coalition

Process Definition Tools

Administration & Monitoring

Tools

Interface 1

Interface 4Interface 5

Workflow Enactment Service

Workflow API and Interchange formats

Other WorkflowEnactment Service(s)

WorkflowClient

Applications

Interface 3Interface 2

WorkflowEngine(s)

WorkflowEngine(s)

InvokedApplications

Page 11: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 11

Definition of “workflow”

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.

Page 12: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 12

Workflow model and screen shot

Page 13: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 13

A workflow task listfrom http://www.skelta.com/products/screenshot-gallery/screens.aspx#TaskList

Page 14: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 14

What do we express in a modeling language?

• The goal: graphic representation with formal precision

• Business processes

• Functions

• Flow of control

• Flow of information

• Probability

Page 15: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 15

Business Process Modeling Language (BPMN)

• Why BPMN?– Based on past languages (UML, WSFL, XLANG)

– Now standard, many vendors have implementations

• Components– Events

– Activities

– Sequence Flows

– Gateways

Page 16: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 16

Summary of BPMN diagram elements

Page 17: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 17

A simple insurance process

(From Havey book, p. 147)

Page 18: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 18

Events

• “Occurrence that triggers a business process”

• Have beginning, intermediate, end states

• Types:– Basic, message, timer, rule, exception,

cancellation, compensation, link, multiple, termination

Page 19: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 19

Activities• A step in a process that performs work.

– Atomic (task) or compound (contains process)– Simple– Compensated– Ad Hoc– Looping– Multiple instances

• Examples: Call a Web service, – Receive a message (wait for input from field representative)– Send a message (update customer contacts)– Manual task (call customer at home)– Script– reference to another task

Page 20: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 20

Sequence Flows

Normal flow

Default flow; depends on conditions

“Guarded”, depends on rule evaluation

Page 21: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 21

Gateways• Splits and joins of control flow

Page 22: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 22

Process patterns: 1

Page 23: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 23

Process patterns: 2

Page 24: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 24

Process patterns: 3

Page 25: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 25

Process patterns: 4

Page 26: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 26

Process patterns: 5

Page 27: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 27

Process patterns: 6

Page 28: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 28

BPMN Modeling constructsThere are 52 graphic objects, 6 connecting objects, 2

grouping objects

But only these few are really common:

•Normal Flow•Task•End Event•Start Event•Pool•Data-Based XOR

•Start Message•Text Annotation•Message Flow•Parallel Fork / Join•Lanes (subdivides Pool)•Gateway•Data-Based XOR

•Sub Process•Association•Data Object•Intermediate Timer•Intermediate Message•End/Terminate

Page 29: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 29

An example: auto insurance claim

Page 30: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 30

Our goal: running a BPM model with BPEL

• BPEL language – XML-based scripting language

• Includes WSDL for system interface definitions

– Tools can generate it from BPMN models

Page 31: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 31

Retailer process, from OnJava

Page 32: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 32

BPEL code, 11 <process name="Retailer" 2 targetNamespace="http://acm.org/samples" suppressJoinFailure="yes"3 xmlns:tns="http://acm.org/samples" 4 xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"5 xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/ business-process/">67 <!-- some code omitted - ->89 <!-- Mainline process code starts here -->10 <sequence name="main">1112 <!-- Step 1: Consumer sends PO -->13 <receive name="receiveInput" partnerLink="consumer" portType="tns:Retailer" 14 createInstance="yes" operation="sendPO" variable="po">15 <!-- Use the inbound PO message as the basis for correlation -->16 <correlations>17 <correlation set="poset" initiate="yes"/>18 </correlations>19 </receive>20

Page 33: Carasik BPM ECM

Bob Carasik, C.U.G. session 1, May 2008 33

BPEL code, 221 <!-- Step 2: Send receipt ack to consumer -->22 <invoke name="callbackClient" partnerLink="consumer" 23 portType="tns:RetailerCallback" operation="poReceipt" 24 inputVariable="po"/>2526 <!-- Step 3: create PO record in internal database -->27 <invoke name="writePOToDB" partnerLink="retailerDB" portType="tns:RetailerDB" 28 operation="createPO" inputVariable="po"/>2930 <!-- Step 4: send PO to warehouse -->31 <invoke name="sendPOToWH" partnerLink="warehouse" portType="tns:Warehouse" 32 operation="sendPO" inputVariable="po"/>3334 <!-- Step 5: wait for warehouse response -->35 <receive createInstance="no" name="receiveWHResponse" partnerLink="warehouse" 36 portType="tns:WarehouseCallback" operation="onResult" 37 variable="poResponse">38 <!-- correlate on identifiers in initial PO -->39 <correlations>40 <correlation set="poset" initiate="no"/>41 </correlations>42 </receive>