View
30
Download
1
Category
Tags:
Preview:
DESCRIPTION
Workflows and business process modelling for CERN's Electronic Document Handling system . Rostislav Titov , GS-AIS-EB Section Leader, CERN. EDH. Electronic Document Handling @ CERN. Paper Purchase Order. Almost any Procedure. e -business. > 270’000 documents in 2010 - PowerPoint PPT Presentation
Citation preview
CERN – European Organization for Nuclear ResearchIT 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)
Start Studentpasses the exam
Resultsatisfactory? OK!
Maximumnumber of attempts
exceeded?ExpelledSchedule
the 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: ActiveVOSRobust server with a good track record
– One of the first BPEL vendors on the marketThe 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 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 (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 La
neLa
ne
Closed lane
CERNe–Business
BPMN Process Example
Source: Wikipedia
Sel
ler
Buyer
Sal
es
Man
ager
Sal
es R
epre
sent
ativ
e
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:Rostislav.Titov@cern.ch
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
Recommended