This is an overview video that shows the scope of work and technology used within the Red Hat JBoss BRMS and BPMS platforms.
The technology presented builds with GWT, Errai and UberFire as the foundation. Over 2015 we'll be working to make it for end users to consume the bits they need, paying for only what they use, so others can make power web platforms like BRMS and BPMS.
68. Screens
• Smallest component
• CDI discovery, or programmatically registered
• DIV on a page
• Life cycle
• OnStart, OnClose, OnFocus, OnLostFocus, OnMayClose,
OnReveal
• Decoupling via Errai Bus
• Components do not invoke each other, all communication
handled by a bus
69. Screen Plugin with GWT
@WorkbenchScreen(identifier = "MySecondPanel")
public class MySecondPanel extends SimplePanel {
public MySecondPanel() {
setWidget( new Label("Hello World 2") );
}
@WorkbenchPartTitle
public String myTitle() {
return "My Second Panel!";
}
}
70. Screen Plugin with AngularJS
$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>
76. Perspectives
• Composition of Screens
• Pluggable Window Management
• NESW
• In place drag and drop
• Bootstrap Grid Views
• Separate design time and runtime
• Templates
• Absolute user control
77. NESW Perspective with GWT
@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;
}
}
83. Web IDE
• BxMS is “citizen developer focused”
• 2 days to make it more developer oriented
• Expose pom.xml
• Tab stacks, instead of list stack
• Technical repository explorer only
• Intellij style side bars (will go back into main BxMS)
• Directly exposes Maven
• Also demonstrates
• ACE editor integration (part of BxMS now)
• Live Fabric8 provisioning and management
• Live deployment of spring Pet Clinic WAR Spring app.
89. Road Map
• Want to deliver a RAD platform for “Self Service Applications”in 2015
• Strong Forms and Data Modeller with additional DB integration will be
key.
• Social Activities and profiles will be improved, OSX style notification centre
bar
• Cross reference already exists, will be extended for refactoring support - of
class names, we won’t be doing method content refactoring for now.
• Further work to micro-service-enable our architecture
• Further provisioning and deployment management improvements
• Further GIT “flow” improvements.
• Focus on authoring collaboration, multiple live document authors etc