SlideShare a Scribd company logo
UF UberFire
http://www.slideshare.net/MarkProctor/uberfire-quick-
intro-and-overview-early-beta-aug-2013
Tuesday, 6 August 13
GWT
Tuesday, 6 August 13
GWT
Google committed to Open Source development
model
Steering Commit/Transparency
TimeBox releases (twice year)
Future focus
Mobile (reduced CPU utilization, more code splitting)
Easier “Hyrbid” apps
Smaller and faster executions
Tuesday, 6 August 13
GWT
GWT used extensively at Google
Adwords (97% of google revenue)
Google Groups (rewrite just announced)
Major new consumer projects about to be announced
Big chunk of internal IT
100K+ monthly auto-update pings (Eclipse)
GWT considered mature
Not investing in marketing or evangalising
Tuesday, 6 August 13
BRMS and BPMS
5.x
Tuesday, 6 August 13
BRMS and BPMS 5.x
Authoring
Build
Deploy
Tuesday, 6 August 13
BRMS and BPMS 5.x
Authoring
Build
Deploy
Monitor and Manage
Work
Tuesday, 6 August 13
Tuesday, 6 August 13
Tuesday, 6 August 13
Tuesday, 6 August 13
What we Learned
Tuesday, 6 August 13
5.x Critique
UI
GWT
But not easily
extended
Fixed layouts
No perspectives
Tuesday, 6 August 13
5.x Critique
JCR
Performance Issues
Everything stored as blob
No tagging, branching etc.
Webdav
Limited team providers
Tuesday, 6 August 13
6.x Requirements
Modular design
Plugins
Compile time composition of plugins
Maven modules
Hybrid GWT + JS support (Runtime Plugins)
Twitter Bootstrap UI
Tuesday, 6 August 13
6.x Requirements
Panels
Common Life cycles
Panel re-use in other frameworks
Eclipse, 3rd Party, etc
Security visibility.
Hybrid GWT + JS support (Runtime Plugins)
Tuesday, 6 August 13
6.x Requirements
Perspectives
Flexible layout with DnD
Security visibility.
Multiple layout managers
Tuesday, 6 August 13
6.x Requirements
Menu’s, Toolbars
decoupled from components
contextual to perspective and focus panel
Security visibility.
Tuesday, 6 August 13
6.x Requirements
VFS (nio2, java backport)
GIT Backend
Seamless API for client and Server
Security
Authorization, Authentication
Seamless API for client and Server
MetaData
stored as .dot file in git for each “asset”
High Availability
GIT cluster
Tuesday, 6 August 13
KIE
Knowledge is
Everything
Tuesday, 6 August 13
KIE
Tuesday, 6 August 13
KIE
Tuesday, 6 August 13
DEMO 1
BRMS BETA
Tuesday, 6 August 13
DEMO 2
BPMS Beta
Tuesday, 6 August 13
Tuesday, 6 August 13
UberFire
Tuesday, 6 August 13
UberFire Architecture
Tuesday, 6 August 13
Tuesday, 6 August 13
Workbench Screen
Tuesday, 6 August 13
Workbench Screen
WorkBench Screen
DIV
Lifecycle events
OnStartUp, OnShutDown
OnOpen, OnMayClose, OnClose
OnFocus, OnLostFocus
Tuesday, 6 August 13
Tuesday, 6 August 13
Tuesday, 6 August 13
Workbench Screen
@WorkbenchScreen(identifier = "MyFirstPanel")
public class MyFirstPanel extends SimplePanel {
public MyFirstPanel() {
setWidget( new Label("Hello World 1") );
}
@WorkbenchPartTitle
public String myTitle() {
return "My First Panel!";
}
}
Tuesday, 6 August 13
Workbench Screen$registerPlugin({
id: "my angular js",
type: "angularjs",
templateUrl: "angular.sample.html",
title: function () {
return "angular " + Math.floor(Math.random() * 10);
},
on_close: function () {
alert("this is a pure JS alert!");
}
});
<div ng-controller="TodoCtrl">
<span>{{remaining()}} of {{todos.length}} remaining</span>
[ <a href="" ng-click="archive()">archive</a> ]
<ul class="unstyled">
<li ng-repeat="todo in todos">
<input type="checkbox" ng-model="todo.done">
<span class="done-{{todo.done}}">{{todo.text}}</span>
</li>
</ul>
<form ng-submit="addTodo()">
<input type="text" ng-model="todoText" size="30" placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
<form ng-submit="goto()">
<input type="text" ng-model="placeText" size="30" placeholder="place to go">
<input class="btn-primary" type="submit" value="goTo">
</form>
</div>
Tuesday, 6 August 13
Workbench Editor
Tuesday, 6 August 13
Workbench Editor
WorkBench Screen
DIV
Lifecycle events
OnStartUp, OnShutDown
OnOpen, OnMayClose, OnClose
OnFocus, OnLostFocus
IsDirty, OnSave
Tuesday, 6 August 13
@WorkbenchEditor(identifier = "TextEditor",
supportedTypes = { TextResourceType.class,
DotResourceType.class })
public class TextEditorPresenter {
@WorkbenchPartTitle
public String getTitle() {
return "Text Editor [" + path.getFileName() + "]";
}
@WorkbenchPartView
public IsWidget getWidget() {
return view; //injected
}
(...)
}
Workbench Editor
Tuesday, 6 August 13
@WorkbenchEditor(identifier = "TextEditor",
supportedTypes = { TextResourceType.class,
DotResourceType.class })
public class TextEditorPresenter {
(...)
@OnStart
public void onStart( final Path path ) {
this.path = path;
}
@OnSave
public void onSave() {
}
@IsDirty
public boolean isDirty() {
return view.isDirty();
}
}
Life Cycle Annotations
Tuesday, 6 August 13
Workbench Perspective
Tuesday, 6 August 13
Window Managers
NESW, with DnD
Nesting, for flexible layouts.
Supports programmatic and json
Future
Grid
Templates
Tuesday, 6 August 13
@WorkbenchPerspective(
identifier = "HomePerspective",
isDefault = true)
public class HomePerspective {
@Perspective
public PerspectiveDefinition buildPerspective() {
final PerspectiveDefinition p =
new PerspectiveDefinitionImpl();
p.setName( "Home Perspective" );
p.getRoot().addPart(
new PartDefinitionImpl(
new DefaultPlaceRequest( "RepoList" ) ) );
return p;
}
}
Workbench Perspective
Tuesday, 6 August 13
Workbench Perspective$registerPerspective({
"id": "Markdown Editor",
"view": {
"parts": [
{
"place": "MarkdownLiveViewer",
"parameters": {}
}
],
"panels": [
{
"width": 600,
"min_width": 300,
"position": "west",
"parts": [
{
"place": "MarkdownLiveEditor",
"parameters": {}
}
]
}
]
},
on_close: function () {
}
});
Tuesday, 6 August 13
UberFire Annotations
OnStartUp,
OnShutDown
OnOpen,
OnMayClose,
OnClose
OnFocus,
OnLostFocus
IsDirty,
OnSave
WorkbenchEditor
WorkbenchPerspective
WorkbenchPopup
WorkbenchScreen
WorkbenchPartTitle
WorkbenchPartView
WorkbenchMenu
Perspective
Components Lifecycle Component
Rendering Info
Tuesday, 6 August 13
Hyrbid Plugins
Tuesday, 6 August 13
Tuesday, 6 August 13
DEMO 3
Show Case and Dynamic
Plugins
Tuesday, 6 August 13
DEMO 4
Web IDE
Tuesday, 6 August 13
Tuesday, 6 August 13

More Related Content

PDF
UberFire Quick Intro and Overview (early beta Jul 2013)
PPT
Introduzione a Gwt
PDF
Google Web Toolkitのすすめ
PDF
JHipster Code 2020 keynote
PDF
GWT 2.0 - December 15 2009
PDF
GWT 2.0 - OSCON 2010
PDF
JHipster Conf 2019 English keynote
PDF
Android build tools - Nimble
UberFire Quick Intro and Overview (early beta Jul 2013)
Introduzione a Gwt
Google Web Toolkitのすすめ
JHipster Code 2020 keynote
GWT 2.0 - December 15 2009
GWT 2.0 - OSCON 2010
JHipster Conf 2019 English keynote
Android build tools - Nimble

What's hot (12)

PPTX
GWTcon 2015 - Best development practices for GWT web applications
PDF
GWT Contributor Workshop
PDF
Solving the Workflow - Building MODX.today with Gitify (2015-05-21, Alkmaar)
PDF
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
PPTX
Cloud Function For Firebase - GITS
PDF
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
PDF
Web Standards Support in WebKit
PDF
ok glass, bring me a mojito...
PDF
CSCW Presentation_collaborative Image Tagging
PDF
DotNet 2019 | Marcos Cobeña - Llevando Wave Engine a la web a través de WebGL...
PDF
Zukunftssichere Anwendungen mit AngularJS 1.x entwickeln (GDG DevFest Karlsru...
PDF
EP2016 - Moving Away From Nodejs To A Pure Python Solution For Assets
GWTcon 2015 - Best development practices for GWT web applications
GWT Contributor Workshop
Solving the Workflow - Building MODX.today with Gitify (2015-05-21, Alkmaar)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Cloud Function For Firebase - GITS
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Web Standards Support in WebKit
ok glass, bring me a mojito...
CSCW Presentation_collaborative Image Tagging
DotNet 2019 | Marcos Cobeña - Llevando Wave Engine a la web a través de WebGL...
Zukunftssichere Anwendungen mit AngularJS 1.x entwickeln (GDG DevFest Karlsru...
EP2016 - Moving Away From Nodejs To A Pure Python Solution For Assets
Ad

Viewers also liked (10)

PDF
Drools 6.0 (Red Hat Summit)
PDF
Drools 6.0 (Red Hat Summit 2013)
PPT
Rules With Drools
ODP
Buenos Aires Drools Expert Presentation
PDF
JBoss Drools - Open-Source Business Logic Platform
KEY
Groovy DSLs, from Beginner to Expert - Guillaume Laforge and Paul King - Spri...
PDF
Drools
PPTX
JBoss Drools - Pure Java Rule Engine
PPTX
Rule Engine & Drools
PDF
groovy rules
Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit 2013)
Rules With Drools
Buenos Aires Drools Expert Presentation
JBoss Drools - Open-Source Business Logic Platform
Groovy DSLs, from Beginner to Expert - Guillaume Laforge and Paul King - Spri...
Drools
JBoss Drools - Pure Java Rule Engine
Rule Engine & Drools
groovy rules
Ad

Similar to UberFire Quick Intro and Overview (early beta Aug 2013) (20)

PDF
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
PDF
UberFire (JudCon 2013)
ODP
Drools & jBPM future roadmap talk
PPTX
Mobile and IBM Worklight Best Practices
PDF
Errai Workspaces
PDF
Errai Workspaces
KEY
L0020 - The Basic RCP Application
PDF
SESP_Ovidiu_Popoviciu_Poster
PDF
Java Full Stack course in hyderabad
PPT
Developing Java Web Applications
PDF
Java full stack pdf.pdf
PPTX
Java Full Stack course in hyderabad
PDF
Java full stack.pdf
PDF
Android Bootcamp
PDF
An introduction to GWT and Ext GWT
PDF
Javaland 2014 / GWT architectures and lessons learned
PDF
Client Server Web Apps with JavaScript and Java Rich Scalable and RESTful 1st...
PDF
From Renamer Plugin to Polyglot IDE
PPTX
Google web toolkit web conference presenation
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
UberFire (JudCon 2013)
Drools & jBPM future roadmap talk
Mobile and IBM Worklight Best Practices
Errai Workspaces
Errai Workspaces
L0020 - The Basic RCP Application
SESP_Ovidiu_Popoviciu_Poster
Java Full Stack course in hyderabad
Developing Java Web Applications
Java full stack pdf.pdf
Java Full Stack course in hyderabad
Java full stack.pdf
Android Bootcamp
An introduction to GWT and Ext GWT
Javaland 2014 / GWT architectures and lessons learned
Client Server Web Apps with JavaScript and Java Rich Scalable and RESTful 1st...
From Renamer Plugin to Polyglot IDE
Google web toolkit web conference presenation

More from Mark Proctor (20)

PDF
Rule Modularity and Execution Control
PDF
Drools, jBPM OptaPlanner presentation
PDF
Reducing the Cost of the Linear Growth Effect using Adaptive Rules with Unlin...
PDF
Drools, jBPM and OptaPlanner (NYC and DC Sept 2017 - Keynote Talk Video)
PDF
Learning Rule Based Programming using Games @DecisionCamp 2016
PDF
Drools Happenings 7.0 - Devnation 2016
PDF
RuleML2015 : Hybrid Relational and Graph Reasoning
PDF
Red Hat Summit 2015 : Drools, jBPM and UberFire Roadmaps
PDF
Classic Games Development with Drools
PDF
Drools and jBPM 6 Overview
PDF
Drools and BRMS 6.0 (Dublin Aug 2013)
PDF
What's new in Drools 6 - London JBUG 2013
PDF
Property Reactive RuleML 2013
PDF
Reactive Transitive Closures with Drools (Backward Chaining)
PDF
Drools 6.0 (JudCon 2013)
PDF
Drools 6.0 (CamelOne 2013)
ODP
Games development with the Drools rule engine
ODP
Drools @ IntelliFest 2012
ODP
Drools Expert and Fusion Intro : London 2012
ODP
JUDCon India 2012 Drools Fusion
Rule Modularity and Execution Control
Drools, jBPM OptaPlanner presentation
Reducing the Cost of the Linear Growth Effect using Adaptive Rules with Unlin...
Drools, jBPM and OptaPlanner (NYC and DC Sept 2017 - Keynote Talk Video)
Learning Rule Based Programming using Games @DecisionCamp 2016
Drools Happenings 7.0 - Devnation 2016
RuleML2015 : Hybrid Relational and Graph Reasoning
Red Hat Summit 2015 : Drools, jBPM and UberFire Roadmaps
Classic Games Development with Drools
Drools and jBPM 6 Overview
Drools and BRMS 6.0 (Dublin Aug 2013)
What's new in Drools 6 - London JBUG 2013
Property Reactive RuleML 2013
Reactive Transitive Closures with Drools (Backward Chaining)
Drools 6.0 (JudCon 2013)
Drools 6.0 (CamelOne 2013)
Games development with the Drools rule engine
Drools @ IntelliFest 2012
Drools Expert and Fusion Intro : London 2012
JUDCon India 2012 Drools Fusion

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Spectroscopy.pptx food analysis technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Machine Learning_overview_presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
1. Introduction to Computer Programming.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Programs and apps: productivity, graphics, security and other tools
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Spectroscopy.pptx food analysis technology
NewMind AI Weekly Chronicles - August'25-Week II
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine Learning_overview_presentation.pptx
Approach and Philosophy of On baking technology
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A comparative study of natural language inference in Swahili using monolingua...
A comparative analysis of optical character recognition models for extracting...
Machine learning based COVID-19 study performance prediction
1. Introduction to Computer Programming.pptx
Getting Started with Data Integration: FME Form 101
Advanced methodologies resolving dimensionality complications for autism neur...

UberFire Quick Intro and Overview (early beta Aug 2013)