BPM with Bonita Open Solution

7,388 views
7,114 views

Published on

An introduction of BPM

Published in: Technology, Business
1 Comment
4 Likes
Statistics
Notes
  • Before bonita business process management (BPM) was expensive and basically consisted of specialists, many meetings, a glut of spreadsheets, paper workflow charts, calendars and zillions of emails.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,388
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
236
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

BPM with Bonita Open Solution

  1. 1. BPM with Bonita Open SolutionElias Ricken de Medeiros@riojug, July 6th, 2011
  2. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 2
  3. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 3
  4. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 4
  5. 5. Processes are everywhere...● Marketing and sales● Customer relations● Human resources● Communications● Internal policies and procedures● Manufacturing● R&D 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 5
  6. 6. Business Process Management (BPM) is… a set of tools and methodologies to model, automate, monitor and optimize the processes of an organization 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 6
  7. 7. Process lifecycle: continuous improvement 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 7
  8. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 8
  9. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 9
  10. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 10
  11. 11. A Business Process Management System (BPMS) is… a set of software toolsto implement Business Process Management in an organization 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 11
  12. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 12
  13. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 13
  14. 14. BPMS and continuous improvement● Open the doors towards monitoring, reporting, business intelligence, simulation... 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 14
  15. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 15
  16. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 16
  17. 17. 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 17
  18. 18. BPMN samplesBPMN defines... 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 18
  19. 19. BPMN samples7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 19
  20. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 20
  21. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 21
  22. 22. Process based web applications Software Main steps Process design BPM Solution Information System Connectivity Web framework Web Application development 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 22
  23. 23. How to develop a process basedweb application ? Web Application PageFlow and GUI BPM Interface BPM API BPM Execution Engine 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 23
  24. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 24
  25. 25. How could we go further ? Generic graphical interface for processes Process based web applications generation 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 25
  26. 26. Generic graphical interface forprocesses BPM Portal Process 1 Process 2 Process n BPM API BPM Execution Engine 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 26
  27. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 27
  28. 28. Bonita in a nutshell 2001 – 2003: v12003-2009: Bonita v2, v3 and v4 Since 2009: Bonita Open Solution 5... 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 28
  29. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 29
  30. 30. What is Bonita Open Solution?Bonita Studio Bonita User Experience draw and connect run your application manage your processes Bonita Execution Engine 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 30
  31. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 31
  32. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 32
  33. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 33
  34. 34. DemoProcess modeling 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 34
  35. 35. DemoRun 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 35
  36. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 36
  37. 37. DemoCustomize your end users forms 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 37
  38. 38. DemoGenerate an application from your process 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 38
  39. 39. DemoUser Experience – as easy as email 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 39
  40. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 40
  41. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 41
  42. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 42
  43. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 43
  44. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 44
  45. 45. Bonita Studio7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 45
  46. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 46
  47. 47. User XP● Is based on GWT● Provides a modular UI easy to customize● Supports BIRT and JasperReports 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 47
  48. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 48
  49. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 49
  50. 50. DemoConnect There is a connector for that... 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 50
  51. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 51
  52. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 52
  53. 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/7/11 www.bonitasoft.com | © BonitaSoft S.A. 53
  54. 54. BOS Engine: the APIhttp://www.bonitasoft.org/blog/tutorial/building-your-applications-with-bonita-runtime-part-1/ 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 54
  55. 55. Product development - Roadmap & Tracking● Bonita Open Solution development follows Scrum methodology: ● Sprints & Roadmap ● Rigorous usage of a tracker ● Backlogs & Burn-down chart 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 55
  56. 56. Product development - Continuous Integration● ~2300 tests for each platform 7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 56
  57. 57. Questions?7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 57
  58. 58. Contactelias.ricken@bonitasoft.com@eliasricken onhttp://www.bonitasoft.com@bonitasoft onhttp://www.youtube.com/bonitasoft onhttp://www.slideshare.net/bonitasoft on

×