Your SlideShare is downloading. ×
BPM with Bonita Open Solution
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BPM with Bonita Open Solution

1,737
views

Published on

Published in: Technology, Business

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,737
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
122
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BPM with Bonita Open SolutionElias Ricken de Medeiros@dfjug, July 14th, 2011
  • 2. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How to generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 2
  • 3. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 3
  • 4. A business process is...● a collection of related, structured activities or tasks that produce a specific service or product and have to be executed in a specific sequence.● It often can be visualized with a flowchart as a sequence of activities. 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 4
  • 5. Processes are everywhere...● Marketing and sales● Customer relations● Human resources● Communications● Internal policies and procedures● Manufacturing● R&D 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 5
  • 6. Business Process Management (BPM) is… a set of tools and methodologies to model, automate, monitor and optimize the processes of an organization 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 6
  • 7. Process lifecycle: continuous improvement 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 7
  • 8. Many applications are process based● BPM should be everywhere in any type of company● BUT …. It is not the case today Many processes are hard coded 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 8
  • 9. Why ?● Because BPM solutions are historically complex to implement and very expensive ➔ So there are exclusively used by wealthiest companies for mission critical projects● Because it can be tempting to hard code the processes 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 9
  • 10. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 10
  • 11. A Business Process Management System (BPMS) is… a set of software toolsto implement Business Process Management in an organization 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 11
  • 12. BPMS● Set of tools to go from Business Process Modeling to Business Process execution and monitoring.● Can include extra BPM features such as process simulation, or application generation.● Helps transforming business logic into something that can be executed 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 12
  • 13. BPMS and agility● By uncoupling business logic from technical issues, a BPMS brings agility to your business.● Modify a process = edit a diagram + redeploy a file● Improving business processes is transparent for people affected by these processes. 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 13
  • 14. BPMS and continuous improvement● Open the doors towards monitoring, reporting, business intelligence, simulation... 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 14
  • 15. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 15
  • 16. Business Process Modeling Notation (BPMN) is…● A standardized graphical notation for modeling business processes● BPMN 2.0 standard released in January 2011 ● proposed by the Object Management Group ● contains standard graphical elements ● uses standard semantics ● identifies standard execution 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 16
  • 17. 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 17
  • 18. BPMN samplesBPMN defines... 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 18
  • 19. BPMN samples7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 19
  • 20. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 20
  • 21. BPM (for business users)● BPM answer to questions such as: ● “And now, what do I have to do?” ● “How am I expected to do that?” ● “What is going on with the things I was involved in?”● BPM is all about giving to the end-user the application that exactly reproduce the way he works with those processes on a day to day. 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 21
  • 22. Process based web applications Software Main steps Process design BPM Solution Information System Connectivity Web framework Web Application development 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 22
  • 23. How to develop a process basedweb application ? Web Application PageFlow and GUI BPM Interface BPM API BPM Execution Engine 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 23
  • 24. What are the benefits ?● Business logic is externalized in a process● The BPM solution will manage the life cycle of the process as well as human and system interactions● Only link between the web application and the BPM solution is the BPM API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 24
  • 25. How could we go further ? Generic graphical interface for processes Process based web applications generation 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 25
  • 26. Generic graphical interface forprocesses BPM Portal Process 1 Process 2 Process n BPM API BPM Execution Engine 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 26
  • 27. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 27
  • 28. Bonita in a nutshell 2001 – 2003: v12003-2009: Bonita v2, v3 and v4 Since 2009: Bonita Open Solution 5... 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 28
  • 29. Bonita Open Solution● Version 5.5.1 available since June 30th● Very active community (3500+ members)● 500.000 downloads since the creation of the project● Best Modeling Tool 2011● GPL license for the studio● LGPL for the execution engine and the web applications● http://www.bonitasoft.com/products/BPM_download.php 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 29
  • 30. What is Bonita Open Solution?Bonita Studio Bonita User Experience draw and connect run your application manage your processes Bonita Execution Engine 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 30
  • 31. What is Bonita Open Solution?● Bonita Studio ● model processes ● connect processes to external information systems ● design end-user forms● Bonita User Experience ● provides end-user interface for interaction with process ● allows administrator management of process ● stand-alone applications● Bonita Execution Engine 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 31
  • 32. Architecture: big picture Users 3rd Party Information C System Bonita Bonita UserYour App O Applications Experience N Mail N E DB C Bonita Engine T LDAP O R S … DB 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 32
  • 33. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 33
  • 34. DemoProcess modeling 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 34
  • 35. DemoRun 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 35
  • 36. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 36
  • 37. DemoCustomize your end users forms 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 37
  • 38. DemoGenerate an application from your process 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 38
  • 39. DemoUser Experience – as easy as email 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 39
  • 40. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 40
  • 41. Runtime Architecture UsersApp1 App2 User Experience BAM Users Tasks Process Forms server BI Management management Management API Process engine 3rd Party Services container ConnectorsTransaction Journal History LDR Identity … 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 41
  • 42. BOS Engine● Bonita execution Engine can be embedded in your applications● bonita-server and bonita-client are available as Maven artifacts on repositories● It is distributed under LGPL v2. 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 42
  • 43. BOS Engine● The engine is basically an API to manipulate processes. (create, instantiate, execute, delete)● It deals with persistence of process definitions and instances, and with execution of the flow.● is used for ORM 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 43
  • 44. BOS Engine● BOS Engine can be accessed locally or remotely with Java, using the same code Local Remote Java Client Application Server EJB JAXRS bonita-client.jar HTTP Clientbonita-server.jar bonita-server.jar HTTP (PHP, Python...) 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 44
  • 45. Bonita Studio7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 45
  • 46. Bonita Studio● Is an Eclipse RCP application. It contains the core of Eclipse, some other Eclipse projects, and a lot of Bonita specific plugins.●● Relies on Bonita engine for export.● Imports process in BAR(Bonita archive), BPMN 2, XPDL 1 and jBPM 3● Exports process in BAR and BMPN 2 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 46
  • 47. User XP● Is based on GWT● Provides a modular UI easy to customize● Supports BIRT and JasperReports 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 47
  • 48. Process applications● The studio exports a forms.xml file that describes the form.● The process application reads this forms.xml build the form model and render it on the page, using GWT.● The UI can be customized using HTML templates 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 48
  • 49. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 49
  • 50. DemoConnect There is a connector for that... 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 50
  • 51. Agenda● What is BPM? Why is this useful?● What does a BPMS provide?● What is BPMN?● From the process to the application● What is Bonita Open Solution?● How to model a process?● How generate a web application?● Under the hood● How to develop connectors?● Use the execution engines API 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 51
  • 52. BOS Engine: the API● ManagementAPI ● Operations related to process installation/removal, resources management. ● e.g. deploy(businessArchive), deleteProcess(processUUID), addMetadata(key, value)● QueryDefinitionAPI ● Query operations related to the ‘Definition’ object model. ● e.g. getProcesses(), getProcess(processUUID), getProcessActivities(processUUID, activityName)● RuntimeAPI ● Modification operations related to the ‘Runtime’ object model. ● e.g. executeTask(taskUUID), assignTask(taskUUID, userId), instantiateProcess(processUUID)● QueryRuntimeAPI ● Query operations related to the ‘Runtime’ object model. ● e.g. getProcessInstances(), getTaskList(taskState), getVariable(activityInstanceUUID, variableName) 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 52
  • 53. BOS Engine: the API● RepairAPI ● Advanced administration operations to handle executing process instances that may be off nominal ● e.g. stopExecution(processInstanceUUID, activityName)● CommandAPI ● Operations to execute commands available in a given process or in the overall engine ● e.g. execute(command, processUUID), execute(command)● IdentityAPI ● Operations related to the embedded user module ● e.g. addUser(userName, password), addRole(roleName), getUsers()● BAMAPI ● Query operations to retrieve statistics from the runtime data ● e.g. getNumberOfOverdueSteps(), getNumberOfOpenStepsPerDay(startDate) 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 53
  • 54. BOS Engine: the APIhttp://www.bonitasoft.org/blog/tutorial/building-your-applications-with-bonita-runtime-part-1/ 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 54
  • 55. Product development - Roadmap & Tracking● Bonita Open Solution development follows Scrum methodology: ● Sprints & Roadmap ● Rigorous usage of a tracker ● Backlogs & Burn-down chart 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 55
  • 56. Product development - Continuous Integration● ~2300 tests for each platform 7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 56
  • 57. Questions?7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 57
  • 58. Contactelias.ricken@bonitasoft.com@eliasricken onhttp://www.bonitasoft.com@bonitasoft onhttp://www.youtube.com/bonitasoft onhttp://www.slideshare.net/bonitasoft on