Confidential Internal
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...
© 2013 Fiserv, Inc. or its affiliates.3 Confidential Internal
What is BPM?
What is Business Process Modeling?
Business Pro...
© 2013 Fiserv, Inc. or its affiliates.4 Confidential Internal
Why BPM ? Part - 1
• With its visual modeling of all workflo...
© 2013 Fiserv, Inc. or its affiliates.5 Confidential Internal
Why BPM ? Part - 2
• Real-time Information on the Performanc...
© 2013 Fiserv, Inc. or its affiliates.6 Confidential Internal
Relationship of BPEL to BPMN
• Business Process Execution La...
© 2013 Fiserv, Inc. or its affiliates.7 Confidential Internal
BPMN 2.0 Positioning
BPMN2
Model
Process
Choreography
Collab...
© 2013 Fiserv, Inc. or its affiliates.8 Confidential Internal
BPMN 2.0
© 2013 Fiserv, Inc. or its affiliates.9 Confidential Internal
BPMN 2.0
© 2013 Fiserv, Inc. or its affiliates.10 Confidential Internal
BPMN 2.0 Example
<?xml version="1.0" encoding="UTF-8"?>
<de...
© 2013 Fiserv, Inc. or its affiliates.11 Confidential Internal
Overview Activiti
© 2013 Fiserv, Inc. or its affiliates.12 Confidential Internal
Activiti Deployment View
© 2013 Fiserv, Inc. or its affiliates.13 Confidential Internal
Sample Demo
Developing sample Process flow using BPM
and ru...
© 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 Pr...
© 2013 Fiserv, Inc. or its affiliates.16 Confidential Internal
Activiti API
Powerful and uniform query API
1. Deployments ...
© 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
<beans xmlns="http:...
© 2013 Fiserv, Inc. or its affiliates.19 Confidential Internal
Embedding Activiti with Your Application
• Embeds in
• Your...
© 2013 Fiserv, Inc. or its affiliates.20 Confidential Internal
• Start a BPM workflow based event from incoming messages i...
© 2013 Fiserv, Inc. or its affiliates.21 Confidential Internal
Q & A
2
1
Questions?
Upcoming SlideShare
Loading in …5
×

Actviti bpm framework 1.0

735 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
735
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
57
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • IT and users collaborate directly onScreen designProcess flowBusiness rulesReduces handoffs and errors Speeds development and innovative thinking
  • BRMS : Business rules management system
  • BRMS : Business rules management system
  • Actviti bpm framework 1.0

    1. 1. Confidential Internal Activiti BPM Framework Shivnarayan R. Varma Sr. Architect, Tech COE April 30, 2014
    2. 2. © 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
    3. 3. © 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.
    4. 4. © 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 code. • 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 defined.
    5. 5. © 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
    6. 6. © 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 service. • 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 with programming.
    7. 7. © 2013 Fiserv, Inc. or its affiliates.7 Confidential Internal BPMN 2.0 Positioning BPMN2 Model Process Choreography Collaboration ServicesWS-BPEL Activiti SOA Rules Event BRMS
    8. 8. © 2013 Fiserv, Inc. or its affiliates.8 Confidential Internal BPMN 2.0
    9. 9. © 2013 Fiserv, Inc. or its affiliates.9 Confidential Internal BPMN 2.0
    10. 10. © 2013 Fiserv, Inc. or its affiliates.10 Confidential Internal BPMN 2.0 Example <?xml version="1.0" encoding="UTF-8"?> <definitions id="definitions" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/bpmn2.0"> <process id="hello"> <startEvent id="start"/> <sequenceFlow id="sf1" sourceRef="start" targetRef="helloScriptTask"/> <scriptTask id="helloScriptTask" name="Execute script" scriptFormat="groovy"> <script> println 'hello ' + customerId + '!' </script> </scriptTask> <sequenceFlow id="sf2" sourceRef="helloScriptTask" targetRef="end"/> <endEvent id="end"/> </process> </definitions>
    11. 11. © 2013 Fiserv, Inc. or its affiliates.11 Confidential Internal Overview Activiti
    12. 12. © 2013 Fiserv, Inc. or its affiliates.12 Confidential Internal Activiti Deployment View
    13. 13. © 2013 Fiserv, Inc. or its affiliates.13 Confidential Internal Sample Demo Developing sample Process flow using BPM and running it…..
    14. 14. © 2013 Fiserv, Inc. or its affiliates.14 Confidential Internal Activiti Process Engine
    15. 15. © 2013 Fiserv, Inc. or its affiliates.15 Confidential Internal Activiti API Example for Hello ProcessEngine engine= new ProcessEngineBuilder() .configureFromResource(“activiti.cfg.xml”) .buildProcessEngine(); engine.getRuntimeService().startProcessInstanceByKey(“hello”); Task task = engine.getTaskService().createTaskQuery().singleResult(); Engine.getTaskService().complete(task.getId());
    16. 16. © 2013 Fiserv, Inc. or its affiliates.16 Confidential Internal Activiti API Powerful and uniform query API 1. Deployments and process definitions repositoryService.createProcessDefinitionQuery.keyLike(“%mortgage%”).l atest(); 2. Process instances and executions runtimeService.createProcessInstanceQuery .processDefinitionKey(“mortgage-process)”.orderByProcessInstanceId().desc(); 3. History historyService.createHistoricActivityQuery().processDefinitionId(procDefId) .activityType(“userTask”).orderByDuration().asc(); 4. Variables runtimeService.createProcessInstanceQuery() .variableValueGreaterThan(“amount”, 50000); 5. Tasks, jobs, users, groups, historic activities/process instances/variables, …
    17. 17. © 2013 Fiserv, Inc. or its affiliates.17 Confidential Internal Activiti Spring Integration
    18. 18. © 2013 Fiserv, Inc. or its affiliates.18 Confidential Internal Activiti Integration with spring Config <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://ww w.springframework.org/schema/beans/spring-beans.xsd"> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" /> -- -- <property name="eventListeners"> <list> <bean class="org.activiti.engine.example.MyEventListener" /> </list> </property> </bean> </beans>
    19. 19. © 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 1 9 Tomcat JDK 5 … Oracle, MySQL, PostgreSQL Activiti Your App Spring
    20. 20. © 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 database. Real time example: Demonstrating Activiti integration with spring in web application 2 0
    21. 21. © 2013 Fiserv, Inc. or its affiliates.21 Confidential Internal Q & A 2 1 Questions?

    ×