Ce diaporama a bien été signalé.
Activiti BPM Framework
Shivnarayan R. Varma
Sr. Architect, Tech COE
April 30, 2014
© 2013 Fiserv, Inc. or its affiliates.2 Confidential Internal
Table of Contents
• What is BPM?
• Why BPM?
• Key Advantages of BPM
• Overview BPMN
• Overview Activiti
• Activiti Process Engine
• Activiti API
• Activiti Spring Integration
• Embedding Activiti with Your Application
• Q & A
© 2013 Fiserv, Inc. or its affiliates.3 Confidential Internal
What is BPM?
What is Business Process Modeling?
Business Process Modeling is the activity of representing processes of an enterprise, so
that the current process may be analyzed and improved by other professionals. This
describes the order in which a series of steps need to be executed using a flow chart.
© 2013 Fiserv, Inc. or its affiliates.4 Confidential Internal
Why BPM ? Part - 1
• With its visual modeling of all workflow and logic, BPM accelerates change and enables
understanding for both IT and users far beyond what is possible by looking at mockups or lines of
• Model the logic and click the run button and it’s executing.
• No detail too small, no behind the scenes piles of code.
• No code generation and then modifications, the model is the code.
• By making software development a truly collaborative experience between IT and the business,
many steps in the traditional development cycle are reduced or removed.
• Users participate directly as workflow is diagrammed, screens are laid out and business rules are
© 2013 Fiserv, Inc. or its affiliates.5 Confidential Internal
Why BPM ? Part - 2
• Real-time Information on the Performance of Processes
• Easy development – Configure new processes and applications on the fly, exactly the
way business wants. Predictable, on time and within budget
• Reduced TCO – Implement new processes and applications faster and cheaper with a
highly scalable BPM platform, leveraging existing IT investment
• No limitations – Build and change processes and applications without restrictions
imposed by existing, proprietary technologies
© 2013 Fiserv, Inc. or its affiliates.6 Confidential Internal
Relationship of BPEL to BPMN
• Business Process Execution Language (BPEL), short for Web Services Business
Process Execution Language (WS-BPEL), is an executable dialect of XML that allows
for the modeling of interactions between Web services on the cloud. Business
Process Execution Language (BPEL), short for Web Services Business Process
Execution Language (WS-BPEL), is an executable dialect of XML that allows for the
modeling of interactions between Web services on the cloud. BPEL allows for
complex orchestrations of multiple service applications through a single controller
• There is no standard graphical notation for WS-BPEL. Unlike BPEL, BPMN is not
executable and so is mostly used for planning and design. BPMN, though, has a
visual component that makes it easier to understand for business people not familiar
© 2013 Fiserv, Inc. or its affiliates.7 Confidential Internal
BPMN 2.0 Positioning
© 2013 Fiserv, Inc. or its affiliates.8 Confidential Internal
© 2013 Fiserv, Inc. or its affiliates.9 Confidential Internal
© 2013 Fiserv, Inc. or its affiliates.10 Confidential Internal
BPMN 2.0 Example
<?xml version="1.0" encoding="UTF-8"?>
<sequenceFlow id="sf1" sourceRef="start" targetRef="helloScriptTask"/>
<scriptTask id="helloScriptTask" name="Execute script" scriptFormat="groovy">
println 'hello ' + customerId + '!'
<sequenceFlow id="sf2" sourceRef="helloScriptTask" targetRef="end"/>
© 2013 Fiserv, Inc. or its affiliates.11 Confidential Internal
© 2013 Fiserv, Inc. or its affiliates.12 Confidential Internal
Activiti Deployment View
© 2013 Fiserv, Inc. or its affiliates.13 Confidential Internal
Developing sample Process flow using BPM
and running it…..
© 2013 Fiserv, Inc. or its affiliates.14 Confidential Internal
Activiti Process Engine
© 2013 Fiserv, Inc. or its affiliates.15 Confidential Internal
Activiti API Example for Hello
ProcessEngine engine= new ProcessEngineBuilder()
Task task =
© 2013 Fiserv, Inc. or its affiliates.16 Confidential Internal
Powerful and uniform query API
1. Deployments and process definitions
2. Process instances and executions
5. Tasks, jobs, users, groups, historic activities/process
© 2013 Fiserv, Inc. or its affiliates.17 Confidential Internal
Activiti Spring Integration
© 2013 Fiserv, Inc. or its affiliates.18 Confidential Internal
Activiti Integration with spring Config
<bean class="org.activiti.engine.example.MyEventListener" />
© 2013 Fiserv, Inc. or its affiliates.19 Confidential Internal
Embedding Activiti with Your Application
• Embeds in
• Your database
• Your transaction
• Your domain model
• Your tests
• Your Spring configuration
Oracle, MySQL, PostgreSQL
© 2013 Fiserv, Inc. or its affiliates.20 Confidential Internal
• Start a BPM workflow based event from incoming messages in queue or newly
inserted row in database or Feed file received.
• Our Message Listener / DB-Poller will listen incoming messages and creates BPM
event based on that.
• Create Web application which allows users to login and shows list of all the
workflow based task assigned to them.
• BPMN based workflow is initiated to handle this workflow task.
• Task will be assigned based various groups, users, roles, profiles defined in
Real time example: Demonstrating Activiti integration
with spring in web application
© 2013 Fiserv, Inc. or its affiliates.21 Confidential Internal
Q & A