[email protected] https://twitter.com/berndruecker Gründung camunda BPM Beratung, Seminare, Projekte zu BPM BPM-Softwarehersteller 2008 Publikationen 2009 2010 2011 2012 2013 Mitgliedschaften Warum macht Ihr eigentlich so ein Alte-MännerThema wie BPM? Alte-Männer-Thema??? Prozessautomatisierung mit Process Engine <process id="invoice" isExecutable="true"> <startEvent name="Rechnung eingegangen" /> <userTask name="Rechnung freigeben" /> <exclusiveGateway name="Freigabe erfolgt?" ... Monitoring und Reporting Ausführbares Prozessmodell Process Engine Messung der Durchlaufzeit Human Workflow Management AufgabenZuweisung Service-Call Service-Call AufgabenZuweisung Service Orchestration Prozessbeteiligter IT-System IT-System Prozessbeteiligter BPMN 2.0 & Engines sind mächtig Als Showcase verfügbar incl. Camel / Mule BPMN 2.0 & Engines sind mächtig Als Showcase verfügbar incl. Camel / Mule Der Prozess wird sichtbar „Juhu – eine BPM Suite!“ Das unhaltbare Versprechen BPMSuite Fachanwender Software Entwickler Stattdessen @Inject ProcessEngine engine; Some code CDI / Spring (if you want) @Inject private ProcessEngine engine; […] Deployment deployment = engine.getRepositoryService() .createDeployment() .addClasspathResource("my-process.bpmn") .deploy(); Services to talk to the engine engine.getRuntimeService().startProcessInstanceByKey("my-process"); List<Task> list = engine.getTaskService().createTaskQuery().list(); HashMap<String, Object> variables = new HashMap<String, Object>(); variables.put("approver", "bernd"); engine.getTaskService().complete(list.get(0).getId(), variables); Use TX / JTA / EJB (if you want) Some code Code is executed when process instances runs through @Named("svnService") public class StorePDFDelegate implements JavaDelegate { public void execute(DelegateExecution execution) throws Exception { String someData = (String) execution.getVariable("someData"); ... EL can reference variables, Spring or CDI beans, … Process Engine als Infrastruktur My process application1 Java Classes BPMN 2.0 Processes process engine (jar) … My process application1 vs My process application2 Java Classes BPMN 2.0 Processes process engine (jar) … My process application2 Java Classes Java Classes BPMN 2.0 Processes BPMN 2.0 Processes Process Engine JPA, EJB, JTA … … Container + Glassfish, WebLogic, WebSphere BPM-Suiten? Prozesse GUI Integration Dokumente Reporting und ich brauch noch... Rules Ham wa nich! Stattdessen: Best of Breed! Reporting IntegrationsFramework / ESB BPMN 2.0 Process Engine Business Rules Engine UIFramework Application Server Unser Ansatz zusammengefasst 1 2 3 www.camunda.org 4 Komponenten Fachanwender Business Analyst Fachlicher Modeler Tasklist Individuelles Frontend Cockpit REST REST / Java REST Cycle REST / Java API File Repository Entwickler Modeler Fachlicher / Technischer Betrieb Engine Datenbank custom plugin Die Zeit ist reif! Also los – anfangen! Download −Distribution mit Tomcat, JBoss, GF −Maven Koordinaten −Eclipse Update Site Get Started Tutorial Ihr schafft das bestimmt in 6:20 :-) www.camunda.org