32
The 7 sins of workflow and rules in Java Bernd Rücker | [email protected] | @berndruecker

The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... [email protected]

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and rules in Java

Bernd Rücker | [email protected] | @berndruecker

Page 2: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and rules in Java

Bernd Rücker | [email protected] | @berndruecker

3

Page 3: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

What is workflow?

*aka known as business process management

Page 4: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Example

* Modeled in BPMN = ISO Standard for modeling and execution

Page 5: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com
Page 6: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com
Page 7: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

More realistic examples

Page 8: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Challenges

Human taskmanagement

Service orchestration

Events , e.g. timers

Page 9: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Challenges

Asynchronouscommunication

Page 10: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

What you need

State

Long runningproceses

Timeout management

Monitoring & Alarming

Page 11: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

What you need

State

Long runningproceses

Timeout management

Monitoring & Alarming

What you want

Visibility

Page 12: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and Java

3

2

4

6

5

7

1

Page 13: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and Java

No engine

3

2

4 5

76

Page 14: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Alarming bymanagement attention

Page 15: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com
Page 16: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com
Page 17: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and Java

Homegrownengine

No engine Wrong engine

3

4

6

5

7

Page 18: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Typical outcomes

© k

alle

jipp

/ ph

oto

case

.com

Own DSL, parsing, graphical representation, modeler, persistence, escalation, version

management, tooling, …

Whole teams maintaining something thatalways lacks behind

Page 19: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

The 7 sins of workflow and Java

Zero-code suites

Homegrownengine

No engine Wrong engine Wrong usage

4

6

5

7

Page 20: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Death by properties panel

Script:

Please enter your complex code here. (Without IDE support of course!)

Page 21: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

BPM Suites

By the way, we introduce an owndevelopment approach, IDE, version

control, user management, reporting, …

Page 22: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Zero code & developers

We have a lot ofproblems!

It totally sucks!I hate BPM!

Page 23: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Bernd Rücker

Co-founder camunda> 10+ years workflowTechnology evangelist

@[email protected]

Camunda

Open Source BPM vendorBerlin + San Francisco

> 60 employees - growingNo venture capitel

www.camunda.org

Page 24: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Architecture

Cockpit

Modeler

DB

Tasklist Custom App

Business

Analyst

Java API

Engine

REST API

End User

Developer

Operator

Page 25: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Developer friendly

ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration().setJdbcUrl("jdbc:h2:mem:camunda").buildProcessEngine();

processEngine.getRepositoryService().createDeployment().addClasspathResource("vacation-request.bpmn").deploy();

ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey("VacationRequestProcess“, variableMap);

25

Page 26: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Live Demo

Page 27: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

What we couldn‘t look at

• Automated Testing

• Embedded Engine (Spring, Spring Boot, Junit, ...)

• Container Integration (Tomcat, WildFly, JBoss, WAS, …)

• Tooling (Webapplications, Modeler, …)

• Connectivity (REST, SOAP, Messaging, …)

• Scalability, Clustering & Performance

• Next generation: Microservices, Event DrivenArchitecture, Serverless, Cloud, …

• Polyglott

Page 28: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Get a freeposter at out booth

Trio ofstandards

Page 29: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

AT&T

More than 100 Customers

• Finance: Account Opening, Credit Card Provisioning, …

• Insurance: Insurance Policy Issue, Claim Settlement, …

• Telco: OSS, BSS, …

• Media: Digital Content Delivery, …

• E-Commerce: Order Execution, Purchasing, …

Page 30: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Visit us at our booth

Page 31: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

We can also discuss the 7 sins in detail!

Zero-code suites

Homegrownengine

Granularitybloopers

BPM monolith Stakeholders habitat violation

Over engineering

No engine Wrong engine Wrong usage

Page 32: The 7 sins of workflow - JfokusThe 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7. Death by properties panel ... bernd.ruecker@camunda.com

Thanks! Any questions?

Open source workflow Stockholm

https://a248.e.akamai.net/secure.meetupstatic.com/s/img/041003812446967856280/logo/svg/logo--script.svg