Camunda BPM 7.2: Connectors, Data, Scripting (English)
-
Upload
camunda-services-gmbh -
Category
Software
-
view
491 -
download
12
Transcript of Camunda BPM 7.2: Connectors, Data, Scripting (English)
![Page 1: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/1.jpg)
Hands-on Webinar
Camunda BPM 7.2
Connectors, Data, Scripting
![Page 2: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/2.jpg)
10+ years experience with workflow and Java EE
Co-Founder of Camunda
Evangelist and Head of Consulting
@berndruecker
Bernd Rücker
![Page 3: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/3.jpg)
Data
Scripting
Templates
Connectors
![Page 4: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/4.jpg)
Our sample process: Supplier Onboarding
SOAP WebService
Java Delegate
Object
File
Template, Connector, & Script
Connector
Template & Script
Data Formats
Embedded Form
Data Formats
Data Formats
![Page 5: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/5.jpg)
Data Format Support
−Serialization of process variables as XML/JSON
−Transparent transformation of formats (e.g. POJO -> JSON -> XML)
−Allows to use objects in process variables without having byte arrays in the database
−Reduces code of process applications
Camunda BPM 7.2
![Page 6: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/6.jpg)
Scripting
−Every JSR-223 compliant scripting engine can be used (we tested JS, Groovy, Jython and JRuby)
−Scripts can now be used everywhere
−Script sources can be externalized (to allow editors / code completion)
−Performance was improved (compile & cache)
Templates
−Template Engines can be registered as script engine (Templates = Scripts)
−Freemarker and Velocity provided per default (+ XSLT in the Enterprise Edition)
−Makes data transformation really easy
−Can be used to build requests for Connectors
Camunda BPM 7.2
![Page 7: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/7.jpg)
Connectors
−Reusable Components with I/O-Mapping
−Configured via BPMN process model (XML)
−Typically used for (synchronous) Service Calls
−Out-of-the-box: SOAP and REST (based on Apache HTTP Client)
Camunda BPM 7.2
![Page 8: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/8.jpg)
Where can I use Scripts/Templates?
In Script Tasks
In Listeners
As Conditions
As IO-Mappings
![Page 9: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/9.jpg)
Where can I use Connectors?
![Page 10: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/10.jpg)
Let‘s dive into the details…
![Page 11: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/11.jpg)
We use a Java Object of class „CreditorApplication“
Default: Serialize as byte array
Possible: Serialize as JSON/XML
Process variables
Process Engine
Process Variable
Serialization
![Page 12: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/12.jpg)
DEMO
![Page 13: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/13.jpg)
Now let‘s get serious…
Build SOAP Request via
Freemarker or XSLT
Serialized as JSON
Use SOAP Connector
XPath + Script to set bank in CreditorApp.
Use Java Object in Java
Delegate
Work with JSON in Tasklist / Forms
Use EL
Transform to XML via
SPIN
Custom File
Connector
Groovy Script
![Page 14: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/14.jpg)
DEMO
![Page 15: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/15.jpg)
camunda-spin:
−„Library for simple XML and JSON processing on the JVM (Java Virtual Machine), targeting Java and JVM-based scripting languages such as Groovy, JRuby, Jython, Javascript and Java Expression Language. “
−https://github.com/camunda/camunda-spin
−Can be activated in camunda using a Process Engine Plugin (http://docs.camunda.org/latest/guides/user-guide/#data-formats-xml-json-other-configuring-spin-integration-configuring-the-spin-process-engine-plugin)
camunda-connect
−Simple Connector API
−https://github.com/camunda/camunda-connect
−Can be activated in camunda using a Process Engine Plugin (http://docs.camunda.org/latest/guides/user-guide/#configuring-the-process-engine-plugin)
Implementation Components
![Page 16: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/16.jpg)
This is AWESOME!
And I tell you why
:-)
![Page 17: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/17.jpg)
We have a fundamentally different approach than Zero-Code Suites!
It‘s not about „empowering Business Analysts“
We make the developer more productive („Less code“)
As not every developer speaks Java we make the platform polyglott
We now introduced new use cases
Developer Friendlyness
Whitepaper by Sandy Kemsley /
2014
http://camunda.com/landing/whitepaper-
developer-friendly-bpm/
![Page 18: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/18.jpg)
Building „Zero Code“ Solutions
−IT divisions that want to provide a workflow infrastructure for their organization (other IT teams)
−Software vendor who wants to make processes customizable in their software
Classless Deployments
−No Java Code / Classes needed (Re-)deployment during runtime
without Java Deployment
−Scripts & co can be versioned as part of the process definition (but as well externalized into own files)
New Use Cases By the way: You can build own modeler extensions…
![Page 19: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/19.jpg)
And improved „normal“ Use Cases (real-life example)
App Server (JBoss AS 7) Apache httpd + PHP
Camunda Engine
Process Application
REST
camunda-webapp
PHP-Frontend
camunda-bpm-php-sdk*
ESB Talend on Karaf
SOAP (Apache CXF)
* Community Extension
![Page 20: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/20.jpg)
In short:
Developer-Friendly System Integration
Death by Property Panel vs.
Camunda Zero-Code BPM Suites
![Page 21: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/21.jpg)
Connectors: http://docs.camunda.org/latest/guides/user-guide/#process-engine-connectors
Scripting: http://docs.camunda.org/latest/guides/user-guide/#process-engine-scripting
Templates: http://docs.camunda.org/latest/guides/user-guide/#process-engine-templating
Data: http://docs.camunda.org/latest/guides/user-guide/#data-formats-xml-json-other
Much more information in the docs
![Page 22: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/22.jpg)
Small improvements
−e.g. Spin in Freemarker, Output-Mapping to objects, …
Own Data Type XML & JSON
−Better support for HTML5 applications
−Make implementation more efficient
History of Connector I/O?
Workbench?
…
There is no fixed roadmap yet – send us feedback!
Next steps and further ideas
![Page 23: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/23.jpg)
Camunda BPM Workbench Crrently alpha stage: https://github.com/camunda/camunda-bpm-workbench
![Page 24: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/24.jpg)
Thank you!
Questions?
![Page 25: Camunda BPM 7.2: Connectors, Data, Scripting (English)](https://reader034.fdocuments.in/reader034/viewer/2022042511/55a2bf511a28abf43e8b4632/html5/thumbnails/25.jpg)
Start now!
Open Source Edition • Download:
www.camunda.org • Docs, Tutorials etc. • Forum • Meetings
Enterprise Edition • Trial:
www.camunda.com • Additional Features • Support, Patches etc. • Consulting, Training
http://camunda.com/bpm/consultation/
[email protected] | US +1.415.800.3908 | DE +49 30 664040 900