Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Guvnor Now
Guvnor Now
Guvnor Now
Guvnor Now●   Fixed Layout●   Hard to build new UI layouts and components●   Lack of “role” oriented UIs●   JCR Backend●  ...
Future 6.x●   UberFire    –   All panels are plugins    –   Flexible Layout    –   Perspectives    –   Contextual toolbars...
Future 6.x●   GIT backend●   Jar oriented deployment    –   Maven plugin    –   Fits in Maven operational infrastructure● ...
Future 6.x●   New Algorithm    –   Merges ideas from: Rete, Leaps, Unlinking●   Big DRL clean up and Changes    –   Bigges...
Past 5.x
Future 6.x
Future 6.x
Future 6.x
Future 6.x
Introducing     UberFire
Web Based           Workbenchinspired by eclipse rcp
Preview                    markdown editor    file explorer
Behind Next Generation   Drools & jBPM             [web] tooling
Some Features●    Decoupled components●    Easily aggregation of components●    Layout Manager, Perspectives and Views●   ...
Perspectives               dashboard     welcome
Underline Technology    ERRAI    GWT  CDI           JEE6         Java
Technical Overview  ●      Light weight container abstraction for Panels  ●      Standard Life cycle and callbacks      – ...
Sample Code  @Dependent  @WorkbenchEditor(identifier = "TextEditor")  public class TextEditorPresenter {      public inter...
Result
Real Application...         jBPM Console
Upcoming SlideShare
Loading in …5
×

Drools & jBPM future roadmap talk

2,616 views

Published on

Drools & jBPM future roadmap presentation. Featuring the new web UI framework, UberFire.

  • Be the first to comment

Drools & jBPM future roadmap talk

  1. 1. Guvnor Now
  2. 2. Guvnor Now
  3. 3. Guvnor Now
  4. 4. 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
  5. 5. Future 6.x● 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
  6. 6. 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
  7. 7. 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,
  8. 8. Past 5.x
  9. 9. Future 6.x
  10. 10. Future 6.x
  11. 11. Future 6.x
  12. 12. Future 6.x
  13. 13. Introducing UberFire
  14. 14. Web Based Workbenchinspired by eclipse rcp
  15. 15. Preview markdown editor file explorer
  16. 16. Behind Next Generation Drools & jBPM [web] tooling
  17. 17. Some Features● Decoupled components● Easily aggregation of components● Layout Manager, Perspectives and Views● Embeddable in any application● Reuse components as Eclipse plugins(*)
  18. 18. Perspectives dashboard welcome
  19. 19. Underline Technology ERRAI GWT CDI JEE6 Java
  20. 20. 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
  21. 21. 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;
  22. 22. Result
  23. 23. Real Application... jBPM Console

×