BPM with Bonita Open Solution<br />Anthony Birembaut<br />@alpesjug, February 22nd, 2011<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
A business process is...<br />a collection of related, structured activities or tasks that produce a specific service or p...
Processes are everywhere...<br /><ul><li>Marketing and sales
Customer relations
Human resources
Communications
Internal policies and procedures
Manufacturing
R&D</li></li></ul><li>Business Process Management (BPM) is…<br />a set of tools and methodologies<br />to model, automate,...
Process lifecycle: continuous improvement<br />
Many applications are process based<br />BPM should be everywhere in any type of company<br />BUT ….<br />It is not the ca...
Why ?<br />Because BPM solutions are historically complex to implement and very expensive<br /><ul><li>So there are exclus...
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
A Business Process Management System (BPMS) is…<br />a set of software tools<br />to implement Business Process Management...
BPMS<br />Set of tools to go from Business Process Modeling to Business Process execution and monitoring.<br />Can include...
BPMS and agility<br />By uncoupling business logic from technical issues, a BPMS brings agility to your business.<br />Mod...
BPMS and continuous improvement<br />Open the doors towards monitoring, reporting, business intelligence, simulation...<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Business Process Modeling Notation (BPMN) is…<br />A standardized graphical notation for modeling business processes<br />...
BPMN samples<br />BPMN defines...<br />
BPMN samples<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
BPM (for business users)<br />BPM answer to questions such as:<br />“And now, what do I have to do?”<br />“How am I expect...
Process based web applications<br />Software<br />Main steps<br />Process design<br />BPM Solution<br />Information System...
How to develop a process based web application ?<br />PageFlow and GUI<br />Web Application<br />BPM Interface<br />BPM AP...
What are the benefits ?<br />Business logic is externalized in a process<br />The BPM solution will manage the life cycle ...
How could we go further ?  <br />Generic graphical interface for processes<br />Process based web applications generation<...
Generic graphical interface for processes<br />BPM Portal<br />Process 1<br />Process 2<br />Process n<br />BPM API<br />B...
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Bonita in a nutshell<br />2001 – 2003: v1<br />2003-2009: Bonita v2, v3 and v4<br />Since 2009: Bonita Open Solution 5...<...
Bonita Open Solution<br />Version 5.4 available since January the 27th<br />Very active community (3500+ members)<br />500...
What is Bonita Open Solution?<br />Bonita Studio<br />Bonita User Experience<br />run your application<br />draw and conne...
What is Bonita Open Solution?<br />Bonita Studio<br />model processes<br />connect processes to external information syste...
Architecture: big picture<br />Users<br />Connec<br />t<br />o<br />r<br />s<br />3rd Party Information System<br />Bonita...
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Demo<br />Process modeling<br />
Demo<br />Run<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Demo<br />Customize your end user's forms<br />
Demo<br />Generate an application from your process<br />
Demo<br />User Experience – as easy as email<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Runtime Architecture<br />Users<br />App1<br />App2<br />User Experience<br />Forms server<br />BAM<br />BI<br />Users Man...
BOS Engine<br />Bonita execution Engine can be embedded in your applications<br />bonita-server and bonita-client are avai...
BOS Engine<br />The engine is basically an API to manipulate processes. (create, instantiate, execute, delete)<br />It dea...
BOS Engine<br />BOS Engine can be accessed locally or remotely with Java, using the same code<br />Local<br />Remote<br />...
Bonita Studio<br />
Bonita Studio<br />Is an Eclipse RCP application. It contains the core of Eclipse, some other Eclipse projects, and a lot ...
User XP<br />Is based on      GWT<br />Provides a modular UI easy to customize<br />Supports BIRT and JasperReports<br />
Process applications<br />The studio exports a forms.xml file that describes the form.<br />The process application reads ...
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
Demo<br />Connect<br />There is a connector for that...<br />
Agenda<br />What is BPM? Why is this useful?<br />What does a BPMS provide?<br />What is BPMN?<br />From the process to th...
BOS Engine: the API<br />ManagementAPI<br />Operations related to process installation/removal, resources management.<br /...
BOS Engine: the API<br />RepairAPI<br />Advanced administration operations to handle executing process instances that may ...
Upcoming SlideShare
Loading in...5
×

BPM with Bonita Open Solution @AlpesJUG

5,418

Published on

Explain the definition of BPM and Bonita Open Solution, as well as it's powerful functionality

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

No Downloads
Views
Total Views
5,418
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
153
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

BPM with Bonita Open Solution @AlpesJUG

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

    Clipping is a handy way to collect important slides you want to go back to later.

×