Please do not SUPER SIZE ME enterprise integration using the Camunda Fox Plattform Ralf Sigmund OPITZ CONSULTING OPITZ CONSULTING GmbH 2012 Seite 1
Project Goal: Orchestrate Several Backend Systems in long running processes Customer Frontend Customer Database Credit Rating Services Product Systems Email, Dating, Portal.. Billing SAP Callcenter Mail-Gateway OPITZ CONSULTING GmbH 2012 Seite 2
Architecture Goal: Reduce Costs compared to former individual solution OPITZ CONSULTING GmbH 2012 Seite 3
Project Constraint: fixed Going Live Date OPITZ CONSULTING GmbH 2012 Seite 4
freenet Mindset agile Methodology Development Team Skills Java EE JBoss, MySQL Open Source OPITZ CONSULTING GmbH 2012 Seite 5
What does agile mean anyway? Shared knowledge / Transparency Everyone can contribute to their full potential Everyone can take Responsibility and Commit to Goals So we need: => Transparent Requirements => Transparent Project Status OPITZ CONSULTING GmbH 2012 Seite 6
BPMN 2.0 is agile ;-) BPEL is not OPITZ CONSULTING GmbH 2012 Seite 7
Everyone needs Access to the Technical Model. What s Your Dream Tool? Business User Developer (Nerd) Ease of use Integrates with Code Context, Comments, Glossary XML Editing Graphical History /Diff Model is code Fox Designer Signavio Repository Versioning included SCM Git/Subversion Git OPITZ CONSULTING GmbH 2012 Seite 8
Transparency to the Business User not only at Design Time Model Engine Monitori ng Transpar ency OPITZ CONSULTING GmbH 2012 Seite 9
There is more than one type of Process Solution Executing & Monitoring Processes Controlling Processes Human Workflow User tasks Organisational roles Task Escalation Substitution rules freenet Transparency Control Human Workflow Minimize human workflow! OPITZ CONSULTING GmbH 2012 Seite 10
Choosing The Platform Functionality Transparency Testabilty Developer friendliness Process Engine Business compatible BPMN 2.0 modelling Automated Module Tests Open Source Runtime Environment Process Monitoring and Controlling Application SCM based Standard Toolchain OPITZ CONSULTING GmbH 2012 Seite 11
Activiti Out of the Box Individual OPITZ CONSULTING GmbH 2012 Seite 12
Suites (IBM, Oracle,..) Out of the Box Individual OPITZ CONSULTING GmbH 2012 Seite 13
camunda fox Out of the Box Individual Monitoring / Control Application Powerful Runtime Environment APIs Workflow Logic User Task Uis Integration / Adapter Process Engine Process OPITZ CONSULTING GmbH 2012 Seite 14
JBOSS AS7 as Runtime Environment From self Contained to everything is provided JPA 2.0, JAX-RS, Guava, Apache Commons, CDI,.. might be good enough Open Source (really!) Useful Architecture to start from Fox adds Activiti in a sensible way OPITZ CONSULTING GmbH 2012 Seite 15
Function Collaboration ilities Process engine Design Testability Runtime Environment Monitoring /Controlling Modifiability OPITZ CONSULTING GmbH 2012 Seite 16
So hopefully I convinced You that the fox additions to Activiti make it even more suitable for agile Projects Generate Business value earlier Maximize Transparency OPITZ CONSULTING GmbH 2012 Seite 17
What about transparent project progress? DONE = it s tested OPITZ CONSULTING GmbH 2012 Seite 18
Testing with Arquillian, Jenkins, Mockito end2end / Integration Test Process Logic (Module Test) Services (Module Test) Test Department Ohne Services Ohne Subprozesse Integration externer Services Schnittstellen OPITZ CONSULTING GmbH 2012 Seite 19
Test Strategy Focus on single item to test Maximize Coverage of Item Under Test Start with Happy Path Test OPITZ CONSULTING GmbH 2012 Seite 20
OPITZ CONSULTING GmbH 2012 Seite 21
Shrinkwarp does bpmn20 Goal: Replace Sub process with Mock Process Shrinkwarp defines the Deployment Unit: Replace Sub process OPITZ CONSULTING GmbH 2012 Seite 22
Mocking with Delegates Simple Mock Process EL Injected Mock Delegate OPITZ CONSULTING GmbH 2012 Seite 23
Preparing the Test with Mockito OPITZ CONSULTING GmbH 2012 Seite 24
Assert the actual process flow with Mockito OPITZ CONSULTING GmbH 2012 Seite 25
Java CDI Magic compare this with BPEL, XPATH, XQUERY @Inject private BusinessProcess businessprocess; OPITZ CONSULTING GmbH 2012 Seite 26
Contextual Business Process Managemet OPITZ CONSULTING GmbH 2012 Seite 27
What about transparent project progress? DONE = it s tested Answer: We can use all state of the Art stuff we already know. OPITZ CONSULTING GmbH 2012 Seite 29
OPITZ CONSULTING GmbH 2012 Seite 30
Common Mindset OPITZ CONSULTING GmbH 2012 Seite 31
Thank You! https://github.com/sistar/camunda-fox-demo-app Twitter @sistar tweet if you would like the full testing example Kudos to @codescape for the sample code OPITZ CONSULTING Hamburg GmbH Dr. Ralf Sigmund Solution Architect Butendeichsweg 2 21129 Hamburg Telefon: +49 40 741122-1344 Mobil: +49 173 5100570 ralf.sigmund@opitz-consulting.com OPITZ CONSULTING GmbH 2012 Seite 33