Webinar: Camunda und Liferay

Preview:

Citation preview

Camunda & Liferay

Wie Sie BPMN 2.0 mit Portaltechnologie kombinieren

Jan Roth

Senior Developer and Architect at Ancud IT

jan.roth@ancud.de

Bernd Rücker

Co-Founder of Camunda

10+ years experience with workflow and Java

Evangelist & Head of Consulting

@berndruecker | bernd.ruecker@camunda.com

Your speakers today

camunda: BPMN + Embeddability

BPMN-based Business-IT-Alignment Developer-Friendlyness

camunda BPM components

Engine

Tasklist Custom

Application Cockpit

Cycle

Eclipse Modeler

Business Modeler

Business User Operations (technical /business)

Business Analyst

Developer Database

File Repository

REST / Java API

REST REST REST / Java

Design Time Runtime

About Ancud IT

Aprox. 60 employees

Net-centric, agile IT

OpenSource Integration

Collaborative Process-Portals

Founded 2002, Nuremberg / Germany

Enterprise 2.0

The Leading Open Source Portal for the Enterprise

−Proven real world performance

−4 million downloads, 350-500k installations

All-in-one Package

−Content & Document Management

−Web Publishing

−Enterprise Collaboration

Market Leader

Liferay Portal

Liferay Platinum Service Partner

Liferay Customer Excellence Award 2014

Selected Customers:

−Olympus

−OBI

−Ehrmann

−Deutsche Bahn

−AUDI AG

Ancud IT is Liferay Partner

Ancud IT – Solutions and Partners

Service-Oriented Architecture

Enterprise Portal

DMS Collaboration Bi&ESB E-Commerce BPM

Live

Demo

Portlet Modes

−View (default mode)

−Edit (Reserved for changing the Portlet‘s settings)

−Help (providing information about the portlet)

−etc.

Request Modes

−Rendering (default mode for viewing the Portlet‘s contents)

−Action (normally used for state changing actions)

−Resource (used for serving resources)

Portlet Rendering

Portlet MVC Architecture

−Configuration is usually done using singleton Beans

−Model is defined as Entities (not used here)

−Controllers are configured using annotations, using beans via CDI

−View is configured by the viewResover, selected by the controller

Spring Model

Code

Walkthrough

Build Java services, and deploy within the Portlet

−Pro: still hot deployable Processes using WebForm

−Con: still only deployed services are usable

Improved error handling

−Think of timeout escalation, tasks already done, but page not refreshed, etc.

Use Liferay Users for Camunda

Assign Processes to Users/Groups

Substitute Kaleo (the default Liferay Workflow Engine) with Camunda

Possible improvements

Process Applications vs. „Kaleo“

Use Liferay as UI for Process Application

Internal Workflows in Liferay (e.g. release

content) vs.

Hot Deployment of processes?

Process Application (Deployment Artifact)

Java Classes

BPMN 2.0 Processes

Camunda DB

BPMN 2.0 Processes

Manual deploy via API

Forms

Auto-Deploy

Process application

My process application

process engine (jar)

Java Classes BPMN 2.0 Processes

Process applications

Process Engine

Container

My process application2

Java classes

BPMN 2.0 processes

JPA, EJB, JTA …

My process application1

Java classes

BPMN 2.0 processes

My process application2

Process Engine

Java classes

BPMN 2.0 processes

Supported on: Tomcat, JBoss AS, Glassfish, WebSphere and WebLogic

My process application

Process Engine

Java classes

BPMN 2.0 processes

Process Engine Modes Embedded Process Engine

Shared Process Engine

Remote Process Engine

tasklist.war

generic form portlet

Portlet Design

generic form portlet

Decision 1: Generic Portlet or specific Task Form Portlets

pa1.war

tasklist.war

generic form portlet

Decision 2: Deployment Artifacts

pa2.war

tasklist.war

pa1.war

generic form portlet

load HTML

Camunda Task Form Types

Embedded Task Form

Generated Task Form

Generic Task Form

External Task Form

HTML-Form provided by Process Application (HTML File) Rendered in Tasklist

Form Data Metadata provided by Process Application (BPMN 2.0 XML) Rendered in Tasklist

Completely generic, shows all process variables Rendered in Tasklist

Forwards to external URL handing over parameters (e.g. taskId) E.g. HTML5, JSF, PHP, …

HTML to be embedded in tasklist

Liferay Deployment Scenarios

Container

Liferay (multiple WAR‘s)

Camunda Portlet / Process Application

Camunda Engine

Container

Liferay (multiple WAR‘s)

Camunda Shared Engine

Liferay Distribution or Naked Container + Liferay Liferay Distribution + camunda or

Camunda Distribution + Liferay or Naked Container + camunda & Liferay

Camunda Portlet / Process Application

Camunda Portlet / Process Application

Camunda Portlet / Process Application

…and real-life?

Migration from big vendors BPMS

Technology Stack

−JBoss EAP 6

−Camunda BPM 7 EE (shared engine)

−Liferay 6 EE

−Java EE 6: EJB, JPA, CDI, JSF

Already went live - awesome feedback!

Why Portal?

−User Management

−Customizing of UI by user

−Existed with old solution

Real-life project example

Tasklist

Task-Form

Monitoring

Process Instance View

Roadmap?

Start now and give us feedback!

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/

info@camunda.com | US +1.415.800.3908 | DE +49 30 664040 900

Thank you!

Questions?

Recommended