© OPITZ CONSULTING GmbH 2012 Seite 1 Freenet Customer Case Study @ Activiti Day Berlin 2012 Please do not SUPER SIZE ME enterprise integration using the Camunda Fox Plattform Ralf Sigmund OPITZ CONSULTING
Nov 29, 2014
© OPITZ CONSULTING GmbH 2012 Seite 1Freenet Customer Case Study @ Activiti Day Berlin 2012
Please do not SUPER SIZE MEenterprise integration using the Camunda Fox
PlattformRalf Sigmund OPITZ CONSULTING
© OPITZ CONSULTING GmbH 2012 Seite 2Freenet Customer Case Study @ Activiti Day Berlin 2012
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
Backend
Higly Te
chnica
l
© OPITZ CONSULTING GmbH 2012 Seite 3Freenet Customer Case Study @ Activiti Day Berlin 2012
Architecture Goal:Reduce Costs compared to former
individual solution
© OPITZ CONSULTING GmbH 2012 Seite 4Freenet Customer Case Study @ Activiti Day Berlin 2012
Project Constraint:fixed Going Live Date
© OPITZ CONSULTING GmbH 2012 Seite 5Freenet Customer Case Study @ Activiti Day Berlin 2012
agile Methodology
Java EEDevelopment Team Skills
JBoss, MySQL Open Source
freenet Mindset
© OPITZ CONSULTING GmbH 2012 Seite 5Freenet Customer Case Study @ Activiti Day Berlin 2012
© OPITZ CONSULTING GmbH 2012 Seite 6Freenet Customer Case Study @ Activiti Day Berlin 2012
What does agile mean anyway?
• Shared knowledge / Transparency• Everyone can contribute to their full potential• Everyone can take Responsibility and Commit
to GoalsSo we need:=> Transparent Requirements=> Transparent Project Status
© OPITZ CONSULTING GmbH 2012 Seite 7Freenet Customer Case Study @ Activiti Day Berlin 2012
BPMN 2.0 is agile ;-)
BPEL is not
© OPITZ CONSULTING GmbH 2012 Seite 8Freenet Customer Case Study @ Activiti Day Berlin 2012
Everyone needs Access to the Technical Model. What’s Your Dream Tool?
Business User
Ease of use
Context, Comments,
Glossary
Graphical History /Diff
Versioning included
Developer (Nerd)
Integrates with Code
XML Editing
Model is code
SCM Git/Subversion
Fox Designer
Signavio Repository Git
© OPITZ CONSULTING GmbH 2012 Seite 9Freenet Customer Case Study @ Activiti Day Berlin 2012
Transparency to the Business Usernot only at Design Time
Model Engine Monitoring
Transparency
© OPITZ CONSULTING GmbH 2012 Seite 10Freenet Customer Case Study @ Activiti Day Berlin 2012
Transparency
Control
Human Workflow• Minimize human
workflow!
There is more than one type of Process Solution
freenet
• Executing & Monitoring Processes• Controlling Processes• Human Workflow
• User tasks• Organisational roles• Task Escalation• Substitution rules
© OPITZ CONSULTING GmbH 2012 Seite 11Freenet Customer Case Study @ Activiti Day Berlin 2012
Choosing The Platform
Functionality
Process Engine
Runtime Environment
Transparency
Business compatible BPMN
2.0 modelling
Process Monitoring and
Controlling Application
Testabilty
Automated Module Tests
Developer friendliness
Open Source
SCM based
Standard Toolchain
© OPITZ CONSULTING GmbH 2012 Seite 12Freenet Customer Case Study @ Activiti Day Berlin 2012
ActivitiOut of the
Box Individual
Runtime Environment
Adminstration
Monitoring Application
Controlling Application
Process Engine
APIs
Integration / Adapter
Process Definition
© OPITZ CONSULTING GmbH 2012 Seite 13Freenet Customer Case Study @ Activiti Day Berlin 2012
Suites (IBM, Oracle,..)Out of the
Box Individual
Monitoring Application
Control UI
Human Workflow
Adapters
Process
Configuration
Process Engine
APIs
Runtime Environment
Administration
© OPITZ CONSULTING GmbH 2012 Seite 14Freenet Customer Case Study @ Activiti Day Berlin 2012
camunda fox
Out of the Box Individual
Process
Integration / Adapter
User Task Uis
Workflow Logic
Process Engine
APIs
Powerful Runtime Environment
Monitoring / Control Application
© OPITZ CONSULTING GmbH 2012 Seite 15Freenet Customer Case Study @ Activiti Day Berlin 2012
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 16Freenet Customer Case Study @ Activiti Day Berlin 2012
Function
Process engine
Runtime Environment
Collaboration
Design
Monitoring/Controlling
ilities
Testability
Modifiability
© OPITZ CONSULTING GmbH 2012 Seite 17Freenet Customer Case Study @ Activiti Day Berlin 2012
So hopefully I convinced You
…that the fox additions to Activiti make it even more suitable for agile Projects
Generate Business value earlierMaximize Transparency
© OPITZ CONSULTING GmbH 2012 Seite 18Freenet Customer Case Study @ Activiti Day Berlin 2012
What about transparent project progress?
DONE = it’s tested
© OPITZ CONSULTING GmbH 2012 Seite 19Freenet Customer Case Study @ Activiti Day Berlin 2012
end2End / Integration Test
Process Logic (Module Test)
Services (Module Test)
• Test Department
• Ohne Services• Ohne Subprozesse
• Integration externer Services
• Schnittstellen
Testing with Arquillian, Jenkins, Mockito…
© OPITZ CONSULTING GmbH 2012 Seite 20Freenet Customer Case Study @ Activiti Day Berlin 2012
Test Strategy
• Focus on single item to test• Maximize Coverage of Item Under Test• Start with Happy Path Test
© OPITZ CONSULTING GmbH 2012 Seite 21Freenet Customer Case Study @ Activiti Day Berlin 2012
© OPITZ CONSULTING GmbH 2012 Seite 22Freenet Customer Case Study @ Activiti Day Berlin 2012
Shrinkwarp does bpmn20
Goal: Replace Sub process with Mock Process
Shrinkwarp defines the Deployment Unit:
Replace Sub process
© OPITZ CONSULTING GmbH 2012 Seite 23Freenet Customer Case Study @ Activiti Day Berlin 2012
Mocking with DelegatesSimple Mock Process
EL Injected Mock Delegate
© OPITZ CONSULTING GmbH 2012 Seite 24Freenet Customer Case Study @ Activiti Day Berlin 2012
Preparing the Test with Mockito
© OPITZ CONSULTING GmbH 2012 Seite 25Freenet Customer Case Study @ Activiti Day Berlin 2012
Assert the actual process flow with Mockito
© OPITZ CONSULTING GmbH 2012 Seite 26Freenet Customer Case Study @ Activiti Day Berlin 2012
Java CDI Magic – compare this with BPEL, XPATH, XQUERY
@Inject private BusinessProcess businessProcess;
© OPITZ CONSULTING GmbH 2012 Seite 27Freenet Customer Case Study @ Activiti Day Berlin 2012
Contextual Business Process Managemet
© OPITZ CONSULTING GmbH 2012 Seite 29Freenet Customer Case Study @ Activiti Day Berlin 2012
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 30Freenet Customer Case Study @ Activiti Day Berlin 2012
© OPITZ CONSULTING GmbH 2012 Seite 31Freenet Customer Case Study @ Activiti Day Berlin 2012
Common Mindset
© OPITZ CONSULTING GmbH 2012 Seite 33Freenet Customer Case Study @ Activiti Day Berlin 2012
Thank You!
https://github.com/sistar/camunda-fox-demo-app
OPITZ CONSULTING Hamburg GmbHDr. Ralf Sigmund – Solution Architect Butendeichsweg 2 21129 HamburgTelefon: +49 40 741122-1344 Mobil: +49 173 [email protected]
Twitter @sistar – tweet if you would like the full testing exampleKudos to @codescape for the sample code