SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Drools & jBPM
Workshop 2013
October · London
Agenda

● Day 1: Tooling Technology Stack
○ Architectural Overview
○ UberFire

● Day 2: Tooling
○ KIE Platform Intro
○ Drools Tooling
○ jBPM Tooling
Short Disclaimer
The tooling that we will be showing is a
SNAPSHOT/Nightly build version of the project
master branch. It can be built downloading the
community projects hosted in github.
com/droolsjbpm.
If you are using Windows, you can expect some
issues that are still being fixed before the final
release.
Technology Stack
●
●
●
●
●

GWT
GWT-Bootstrap
Errai
Uberfire
Contributing modules
○
○
○
○
○
○

guvnor
kie-wb-common
jBPM Console
jBPM Process Designer
jBPM Form Modeller
Drools Workbench
Stack - GWT
http://www.gwtproject.org/
● Legacy components
● Cross browser support
● Widget set
● GWT Bootstrap
Stack - GWT-Bootstrap
http://gwtbootstrap.github.io/
● Integration Bootstrap with GWT
● Common widget set
● Striving for better consistency
Stack - Errai
http://errai.github.io/
● Client side CDI
● Federated Event Bus
● Remote services
● Marshalling
● WELD
Stack - Uberfire
http://droolsjbpm.github.io/uberfire/
● Workbench
● Annotation driven development
● Unified Security API
● Virtual File System (Java nio2 backport)
● Indexed resources
● Concurrency support
Stack - Uberfire
● Workbench
○ WorkbenchPerspective
○ WorkbenchPanel
○ WorkbenchPart

●
●
●
●

PanelManager
Drag & Drop
JavaScript plugins
State persistence
Stack - Uberfire
● Workbench
○ WorkbenchPanel
○ WorkbenchPart

● PlaceRequest
○
○
○
○

@WorkbenchPerspective
@WorkbenchScreen
@WorkbenchEditor
@WorkbenchPopup
Stack - Uberfire
● Annotations
○
○
○
○

@WorkbenchPerspective
@WorkbenchScreen
@WorkbenchEditor
@WorkbenchPopup
Stack - Uberfire
● Annotations - @WorkbenchPerspective
○
○
○
○

@Perspective
@OnStartup
@OnOpen
@OnClose
Stack - Uberfire
● Annotations - @WorkbenchScreen
○
○
○
○
○
○
○
○

@WorkbenchPartTitle
@WorkbenchPartView (or implement IsWidget)
@OnStartup
@OnOpen
@OnMayClose
@OnClose
@OnFocus
@OnLostFocus
Stack - Uberfire
● Annotations - @WorkbenchEditor
○
○
○
○
○
○
○
○
○
○

@WorkbenchPartTitle
@WorkbenchPartView (or implement IsWidget)
@OnStartup
@OnOpen
@OnMayClose
@OnClose
@OnFocus
@OnLostFocus
@IsDirty
@OnSave
Stack - Uberfire
● Annotations - @WorkbenchEditor
○ Path
○ ResourceTypeDefinition
○ ClientResourceType
Stack - Uberfire
● Annotations - @WorkbenchPopup
○ @WorkbenchPartTitle
○ @WorkbenchPartView (or extend PopupPanel)
○ @OnOpen
Stack - Uberfire
● Workbench - Menus and Toolbars
● Hierarchical and contextual
○
○
○
○

Application
@WorkbenchPerspective
@WorkbenchScreen
@WorkbenchEditor

○ @WorkbenchMenu
○ @WorkbenchToolBar
Stack - Uberfire
● Unified Security API
○
○
○
○

@Roles
@All
@Deny
RuntimeResource
■ MenuItem
■ ToolBar / ToolBarItem
■ OrganizationalUnit
■ Repository
■ Project
■ Activity
Stack - Uberfire
● Virtual File System
○ Java 7 NIO2 backport
■ git
○ Clustering - Apache Zookeeper / Helix
○ IOWatchService
○ Meta Data
Stack - Uberfire
● Indexed Resources
○ Lucene
○ IOSearchService
○ DublinCoreAttributes
Stack - Uberfire
● Concurrency support
○
○
○
○

ResourceAddedEvent
ResourceUpdatedEvent
ResourceDeletedEvent
ResourceRenamedEvent

● Client-side optimistic lock support
○ ObservablePath
Creating a new Screen
@WorkbenchScreen(identifier = "org.jboss.example.screen")
public class ScreenPresenter {
...
@Inject
public ScreenPresenter.View view;

@OnStartup
public void onStartup( final PlaceRequest placeRequest ) {
...
}
@WorkbenchPartTitle
public String getTitle() {
return “My title”;
}
@WorkbenchPartView
public IsWidget getWidget() {
return view;
}
}
Creating a new Editor
@WorkbenchEditor(identifier = "org.jboss.example.editor", supportedTypes =
{MyResourceType.class} )
public class EditorPresenter {
...
@Inject
public EditorPresenter.View view;

@OnStartup
public void onStartup( final Path path,
final PlaceRequest placeRequest ) {
//load content from Path
}
@IsDirty
public boolean isDirty() {
return isDirty;
}
@OnSave
public void onSave() {
//Save content to Path
}
Modules
Modules
●
●
●
●
●
●
●

Guvnor
KIE-WB-Common
jBPM Console NG
jBPM Designer
Form Modeller
Drools Workbench
KIE Workbench
Modules - Demo of drools-wb
Exercise - Write a screen
See you
tomorrow
Drools & jBPM
Workshop 2013
October · London
Day 2 Agenda: KIE = Drools + jBPM
● KIE Platform introduction
○ KIE Jars/ KIE Projects
■ kmodule.xml
○ Example Project
○ Tests

● jBPM Tooling
○
○
○
○

Creating a KIE Project
Deploying a Kjar into the platform runtime
Executing a business process
Rest APIs
Short Disclaimer
The tooling that we will be showing is a
SNAPSHOT/Nightly build version of the project
master branch. It can be built downloading the
community projects hosted in github.
com/droolsjbpm.
If you are using Windows, you can expect some
issues that are still being fixed before the final
release.
New Things
● KIE prefix
○ Stands for Knowledge is Everything
○ Replaces the Knowledge* prefixes and packages
○ A background compatibility jar will be provided for
migration

● KIE Projects
○
○
○
○

Provides the Drools and jBPM projects structure
Maven based / standard project structure
Integrated with CDI
Defines a Deployment Units for jBPM
CDI + Drools + KIE Project
● From: https://github.com/droolsjbpm/drools/tree/master/droolsexamples-cdi
KIE Project
● Structure (Maven Standard + kmodule.xml)
Standard pom.xml File
Resources / Knowledge Assets

Business Process
KIE Module Descriptor
Forms
KModule
● Convention Driven

● Or you can add custom configurations
Applications and Modules Distributions
KIE Workbench Components
Interactions
BPM Side Agenda
● Home
● Authoring Perspective
○ Modelling a process
○ Modelling forms
○ Registering Domain Specific Tasks

●
●
●
●
●

Building & Deploying a Project
Starting a Process Instance
Task Management
General Configurations
REST endpoints
Home
● The Knowledge Lifecycle
○
○
○
○
○

Authoring
Runtime Configurations
Process Management
Task Management
Business Activity Monitoring
Authoring Perspective
● Authoring Assets
○ Creating KIE Projects
○ Creating Knowledge Assets

● Administration
○ Creating a new repository
○ Cloning an existing repository
■ https://github.com/droolsjbpm/jbpm-playground
Building & Deploying a Project
● Project Editor
○ Project Dependencies
○ Build & Deploy
○ Deployment Perspective
Human Resources Example
From: https://github.com/droolsjbpm/jbpm-playground
Article: http://salaboy.com/2013/10/11/using-the-jbpm-console-ng-hr-example/
Customer Relationships Example
From: https://github.com/droolsjbpm/jbpm-playground
Uses: http://www.service-repository.com/operation/operations?id=30
Article: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ng-configurations/
Process Management
● Process Definitions
○ Shows only Deployed Process Definitions
○ Create new Process Instances

● Process Instances
○ You can inspect the details of your process instance
○ You can look into the Process Variables (simple types
for now)
Task Management
● Task Lists
○ Work in your assigned tasks
■ Group Tasks
■ Personal Tasks

● Task Forms
○ FTLs -> Freemarker templates
○ Forms -> Graphically Designed Forms using Form
Modeller
Business Activity Monitoring
● Dashboard
○ Generic Business Dashboard
○ Business Process Dashboard
○ Task Dashboard
General Configurations
● User/Groups/Roles
○ Where should I configure it?
○ Look here: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ngconfigurations/

● Work Item Handlers (Service Connectors)
○ What do I need?
○ Look here: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ngconfigurations/

● Getting access to the GIT repositories
○ How do I access to the local GIT repository?
○ Let’s do it!
REST Endpoints
● For the BPM Side you can interact with the
Process Runtimes using a REST endpoint (https:
//github.com/droolsjbpm/droolsjbpm-integration/wiki)

● You can execute your operations against a KIE
WB running instance
● Project: jbpm-rest-client also from the jbpmplayground repo
Community / Further Reading
● IRC: irc.freenode.net
○ #drools
○ #jbpm

● jBPM Forums / Drools Mailing List
○ www.drools.org and www.jbpm.org

● Blogs
○
○
○
○

blog.athico.com
kverlaen.blogspot.com
mswiderski.blogspot.com
salaboy.com
Good Bye

Weitere ähnliche Inhalte

Was ist angesagt?

The world of gradle - an introduction for developers
The world of gradle  - an introduction for developersThe world of gradle  - an introduction for developers
The world of gradle - an introduction for developersTricode (part of Dept)
 
JBoss Drools - Open-Source Business Logic Platform
JBoss Drools - Open-Source Business Logic PlatformJBoss Drools - Open-Source Business Logic Platform
JBoss Drools - Open-Source Business Logic Platformelliando dias
 
Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new buildIgor Khotin
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James NelsonGWTcon
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation ToolIzzet Mustafaiev
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsGR8Conf
 
An Introduction to Gradle for Java Developers
An Introduction to Gradle for Java DevelopersAn Introduction to Gradle for Java Developers
An Introduction to Gradle for Java DevelopersKostas Saidis
 
Building Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksBuilding Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksMike Hugo
 
Kogito: cloud native business automation
Kogito: cloud native business automationKogito: cloud native business automation
Kogito: cloud native business automationMario Fusco
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...ZeroTurnaround
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Rajmahendra Hegde
 
Gradle - time for another build
Gradle - time for another buildGradle - time for another build
Gradle - time for another buildIgor Khotin
 

Was ist angesagt? (20)

The world of gradle - an introduction for developers
The world of gradle  - an introduction for developersThe world of gradle  - an introduction for developers
The world of gradle - an introduction for developers
 
JBoss Drools - Open-Source Business Logic Platform
JBoss Drools - Open-Source Business Logic PlatformJBoss Drools - Open-Source Business Logic Platform
JBoss Drools - Open-Source Business Logic Platform
 
Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new build
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
 
Gradle
GradleGradle
Gradle
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
An Introduction to Gradle for Java Developers
An Introduction to Gradle for Java DevelopersAn Introduction to Gradle for Java Developers
An Introduction to Gradle for Java Developers
 
Building Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksBuilding Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And Tricks
 
Gradle : An introduction
Gradle : An introduction Gradle : An introduction
Gradle : An introduction
 
Gradle Introduction
Gradle IntroductionGradle Introduction
Gradle Introduction
 
Kogito: cloud native business automation
Kogito: cloud native business automationKogito: cloud native business automation
Kogito: cloud native business automation
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
 
Building with Gradle
Building with GradleBuilding with Gradle
Building with Gradle
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
 
Sprint 70
Sprint 70Sprint 70
Sprint 70
 
Gradle - time for another build
Gradle - time for another buildGradle - time for another build
Gradle - time for another build
 
Introduction to gradle
Introduction to gradleIntroduction to gradle
Introduction to gradle
 
Gradle by Example
Gradle by ExampleGradle by Example
Gradle by Example
 

Andere mochten auch

jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnMauricio (Salaboy) Salatino
 
Open source and business rules
Open source and business rulesOpen source and business rules
Open source and business rulesGeoffrey De Smet
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Droolsgiurca
 
Jboss drools 4 scope - benefits, shortfalls
Jboss drools   4 scope - benefits, shortfalls Jboss drools   4 scope - benefits, shortfalls
Jboss drools 4 scope - benefits, shortfalls Zoran Hristov
 
Apache Beam (incubating)
Apache Beam (incubating)Apache Beam (incubating)
Apache Beam (incubating)Apache Apex
 
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + DemosDrools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + DemosMauricio (Salaboy) Salatino
 
The Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceThe Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceDataWorks Summit/Hadoop Summit
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
Intro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGIntro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGRay Ploski
 
Rules Programming tutorial
Rules Programming tutorialRules Programming tutorial
Rules Programming tutorialSrinath Perera
 
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache BeamScio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache BeamNeville Li
 
Apache Beam @ GCPUG.TW Flink.TW 20161006
Apache Beam @ GCPUG.TW Flink.TW 20161006Apache Beam @ GCPUG.TW Flink.TW 20161006
Apache Beam @ GCPUG.TW Flink.TW 20161006Randy Huang
 
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Dan Halperin
 
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Sergio Fernández
 
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksExtending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksJamie Grier
 
Stream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache ApexStream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache ApexApache Apex
 

Andere mochten auch (20)

jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
 
Open source and business rules
Open source and business rulesOpen source and business rules
Open source and business rules
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Drools
 
FOSS in the Enterprise
FOSS in the EnterpriseFOSS in the Enterprise
FOSS in the Enterprise
 
Jboss drools 4 scope - benefits, shortfalls
Jboss drools   4 scope - benefits, shortfalls Jboss drools   4 scope - benefits, shortfalls
Jboss drools 4 scope - benefits, shortfalls
 
Drools BeJUG 2010
Drools BeJUG 2010Drools BeJUG 2010
Drools BeJUG 2010
 
Apache Beam (incubating)
Apache Beam (incubating)Apache Beam (incubating)
Apache Beam (incubating)
 
ieeecloud2016
ieeecloud2016ieeecloud2016
ieeecloud2016
 
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + DemosDrools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos
Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos
 
The Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceThe Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open Source
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
Intro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGIntro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUG
 
Rules Programming tutorial
Rules Programming tutorialRules Programming tutorial
Rules Programming tutorial
 
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache BeamScio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
 
Apache Beam @ GCPUG.TW Flink.TW 20161006
Apache Beam @ GCPUG.TW Flink.TW 20161006Apache Beam @ GCPUG.TW Flink.TW 20161006
Apache Beam @ GCPUG.TW Flink.TW 20161006
 
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
 
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
 
Drools
DroolsDrools
Drools
 
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksExtending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
 
Stream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache ApexStream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache Apex
 

Ähnlich wie Drools & jBPM Workshop London 2013

GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody Garnett
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.ioConstantine Grigel
 
React starter-kitでとっとと始めるisomorphic開発
React starter-kitでとっとと始めるisomorphic開発React starter-kitでとっとと始めるisomorphic開発
React starter-kitでとっとと始めるisomorphic開発Yoichi Toyota
 
Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Jozef Slezak
 
First steps with Gazebo simulation for ROS
First steps with Gazebo simulation for ROSFirst steps with Gazebo simulation for ROS
First steps with Gazebo simulation for ROSSergey Matyunin
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless worldMatthias Luebken
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App EngineVlad Filippov
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkAlive Kuo
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainŁukasz Piątkowski
 
GDayX - Advanced Angular.JS
GDayX - Advanced Angular.JSGDayX - Advanced Angular.JS
GDayX - Advanced Angular.JSNicolas Embleton
 
Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...
 Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ... Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...
Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...Andy Maleh
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Runwesley chun
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausWomen in Technology Poland
 
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache GroovyBuilding an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovyjgcloudbees
 

Ähnlich wie Drools & jBPM Workshop London 2013 (20)

GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
Drools & jBPM Workshop Barcelona 2013
Drools & jBPM Workshop  Barcelona 2013Drools & jBPM Workshop  Barcelona 2013
Drools & jBPM Workshop Barcelona 2013
 
React starter-kitでとっとと始めるisomorphic開発
React starter-kitでとっとと始めるisomorphic開発React starter-kitでとっとと始めるisomorphic開発
React starter-kitでとっとと始めるisomorphic開発
 
Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10
 
First steps with Gazebo simulation for ROS
First steps with Gazebo simulation for ROSFirst steps with Gazebo simulation for ROS
First steps with Gazebo simulation for ROS
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
Code-Hub
Code-HubCode-Hub
Code-Hub
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
GDayX - Advanced Angular.JS
GDayX - Advanced Angular.JSGDayX - Advanced Angular.JS
GDayX - Advanced Angular.JS
 
Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...
 Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ... Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...
Montreal.rb 2022-10-05 - Glimmer DSL for SWT - Ruby Desktop Development GUI ...
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JSNicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan Kraus
 
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache GroovyBuilding an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovy
 

Mehr von Mauricio (Salaboy) Salatino

Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsMauricio (Salaboy) Salatino
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfMauricio (Salaboy) Salatino
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdfMauricio (Salaboy) Salatino
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsMauricio (Salaboy) Salatino
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfMauricio (Salaboy) Salatino
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022 Mauricio (Salaboy) Salatino
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Mauricio (Salaboy) Salatino
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateMauricio (Salaboy) Salatino
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemMauricio (Salaboy) Salatino
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaMauricio (Salaboy) Salatino
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesMauricio (Salaboy) Salatino
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingMauricio (Salaboy) Salatino
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeMauricio (Salaboy) Salatino
 

Mehr von Mauricio (Salaboy) Salatino (20)

Devoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8sDevoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8s
 
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdfWTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
 
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdf
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native Platforms
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdf
 
JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`
 
KnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative FunctionsKnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative Functions
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and Update
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystem
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
 
Pave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal PlatformPave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal Platform
 
Knative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdfKnative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdf
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish) Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish)
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Drools & jBPM Workshop London 2013

  • 1. Drools & jBPM Workshop 2013 October · London
  • 2. Agenda ● Day 1: Tooling Technology Stack ○ Architectural Overview ○ UberFire ● Day 2: Tooling ○ KIE Platform Intro ○ Drools Tooling ○ jBPM Tooling
  • 3. Short Disclaimer The tooling that we will be showing is a SNAPSHOT/Nightly build version of the project master branch. It can be built downloading the community projects hosted in github. com/droolsjbpm. If you are using Windows, you can expect some issues that are still being fixed before the final release.
  • 5. Stack - GWT http://www.gwtproject.org/ ● Legacy components ● Cross browser support ● Widget set ● GWT Bootstrap
  • 6. Stack - GWT-Bootstrap http://gwtbootstrap.github.io/ ● Integration Bootstrap with GWT ● Common widget set ● Striving for better consistency
  • 7. Stack - Errai http://errai.github.io/ ● Client side CDI ● Federated Event Bus ● Remote services ● Marshalling ● WELD
  • 8. Stack - Uberfire http://droolsjbpm.github.io/uberfire/ ● Workbench ● Annotation driven development ● Unified Security API ● Virtual File System (Java nio2 backport) ● Indexed resources ● Concurrency support
  • 9. Stack - Uberfire ● Workbench ○ WorkbenchPerspective ○ WorkbenchPanel ○ WorkbenchPart ● ● ● ● PanelManager Drag & Drop JavaScript plugins State persistence
  • 10. Stack - Uberfire ● Workbench ○ WorkbenchPanel ○ WorkbenchPart ● PlaceRequest ○ ○ ○ ○ @WorkbenchPerspective @WorkbenchScreen @WorkbenchEditor @WorkbenchPopup
  • 11. Stack - Uberfire ● Annotations ○ ○ ○ ○ @WorkbenchPerspective @WorkbenchScreen @WorkbenchEditor @WorkbenchPopup
  • 12. Stack - Uberfire ● Annotations - @WorkbenchPerspective ○ ○ ○ ○ @Perspective @OnStartup @OnOpen @OnClose
  • 13. Stack - Uberfire ● Annotations - @WorkbenchScreen ○ ○ ○ ○ ○ ○ ○ ○ @WorkbenchPartTitle @WorkbenchPartView (or implement IsWidget) @OnStartup @OnOpen @OnMayClose @OnClose @OnFocus @OnLostFocus
  • 14. Stack - Uberfire ● Annotations - @WorkbenchEditor ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ @WorkbenchPartTitle @WorkbenchPartView (or implement IsWidget) @OnStartup @OnOpen @OnMayClose @OnClose @OnFocus @OnLostFocus @IsDirty @OnSave
  • 15. Stack - Uberfire ● Annotations - @WorkbenchEditor ○ Path ○ ResourceTypeDefinition ○ ClientResourceType
  • 16. Stack - Uberfire ● Annotations - @WorkbenchPopup ○ @WorkbenchPartTitle ○ @WorkbenchPartView (or extend PopupPanel) ○ @OnOpen
  • 17. Stack - Uberfire ● Workbench - Menus and Toolbars ● Hierarchical and contextual ○ ○ ○ ○ Application @WorkbenchPerspective @WorkbenchScreen @WorkbenchEditor ○ @WorkbenchMenu ○ @WorkbenchToolBar
  • 18. Stack - Uberfire ● Unified Security API ○ ○ ○ ○ @Roles @All @Deny RuntimeResource ■ MenuItem ■ ToolBar / ToolBarItem ■ OrganizationalUnit ■ Repository ■ Project ■ Activity
  • 19. Stack - Uberfire ● Virtual File System ○ Java 7 NIO2 backport ■ git ○ Clustering - Apache Zookeeper / Helix ○ IOWatchService ○ Meta Data
  • 20. Stack - Uberfire ● Indexed Resources ○ Lucene ○ IOSearchService ○ DublinCoreAttributes
  • 21. Stack - Uberfire ● Concurrency support ○ ○ ○ ○ ResourceAddedEvent ResourceUpdatedEvent ResourceDeletedEvent ResourceRenamedEvent ● Client-side optimistic lock support ○ ObservablePath
  • 22. Creating a new Screen @WorkbenchScreen(identifier = "org.jboss.example.screen") public class ScreenPresenter { ... @Inject public ScreenPresenter.View view; @OnStartup public void onStartup( final PlaceRequest placeRequest ) { ... } @WorkbenchPartTitle public String getTitle() { return “My title”; } @WorkbenchPartView public IsWidget getWidget() { return view; } }
  • 23. Creating a new Editor @WorkbenchEditor(identifier = "org.jboss.example.editor", supportedTypes = {MyResourceType.class} ) public class EditorPresenter { ... @Inject public EditorPresenter.View view; @OnStartup public void onStartup( final Path path, final PlaceRequest placeRequest ) { //load content from Path } @IsDirty public boolean isDirty() { return isDirty; } @OnSave public void onSave() { //Save content to Path }
  • 25. Modules ● ● ● ● ● ● ● Guvnor KIE-WB-Common jBPM Console NG jBPM Designer Form Modeller Drools Workbench KIE Workbench
  • 26. Modules - Demo of drools-wb
  • 27. Exercise - Write a screen
  • 29. Drools & jBPM Workshop 2013 October · London
  • 30. Day 2 Agenda: KIE = Drools + jBPM ● KIE Platform introduction ○ KIE Jars/ KIE Projects ■ kmodule.xml ○ Example Project ○ Tests ● jBPM Tooling ○ ○ ○ ○ Creating a KIE Project Deploying a Kjar into the platform runtime Executing a business process Rest APIs
  • 31. Short Disclaimer The tooling that we will be showing is a SNAPSHOT/Nightly build version of the project master branch. It can be built downloading the community projects hosted in github. com/droolsjbpm. If you are using Windows, you can expect some issues that are still being fixed before the final release.
  • 32. New Things ● KIE prefix ○ Stands for Knowledge is Everything ○ Replaces the Knowledge* prefixes and packages ○ A background compatibility jar will be provided for migration ● KIE Projects ○ ○ ○ ○ Provides the Drools and jBPM projects structure Maven based / standard project structure Integrated with CDI Defines a Deployment Units for jBPM
  • 33. CDI + Drools + KIE Project ● From: https://github.com/droolsjbpm/drools/tree/master/droolsexamples-cdi
  • 34. KIE Project ● Structure (Maven Standard + kmodule.xml) Standard pom.xml File Resources / Knowledge Assets Business Process KIE Module Descriptor Forms
  • 35. KModule ● Convention Driven ● Or you can add custom configurations
  • 36. Applications and Modules Distributions
  • 38. BPM Side Agenda ● Home ● Authoring Perspective ○ Modelling a process ○ Modelling forms ○ Registering Domain Specific Tasks ● ● ● ● ● Building & Deploying a Project Starting a Process Instance Task Management General Configurations REST endpoints
  • 39. Home ● The Knowledge Lifecycle ○ ○ ○ ○ ○ Authoring Runtime Configurations Process Management Task Management Business Activity Monitoring
  • 40. Authoring Perspective ● Authoring Assets ○ Creating KIE Projects ○ Creating Knowledge Assets ● Administration ○ Creating a new repository ○ Cloning an existing repository ■ https://github.com/droolsjbpm/jbpm-playground
  • 41. Building & Deploying a Project ● Project Editor ○ Project Dependencies ○ Build & Deploy ○ Deployment Perspective
  • 42. Human Resources Example From: https://github.com/droolsjbpm/jbpm-playground Article: http://salaboy.com/2013/10/11/using-the-jbpm-console-ng-hr-example/
  • 43. Customer Relationships Example From: https://github.com/droolsjbpm/jbpm-playground Uses: http://www.service-repository.com/operation/operations?id=30 Article: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ng-configurations/
  • 44. Process Management ● Process Definitions ○ Shows only Deployed Process Definitions ○ Create new Process Instances ● Process Instances ○ You can inspect the details of your process instance ○ You can look into the Process Variables (simple types for now)
  • 45. Task Management ● Task Lists ○ Work in your assigned tasks ■ Group Tasks ■ Personal Tasks ● Task Forms ○ FTLs -> Freemarker templates ○ Forms -> Graphically Designed Forms using Form Modeller
  • 46. Business Activity Monitoring ● Dashboard ○ Generic Business Dashboard ○ Business Process Dashboard ○ Task Dashboard
  • 47. General Configurations ● User/Groups/Roles ○ Where should I configure it? ○ Look here: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ngconfigurations/ ● Work Item Handlers (Service Connectors) ○ What do I need? ○ Look here: http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ngconfigurations/ ● Getting access to the GIT repositories ○ How do I access to the local GIT repository? ○ Let’s do it!
  • 48. REST Endpoints ● For the BPM Side you can interact with the Process Runtimes using a REST endpoint (https: //github.com/droolsjbpm/droolsjbpm-integration/wiki) ● You can execute your operations against a KIE WB running instance ● Project: jbpm-rest-client also from the jbpmplayground repo
  • 49. Community / Further Reading ● IRC: irc.freenode.net ○ #drools ○ #jbpm ● jBPM Forums / Drools Mailing List ○ www.drools.org and www.jbpm.org ● Blogs ○ ○ ○ ○ blog.athico.com kverlaen.blogspot.com mswiderski.blogspot.com salaboy.com