Workflows and business process modeling for CERN's Electronic

advertisement
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
CERN
e Business
–
Paper Purchase Order
CERN
e Business
–
Almost any Procedure
CERN
e Business
–
e-business
> 270’000 documents in 2010
 > 14’000 users from many countries
 Used by all CERN personnel

“CERN’s EDH enables staff
to focus on CORE activities by
minimizing the overhead of
business processes”
CERN
e Business
–
Workflow in Action
CERN
e Business
–
Workflow in Action
CERN
e Business
–
Workflow in Action
CERN
e Business
–
Workflow in Action
********
CERN
e Business
–
Workflow in Action

Already
Approved

CERN
e Business
–
Workflow in Action
CERN
e Business
–
Workflow in Action
CERN
e Business
–
Business processes
- Collection of activities that produce a service
or product
- Can be represented by a graph (WF-net)
Start
Student
passes the exam
Result
satisfactory?
Yes
OK!
No
Schedule
the next attempt
CERN
e Business
–
No
Maximum
number of attempts
exceeded?
Yes
Expelled
Workflow Management System
 Software
for designing
and executing workflows
• Workflow engine
• Notification management
• Visual process designer
• Process visualization
• Debugging
• Error handling and exception
management
CERN
e Business
–
Workflow Standards
BPML
(Intallio et al)
BPSS
(ebXML)
WSCI
(Sun et al)
WS-Choreography
(W3C)
2000/05 2001/03 2001/05 2001/06 2002/03 2002/06 2002/08 2003/01 2003/04 2004/05
WSFL
(IBM)
XLang
(Microsoft)

WSCL
(HP)
BPEL4WS 1.0
(IBM, Microsoft)
BPMN 1.2
(OMG)
BPMN 1.0
(BPMI)
BPEL4WS 1.1
(OASIS)
2007/05
2009/01 2011/01
WS-BPEL 2.0
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…)
CERN
e Business
–
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
CERN
e 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
CERN
e Business
–
Definition: OASIS
BPEL Process Example
CERN
e Business
–
BPEL Process Example
CERN
e Business
–
<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>
BPEL Design IDE
CERN
e Business
–
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>
<receive>
<reply>
send msg to partner; possibly receive response
accept msg from partner
send msg to partner as response to <receive>
Other
<assign>
<wait>
<exit>
<compensate>
<throw>
<empty>
CERN
e Business
–
manipulate variables
for duration / until time
end the process
run compensation handler of inner scope
exit with fault to outer scope
do nothing
BPEL Engines Evaluation
Designer
Links in
designer
XPATH
tools
Open
source
Java based Halt on
fault and
retry
Debugging Process
Web based
versioning tools
Active BPEL
Oracle BPEL
IBM WebSphere
PXE
Cape Clear
Parasoft BPEL
Maestro
Vergil VCAB
Twister / Agila
BPEL
IT Pearl
BEA Weblogic
workshop
CERN
e Business
–
Supported
Partly supported
Not supported
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:
–
–
–
–

Persistent data is clear XML
CERN
e Business
–
Process versioning
Halt on fault/retry
Clustering
Multi-tenancy
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
•
•
•
•
CERN
e Business
–
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
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

CERN
e 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)
CERN
e Business
–
BPMN
• Business Process Modelling Notation
Maintained by the OMG consortium
(they also maintain UML specs)
CERN
e 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
CERN
e Business
–
BPMN Elements
Events – something that happens in the system
Activities – some work to be done
Gateways – split or merge paths depending on conditions
Sequence flow
Lane
Lane
Closed lane
CERN
e Business
–
Default flow
Swimlanes – used to define roles
Lane
Pool
Lane
Conditional flow
Connections – connect elements
BPMN Process Example
Sales Representative
Seller
Buyer
Handle
order
Send
proposal
to the client
Proposal
rejected
Receive
request
Sales
Manager
Not approved
e Business
–
Inform the
client about
processing
Close
the case
Change
proposal
Make
proposal
CERN
Order
received
Approved
Consider
proposal
Source: Wikipedia
BPMN Events
Start
Intermediate
Processing
Plain
Message
End
Throwing
– usually indicate beginning or end of a process
Plain events
.
– indicate sending or receiving a message
Message events
– regularly happening events, time periods and timeouts
T imer events
Timer
Error
Cancel
Compensation
Conditional
Signal
Complex
Link
Terminate
CERN
e Business
–
– error generation and handling
E rror events
– cancel a transaction or react to a cancellation
C ancel events
C ompensation events
C onditional events
S ignal events
Complex
– start a compensation process or compensate
– integrate business rules in the process
– exchange signals between processes
events – choose from multiple events
L ink events
– link processes (for example, on multiple pages)
T erminate events
compensation
– immediately stop without error handling or
BPMN Activities
Task
Task – a task to be done
Multiple
instance
Multiple instance – this task has to be
done multiple times for each object
|||
Loop
Loop activity – do task until the loop
condition is met
Subprocess – a complex task (a
process within process)
CERN
e Business
–
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
O
+
Inclusive gateway – Choose one or multiple outbound paths.
Synchronization: process continues once any inbound path
has been completed
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
CERN
e Business
–
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
CERN
e Business
–
BPMN Strong Points

Intuitive

Can be used both by developers and
business analysts
– Bridging the gap between process
design and implementation
CERN
e Business
–
BPMN weak points

Converting to executable
environments is still not obvious
CERN
e 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)
Approved
2KCHF signature
Rejected
CERN
e Business
–

Thank You
For More Information
E-mail:
Rostislav.Titov@cern.ch
CERN
e Business
–
Basic Workflow Patterns
Sequence
A
B
- First A, then B, then C
CERN
e Business
–
C
Basic Workflow Patterns
Parallel Split
B
B
A
A
C
+
C
- B and C start together once A finishes
CERN
e Business
–
Basic Workflow Patterns
Synchronization (AND-Join)
A
+
C
B
- C starts once A and B finish
CERN
e Business
–
Basic Workflow Patterns
Choice
Condition1
true
B
B
A
A
O
C
C
false
CERN
e Business
–
- If Condition1 then B,
if Condition2 then C,
...
Condition2
Basic Workflow Patterns
Merge
B
A
D
C
- D starts when B ends or when C ends
CERN
e Business
–
Download