workflows and business process modelling for cern's electronic document handling system...

43
CERN – European Organization for Nuclear Research IT Department – e Business Section Workflows and business process modelling for CERN's Electronic Document Handling system Rostislav Titov, GS-AIS-EB Section Leader, CERN

Post on 20-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

CERN – European Organization for Nuclear Research

IT Department – e–Business Section

Workflows and business process modelling for CERN's Electronic Document Handling system

Rostislav Titov,GS-AIS-EB Section Leader,

CERN

CERNe–Business

EDH

Electronic Document Handling @ CERN

CERNe–Business

Paper Purchase Order

CERNe–Business

Almost any Procedure

CERNe–Business

Accelerator Material StorageAnnual AppraisalAutomatic Small Order (< 500CHF)Change of the local addressContract RequestDeclaration of family situationEmergency contactsEnd of probation period authorizationEnd-of contract authorizationExport Formalities requestExternal Training RequestFire PermitIdentification of Radioactive WasteIllness declarationImport Formalities declarationInduction Interview follow-upInter-departmental funds transferInternal Purchase RequisitionInvoice authorizationLanguage Training ReimbursementLeave RequestOfficial Travel ClaimOfficial TripOn-site Training RequestOpening of Post RequestOvertime requestPart-time working schedule requestPayment to Third PartyPro-forma invoice requestReception of GoodsReimbursement of Candidate’s ExpensesRequest for an AdvanceRequest for External FundsRequest to Access Computer CentreRequest to Access Restricted AreasRequest to Drive CERN vehicleRequest to Enable/Disable AlarmRequest to Import merchandise (EU or Switzerland)Request to Perform Maintenance WorkRequest to Purchase from StoresRequest to transit the French/Swiss TunnelRequest to use Forklift Truck/Tractor/CraneSchool fees ReimbursementSkills InventoryStaff SelectionSubsistence ClaimSundry Expenses ClaimTelephone Subscription RequestTemporary Labour requestTermination check-sheetTracking of interventionsTravel To Home Station

e-business

“CERN’s EDH enables staff to focus on CORE activities by minimizing the overhead of business processes”

> 270’000 documents in 2010 > 14’000 users from many countries Used by all CERN personnel

CERNe–Business

Workflow in Action

CERNe–Business

Workflow in Action

CERNe–Business

Workflow in Action

CERNe–Business

Workflow in Action

********

CERNe–Business

Workflow in Action

AlreadyApproved

CERNe–Business

Workflow in Action

XML

Order

CERNe–Business

Workflow in Action

CERNe–Business

Business processes

- Collection of activities that produce a service or product

- Can be represented by a graph (WF-net)

StartStudent

passes the examResult

satisfactory?OK!

Maximumnumber of attempts

exceeded?Expelled

Schedulethe next attempt

Yes

Yes

No

No

CERNe–Business

Workflow Management System

• Workflow engine• Notification management• Visual process designer• Process visualization • Debugging • Error handling and exception management

Software for designing and executing workflows

CERNe–Business

Workflow Standards

2000/05

XLang(Microsoft)

2001/03

BPML(Intallio et al)

2001/05

WSFL(IBM)

2001/06

BPSS(ebXML)

2002/03

BPEL4WS 1.0 (IBM, Microsoft)

BPEL4WS 1.1(OASIS)

2002/06 2003/01

WS-Choreography(W3C)

2003/04

WSCI(Sun et al)

WSCL(HP)

2002/08 2007/05

WS-BPEL 2.0

BPEL and BPMN are Industry Standards– Standards based approach ensure longevity of

the workflow engine– Supported by the big players in the industry

(Microsoft, IBM, SUN, Oracle…)

2004/05

BPMN 1.0(BPMI)

2009/01

BPMN 1.2(OMG)

2011/01

BPMN 2.0

CERNe–Business

BPEL

• Web Services Business Process Execution Language

• Developed by IBM, Microsoft and SAP in 2003

WS-BPEL 2.0 - 2004BPEL4People and WS-HumanTask - 2007

CERNe–Business

BPEL

XML language for defining behaviour of a process– that provides web-service(s)– that uses web-services– everything it sees is a web-service

• no other external interactions

Definition: OASIS

CERNe–Business

BPEL Process Example

CERNe–Business

BPEL Process Example <bpel:assign name="setSignatureParameters"> <bpel:copy> <bpel:from part="documentId" variable="inputVariable"/> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:docId</bpel:query> </bpel:to> </bpel:copy> <bpel:copy> <bpel:from>cern:getExpression('S', '10000M', $budget/ns14:budgetCode, $doctype)</bpel:from> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:expression</bpel:query> </bpel:to> </bpel:copy> <bpel:copy> <bpel:from>3</bpel:from> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:signatureDelay</bpel:query> </bpel:to> </bpel:copy> <bpel:copy> <bpel:from part="exclusionList" variable="inputVariable"/> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:exclusionList</bpel:query> </bpel:to> </bpel:copy> <bpel:copy> <bpel:from>'STD_FIN_UNLIMITED_SIGN_ENG_MSG'</bpel:from> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:engMessage</bpel:query> </bpel:to> </bpel:copy> <bpel:copy> <bpel:from>'STD_FIN_UNLIMITED_SIGN_FRE_MSG'</bpel:from> <bpel:to part="signature" variable="invokeSignature_process_InputVariable"> <bpel:query>ns15:freMessage</bpel:query> </bpel:to></bpel:assign>

CERNe–Business

BPEL Design IDE

CERNe–Business

BPEL ActivitiesStructured activities – can contain other activities

<sequence> one after the other<flow> in parallel<pick> choose by inbound message<switch> choose by expression evaluation<while> iteration<scope> nest, with declarations and handlers, synchronize

Communication<invoke> send msg to partner; possibly receive response<receive> accept msg from partner<reply> send msg to partner as response to <receive>

Other<assign> manipulate variables<wait> for duration / until time<exit> end the process<compensate> run compensation handler of inner scope<throw> exit with fault to outer scope<empty> do nothing

CERNe–Business

BPEL Engines EvaluationDesigner Links in

designerXPATH tools

Open source

Java based Halt on fault and retry

Debugging Process versioning

Web based tools

Active BPEL

Oracle BPEL

IBM WebSphere

PXE

Cape Clear

Parasoft BPEL Maestro

Vergil VCAB

Twister / Agila BPEL

IT Pearl

BEA Weblogic workshop

Supported Partly supported Not supported

CERNe–Business

Our Choice: ActiveVOS

Robust server with a good track record– One of the first BPEL vendors on the market

The core engine was open source– Widely used / well tested– Fully supports the standards

ActiveVOS Enterprise builds on the OS Engine and adds:– Process versioning– Halt on fault/retry– Clustering– Multi-tenancy

Persistent data is clear XML

CERNe–Business

Integration with applications

Two ways to interface with other applications– Through a Web Service Invocation

• Native to BPEL• Creates “noise” in the process• More complex to implement• Can interface to any language• In EDH used for read/write functions

– Custom XPath functions• Not completely standard (part of JAXEN)• Lightweight mechanism in Java BPEL engines• Can be called in assigns or in the condition

statements• In EDH used for read only functions

CERNe–Business

BPEL Strong Points

BPEL is a standard!– Supported on different platforms– Interfaces to various languages

Web Service interfaceGood integration with JavaEasy to integrate in

development/deployment environment

CERNe–Business

BPEL weak points

Verbose and heavy language (WSDL interface, technical activities e.g. assign)

Loops have to be explicitly declared (links back to already executed steps are not allowed)

Rigid process model (even when debugging)

Transaction management (currently)

CERNe–Business

BPMN

• Business Process Modelling Notation

Maintained by the OMG consortium (they also maintain UML specs)

CERNe–Business

BPMN

Graphical representation of a business process

– can be used both by developers and business analysts

– no standard executable translation– can be translated to BPEL

CERNe–Business

BPMN Elements

Events – something that happens in the system

Activities – some work to be done

Gateways – split or merge paths depending on conditions

Connections – connect elements

Swimlanes – used to define roles

Sequence flow

Conditional flow Default flow

Poo

l

Lane

Lane

Lane

Lane

Closed lane

CERNe–Business

BPMN Process Example

Source: Wikipedia

Sel

ler

Buyer

Sa

les

Ma

na

ge

rS

ale

s R

ep

rese

nta

tive

Make proposal

Consider proposal

Change proposal

Send proposal

to the client

Handle order

Close the case

Receive request

Not approved

Approved

Inform the client about processing

Order received

Proposalrejected

CERNe–Business

BPMN Events

Message

Start

Timer

Cancel

Error

Compensation

Conditional

Signal

Link

Complex

Terminate

Intermediate End

ThrowingProcessing

Plain Plain events – usually indicate beginning or end of a process .

Message events – indicate sending or receiving a message

T imer events – regularly happening events, time periods and timeouts

E rror events – error generation and handling

C ancel events – cancel a transaction or react to a cancellation

C ompensation events – start a compensation process or compensate

C onditional events – integrate business rules in the process

S ignal events – exchange signals between processes

Complex events – choose from multiple events

L ink events – link processes (for example, on multiple pages)

T erminate events – immediately stop without error handling or compensation

CERNe–Business

BPMN Activities

Multiple instance – this task has to be done multiple times for each object

Task

Multiple instance

|||

Loop

Task – a task to be done

Loop activity – do task until the loop condition is met

Subprocess – a complex task (a process within process)

CERNe–Business

BPMN Gateways

XExclusive OR (data-based) – Choose one outbound path. Synchronization: process continues once any inbound path has been completed

O

+

Exclusive OR (event-based) – Choose a path where an event happens. The next element should be an event or an event-handling activity

Parallel gateway – split a process into parallel branches, all of which run at the same time. Synchronization: wait for all processes to finish and then continue

Inclusive gateway – Choose one or multiple outbound paths. Synchronization: process continues once any inbound path has been completed

Complex gateway – split or merge the process based on a complex rule

CERNe–Business

BPMN Connections

Simple

Conditional

Default

Sequence Flow – shows the order in which activities are executed

Message Flow – shows exchange of messages

Associations – logical associations between elements

CERNe–Business

BPMN Strong Points

Intuitive

Can be used both by developers and business analysts– Bridging the gap between process

design and implementation

CERNe–Business

BPMN weak points

Converting to executable environments is still not obvious

CERNe–Business

Signature Event

Signature event is a task for interacting with people (e.g. ask to approve or reject a document)

BPEL4People: “WS-HumanTask”(definition of human tasks and notifications)

2KCHF signature

Approved

Rejected

CERNe–Business

Thank You

E-mail:[email protected]

For More Information

CERNe–Business

Basic Workflow Patterns

Sequence

A B C

- First A, then B, then C

CERNe–Business

Basic Workflow Patterns

Parallel Split

A

B

C

- B and C start together once A finishes

A

B

C

+

CERNe–Business

Basic Workflow Patterns

Synchronization (AND-Join)

C

A

B

+

- C starts once A and B finish

CERNe–Business

Basic Workflow Patterns

Choice

- If Condition1 then B, if Condition2 then C, ...

A

B

C

O

Condition1

Condition2

A

B

C

true

false

CERNe–Business

Basic Workflow Patterns

Merge

- D starts when B ends or when C ends

A

B

C

D