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

Post on 25-Feb-2016

42 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Workflows and business process modelling for CERN's Electronic Document Handling system . Rostislav Titov , European Organization for Nuclear Research. Business processes. Collection of activities that produce a service or product Can be represented by a graph (WF-net). EDH. - PowerPoint PPT Presentation

TRANSCRIPT

CERN – European Organization for Nuclear ResearchIT Department – e–Business Section

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

Rostislav Titov,European Organization

for Nuclear Research

CERNe–Business

Business processes

- Collection of activities that produce a service or product

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

Start Studentpasses the exam

Resultsatisfactory? OK!

Maximumnumber of attempts

exceeded?ExpelledSchedule

the next attempt

Yes

Yes

No

No

CERNe–Business

EDH

Electronic Document Handling @ CERN

CERNe–Business

The Need for EDH Over 100 official

procedures Used by all CERN

personnel Over 250000

documents per year

Examples:– Purchase orders– Training Request– Holiday Request

CERNe–Business

Paper Purchase Order

CERNe–Business

Almost any Procedure

CERNe–Business

e-business

Annual Appraisal (MAPS)Automatic Small Order (< 500CHF)Contract RequestEnd of probation period authorizationEnd-of contract authorizationExport Formalities requestExternal Training RequestFire PermitIllness declarationImport Formalities declarationInter-departmental funds transferInternal Purchase RequisitionInvoice authorizationLeave RequestOfficial Travel ClaimOfficial TripOn-site Training RequestOpening of Post RequestOvertime requestPart-time working schedule requestPayment to Third PartyPro-forma invoice requestRequest for an AdvanceRequest 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 InventorySubsistence ClaimSundry Expenses ClaimTelephone Subscription RequestTemporary Labour requestTravel To Home Station

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

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

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)

2010?

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: ActiveVOSRobust server with a good track record

– One of the first BPEL vendors on the marketThe core engine is 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

Persistent data is clear XML

CERNe–Business

Integration with applicationsTwo 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 PointsBPEL 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 (who maintain also 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

CERNe–Business

BPMN Process Example

Source: Wikipedia

CERNe–Business

BPMN Events

Plain events – usually indicate beginning or end of a process

Message events – indicate sending or receving a message

Timer events – regularly happening events, time periods and timeouts

Error events – error generation and handling

Cancel events – cancel a transaction or react to a cancellation

Compensation events – start a compensation process or compensate

Conditional events – integrate business rules in the process

Signal events – exchange signals between processes

Complex events – choose from multiple events

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

Terminate events – immediately stop all business processes without any 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

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

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 a problem– Informal and partial mapping from

BPMN to BPEL

CERNe–Business

Handling Signatures

CERNe–Business

Signature Event

Signature event is a task for interacting with people, who are asked to approve or reject an electronic document

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

CERNe–Business

Typical signature functions

Find who can sign Assign signature to a person Notify chosen person Interact with signature processing service Choose another person in case of

absence / inactivity Skip signature if person already signed Handle forward / postpone Return a result

CERNe–Business

Signature Targets

• Specific person - John Doe

• Group of people - leave-admins

• Role/Right - Department Head

CERNe–Business

Signature Roles

Could be hierarchical (e.g. Group Leader) or nominated (e.g. Safety Officer)

Have target(s)- DepartmentHead(IT)- SafetyOfficer(NICA)- CollaborationLeader(CMS, JINR)

Valid during a period of time

Have a priority

CERNe–Business

Rights Hierarchy

At CERN, one role can give many rights… Group leaders are responsible for signing financial documents, signing

leave requests of people they supervise, signing personnel action forms etc…

To reduce their workload managers may delegate part of their rights to other persons

For example, a group leader may want that purchase requests were signed by his deputy

A hierarchy of rights is needed to support such partial delegation of rights

May not be a problem for smaller organizations

CERNe–Business

Signature: Rights hierarchy

Role(Group Leader)

Right to signpurchase requests

Right to signofficial travels

Right to signleave requests

Right to signovertime claims

Financialrights

Personnelrights

CERNe–Business

Rights Management by EDH

                                              

                                               

  01.01.2009 GS-AIS-EBSLDerek MATHIESON (AS-IDS) 0

 Validity date(s)TargetTypeHolderPriority

Roles held by Derek MATHIESON (GS-AIS-EB)

GS-AIS-EBSHIPS(SL)Derek MATHIESON (GS-AIS-EB)4500

  01.01.2009 GS-AIS-EBSLSADMIN(SL) Derek MATHIESON (GS-AIS-EB) 700

  01.01.2009 71101LFC(SL) Derek MATHIESON (GS-AIS-EB) 4500

 Validity date(s)TargetTypeHolderPriority

Profiles held by Derek MATHIESON (GS-AIS-EB)

CERNe–Business

Signature Replacements

Who can sign if the main responsible is away or does not respond?

Same role, lower priority Deputy Supervisor Nobody:

Assign back to the first person Stop workflow, notify responsible persons Skip signature (in certain cases)

CERNe–Business

Signature Time-out

Time-out is a maximum delaywhich a document can waituntil escalating the signature

At CERN: Typically 3 days, but could be shorter or longer depending on the nature of the document

• Sometimes time-out is not applicable (examples: requestor’s signature, DG’s signature, ...)

CERNe–Business

Approval time @ CERN (2010)

0

2

4

6

8

10

12

14

16

Approval Time (days) Number of Signatures

CERNe–Business

Thank You

E-mail:Rostislav.Titov@cern.ch

For More Information

top related