workflows and business process modelling for cern's electronic document handling system
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 PresentationTRANSCRIPT
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