1 / 54

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

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.

silver
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workflows and business process modelling for CERN's Electronic Document Handling system RostislavTitov,European Organization for Nuclear Research

  2. Business processes • Collection of activities that produce a service or product • Can be represented by a graph (WF-net)

  3. EDH Electronic Document Handling @ CERN

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

  5. Paper Purchase Order

  6. Almost any Procedure

  7. e-business Annual Appraisal (MAPS) Automatic Small Order (< 500CHF) Contract Request End of probation period authorization End-of contract authorization Export Formalities request External Training Request Fire Permit Illness declaration Import Formalities declaration Inter-departmental funds transfer Internal Purchase Requisition Invoice authorization Leave Request Official Travel Claim Official Trip On-site Training RequestOpening of Post Request Overtime request Part-time working schedule request Payment to Third Party Pro-forma invoice request Request for an Advance Request to Access Computer Centre Request to Access Restricted Areas Request to Drive CERN vehicle Request to Enable/Disable Alarm Request to Import merchandise (EU or Switzerland) Request to Perform Maintenance Work Request to Purchase from Stores Request to transit the French/Swiss Tunnel Request to use Forklift Truck/Tractor/Crane School fees ReimbursementSkills Inventory Subsistence Claim Sundry Expenses Claim Telephone Subscription Request Temporary Labour request Travel To Home Station “CERN’s EDH enables staff to focus on CORE activities by minimizing the overhead of business processes”

  8. Workflow in Action

  9. Workflow in Action

  10. Workflow in Action

  11. Workflow in Action ********

  12. Workflow in Action  AlreadyApproved 

  13. Workflow in Action XML Order

  14. Workflow in Action

  15. Workflow Management System • Software for designing and executing workflows • Workflow engine • Notification management • Visual process designer • Process visualization • Debugging • Error handling and exception management

  16. Workflow Standards BPML (Intallio et al) BPSS (ebXML) WSCI (Sun et al) WS-Choreography (W3C) 2000/05 2001/05 2001/06 2002/03 2002/06 2002/08 2003/01 2003/04 2007/05 2001/03 WSCL (HP) WSFL (IBM) BPEL4WS 1.0 (IBM, Microsoft) XLang (Microsoft) WS-BPEL 2.0 BPEL4WS 1.1(OASIS) BPMN 1.2 (OMG) BPMN 1.0 (BPMI) 2010? 2009/01 2004/05 BPMN 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…)

  17. BPEL • Web Services Business Process Execution Language • Developed by IBM, Microsoft and SAP in 2003 WS-BPEL 2.0 - 2004 BPEL4People and WS-HumanTask - 2007

  18. BPEL • XMLlanguage 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

  19. BPEL Process Example

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

  21. BPEL Design IDE

  22. BPEL Activities Structured 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

  23. BPEL Engines Evaluation Supported Partly supported Not supported

  24. Our Choice: ActiveVOS • Robust server with a good track record • One of the first BPEL vendors on the market • The 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

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

  26. BPEL Strong Points • BPEL is a standard! • Supported on different platforms • Interfaces to various languages • Web Service interface • Good integration with Java • Easy to integrate in development/deployment environment

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

  28. BPMN • Business Process Modelling Notation • Maintained by the OMG consortium (who maintain also UML specs)

  29. BPMN • Graphical representationof a business process • can be used both by developers and business analysts • no standard executable translation • can be translated to BPEL

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

  31. BPMN Process Example Source: Wikipedia

  32. BPMN Events Plainevents– usually indicate beginning or end of a process Messageevents – indicate sending or receving a message Timerevents – regularly happening events, time periods and timeouts Errorevents – error generation and handling Cancelevents – cancel a transaction or react to a cancellation Compensationevents – start a compensation process or compensate Conditionalevents – integrate business rules in the process Signalevents – exchange signals between processes Complexevents – choose from multiple events Linkevents – link processes (for example, on multiple pages) Terminateevents – immediately stop all business processes without any error handling or compensation

  33. BPMN Activities Task– a task to be done Task Multiple instance – this task has to be done multiple times for each object Multiple instance ||| Loop activity – do task until the loop condition is met Loop Subprocess – a complex task (a process within process)

  34. BPMN Gateways X Exclusive OR(data-based) – Choose one outbound path. Synchronization: process continues once any inbound path has been completed Exclusive OR(event-based) – Choose a path where an event happens. The next element should be an event or an event-handling activity Inclusive gateway – Choose one or multiple outbound paths. Synchronization: process continues once any inbound path has been completed O 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 + Complex gateway – split or merge the process based on a complex rule

  35. BPMN Connections Sequence Flow– shows the order in which activities are executed Simple Conditional Default Message Flow– shows exchange of messages Associations – logical associations between elements

  36. Basic Workflow Patterns Sequence - First A, then B, then C

  37. Basic Workflow Patterns Parallel Split - B and C start together once A finishes

  38. Basic Workflow Patterns Synchronization (AND-Join) - C starts once A and B finish

  39. Basic Workflow Patterns Choice - If Condition1 then B, if Condition2 thenC, ...

  40. Basic Workflow Patterns Merge - D starts when B ends or when C ends

  41. BPMN Strong Points • Intuitive • Can be used both by developers and business analysts • Bridging the gap between process design and implementation

  42. BPMN weak points • Converting to executable environments is a problem • Informal and partial mapping from BPMN to BPEL

  43. Handling Signatures

  44. 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) 

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

  46. Signature Targets • Specific person • - John Doe • Group of people • - leave-admins • Role/Right • - Department Head

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

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

  49. Signature: Rights hierarchy Role(Group Leader) Personnelrights Financialrights Right to signleave requests Right to signovertime claims Right to signofficial travels Right to signpurchase requests

  50. Rights Management by EDH Roles held by Derek MATHIESON (GS-AIS-EB) Priority Holder Type Target Validity date(s) 0 Derek MATHIESON (AS-IDS) SL GS-AIS-EB 01.01.2009 Profiles held by Derek MATHIESON (GS-AIS-EB) Priority Holder Type Target Validity date(s) 4500 Derek MATHIESON (GS-AIS-EB) LFC(SL) 71101 01.01.2009 700 Derek MATHIESON (GS-AIS-EB) SLSADMIN(SL) GS-AIS-EB 01.01.2009 4500 Derek MATHIESON (GS-AIS-EB) SHIPS(SL) GS-AIS-EB

More Related