BPM&Bonita Mickael Istria @LyonJUG, 15th February 2011
Agenda What is BPM? Why is this useful? What does BPMS provide? Bonita Open Solution: demo Under the hood
BPM is... Business Process Management
a BPM use-case
BPM (for functional) Speaks about how to do things. Defines your how business works. Ensure it works! It is all about organization, and is clearly driven by business.
BPM (for end users) Business processes answer to questions such as: “And now, what do I have to do?” “How can I do that?” “How am I expected to do that?” Ensure you do what is expected of you.
BPMN is... Business Process Modeling Notation An Standard
BPMN samples BPMN defines...
From BPM to BPMS I can automate that!
But... BPMS already did that for you!
BPMS is... Business Process Management Solution
Set of tooling to go from Business Process Modeling to Business Process Automation.
Can include extra BPM features such as process simulation, or application generation.
Helps transforming functional into technical
BPMS and agility By uncoupling business logic from technical issues, BPMS provides agility to your business. Improve = edit diagram + redeploy a file Improving business processes is transparent for people affected by these processes.
BPMS and continuous improvement Open the doors towards monitoring, reporting, business intelligence, simulation...
Bonita Open Solution Version 5.4 available since January the 27th Very active community (3500+ members) GPL v2 http://www.bonitasoft.com/products/BPM_download.php
Demo Process modeling
Demo Connect There is a connector for that...
Demo User Experience – as easy as email
Demo Customize your end user forms
Demo Generate an application from your process
Simulate your process and improve it
Under the hood
Runtime architecture - Big picture Users Connec t o r s 3rd Party Information System Bonita User Experience Bonita Applications Your App Mail DB Bonita Engine Google Cal … DB
BOS Engine Je suis l'une des technologies utilisées dans le moteur de Bonita... …notamment pour la persistence des définitions de processus, et des états de leurs instances. Je suis sans doute le framework de persistence ORM le plus utilisé dans le monde Java. Je suis, je suis...?
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.
BOS Engine BOS Engine can be accessed locally or remotely with Java, using the same code Local Remote Java Client Application Server EJB REST bonita-client.jar HTTP Client (PHP, Python...) bonita-server.jar bonita-server.jar REST
BOS Engine Bonita Engine can be embedded in your apps bonita-server and bonita-client are available as Maven artifacts on repositories It is distributed under LGPL v2.
Bonita Studio The studio is an Eclipse RCP application. It contains the core of Eclipse, some other Eclipse projects, and a lot of Bonita specific plugins. It 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
User XP and process apps
User XP and process apps Which RIA framework is used for the web part? Google Web Toolkit !
User XP and process apps The studio exports a forms.xml file that describe the form. The process application reads this forms.xml to render it on the web, using GWT.
Product development -Roadmap & Tracking Bonita Open Solution development follows Scrum methodology: Sprints & Roadmap Rigorous usage of a tracker Backlogs & Burn-down chart
Product development -Continuous Integration ~2300 tests for each platform 22 dedicated cores are used for continuous build and testing.
Questions? Unfortunately there are no more mugs !
Contact firstname.lastname@example.org @mickaelistria on http://www.bonitasoft.com @bonitasoft on http://www.youtube.com/bonitasoft on http://www.slideshare.net/bonitasoft on