drools & jbpm future roadmap talk

Post on 29-Jan-2018

2.591 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Guvnor Now

Guvnor Now

Guvnor Now

● Fixed Layout● Hard to build new UI layouts and components● Lack of “role” oriented UIs● JCR Backend● Package oriented deployment● Non standardized deployment models● Rule re-use is hard

Guvnor Now

● UberFire– All panels are plugins

– Flexible Layout

– Perspectives

– Contextual toolbars, menus● Security obfustication

– Built in Security

– Will build out base components● Problem views, property editors, documentation viewer,

Cheat Sheets

Future 6.x

● GIT backend● Jar oriented deployment

– Maven plugin

– Fits in Maven operational infrastructure

● Better rule reuse– KBase includes

● Declarative programming models with CDI– @Inject @KBase @Ksession

Future 6.x

● New Algorithm– Merges ideas from: Rete, Leaps, Unlinking

● Big DRL clean up and Changes– Biggest changes since 3.0

– Lots of new advanced language features● Conditional Branches, Event Sequencing

● More Advanced AI– JTMS, Defeasible Logic

– Description Logic

● Continue to improve programming models– How we write and structure rules and groups of

rules,

Future 6.x

Past 5.x

Future 6.x

Future 6.x

Future 6.x

Future 6.x

Introducing

UberFire

Web Based

Workbench

inspired by eclipse rcp

Preview

file explorer

markdown editor

Behind Next Generation

Drools & jBPM[web] tooling

Some Features ● Decoupled components● Easily aggregation of components● Layout Manager, Perspectives and Views● Embeddable in any application● Reuse components as Eclipse plugins(*)

Perspectives

welcome

dashboard

Underline Technology

ERRAI GWT

CDI JEE6

Java

Technical Overview● Light weight container abstraction for Panels● Standard Life cycle and callbacks

– @Start, @Close, @Hide, @Show● Abstracted API

– Menus, Toolbars, Panels (reuse)● Virtual File System

– NIO2 back-port● Persisted Perspectives● Bus architecture abstracts all components from

the workbench

– Allows ease of 3rd party embedability

Sample Code@Dependent@WorkbenchEditor(identifier = "TextEditor")public class TextEditorPresenter {

public interface View extends IsWidget { void setContent(String content); void setDirty(boolean dirty); }

@Inject public View view;

@Inject private Caller<VFSService> vfsServices;

@OnStart public void onStart(final Path path) { this.path = path; vfsServices.call( new RemoteCallback<String>() { @Override public void callback(String response) { view.setContent( response ); } } ).readAllString( path ); } @OnClose public void onClose() { this.path = null; } @WorkbenchPartTitle public String getTitle() { return "Text Editor [" + path + "]"; } @WorkbenchPartView public IsWidget getWidget() { return view; }}

Result

Real Application...

jBPM Console

top related