Top Banner
© 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
31

Freenet project ralf_sigmund_opitz_activiti_days_2012

Nov 29, 2014

Download

Technology

Ralf Sigmund

agile, test Driven Process Solution development
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 2: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 3: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 3Freenet Customer Case Study @ Activiti Day Berlin 2012

Architecture Goal:Reduce Costs compared to former

individual solution

Page 4: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 4Freenet Customer Case Study @ Activiti Day Berlin 2012

Project Constraint:fixed Going Live Date

Page 5: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 6: Freenet project ralf_sigmund_opitz_activiti_days_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

Page 7: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 7Freenet Customer Case Study @ Activiti Day Berlin 2012

BPMN 2.0 is agile ;-)

BPEL is not

Page 8: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 9: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 10: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 11: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 12: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 13: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 14: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 15: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 16: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 17: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 18: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 18Freenet Customer Case Study @ Activiti Day Berlin 2012

What about transparent project progress?

DONE = it’s tested

Page 19: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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…

Page 20: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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

Page 21: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 21Freenet Customer Case Study @ Activiti Day Berlin 2012

Page 22: Freenet project ralf_sigmund_opitz_activiti_days_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

Page 23: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 23Freenet Customer Case Study @ Activiti Day Berlin 2012

Mocking with DelegatesSimple Mock Process

EL Injected Mock Delegate

Page 24: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 24Freenet Customer Case Study @ Activiti Day Berlin 2012

Preparing the Test with Mockito

Page 25: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 25Freenet Customer Case Study @ Activiti Day Berlin 2012

Assert the actual process flow with Mockito

Page 26: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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;

Page 27: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 27Freenet Customer Case Study @ Activiti Day Berlin 2012

Contextual Business Process Managemet

Page 28: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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.

Page 29: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 30Freenet Customer Case Study @ Activiti Day Berlin 2012

Page 30: Freenet project ralf_sigmund_opitz_activiti_days_2012

© OPITZ CONSULTING GmbH 2012 Seite 31Freenet Customer Case Study @ Activiti Day Berlin 2012

Common Mindset

Page 31: Freenet project ralf_sigmund_opitz_activiti_days_2012

© 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