Heiko Braun Software Engineer

BPM Console 2.0.1 released

I am glad to announce the BPM Console 2.0.1. Although it doesn’t include many new functional enhancements, architecturally it’s still a major step forward. Let’s take a look at the most prominent changes first:

Workspace API consolidation

This is probably one of the most important steps. Something that we had on the roadmap for quiet some time. Before 2.0.x the BPM build on it’s own workspace API, which is fully merged with errai-workspaces. Not only does this consolidate the web tooling efforts within JBoss, but it also allows building of true federated toolsets using the errai bus and workspaces modules as a foundation.

This allows us to easily integrate tools from other JBoss projects into a custom workspace build. I.e. something that we are currently thinking about is integrating the Apache Juddi web console as part of the Riftsaw console offering.

Improved performance and development tools

We’ve been running the console on GWT 1.5.3 for quiet some time but now it leverages GWT 2.0. Probably the most important changes for the BPM console are support for code splitting and declarative UI’s.

JBoss system theme

We started working on a custom theme, that should apply to JBoss web tooling in general. It’s still in the early stages, but already included in the recent release. We are aiming for a design that’s clean, concise and doesn’t get in your way:

<img style=”display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;” src=”http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-w1lVNQVI/AAAAAAAAAFw/WTu5w5040RQ/s320/process.png” border=”0” alt=”“id=”BLOGGER_PHOTO_ID_5444764909114835282” />

Role based authorization

Since we migrated to errai-workspaces the BPM console now has support for role based authorization. This means you can easily restrict access to certain tools (i.e. admin vs. user) or use this mechanism to create customized profiles according to a users role (i.e. sales vs. marketing)


@LoadTool(name = "Deployments", group = "Runtime")
@RequireRoles({"administrator"})
public class DeploymentModule implements WidgetProvider
{
[...]
}

History and perma links

One feature that has been requested a lot, was support for linking to tools from an external application. I.e. when a email notification is send for an outstanding task. This is now built into errai-workspaces. The same mechanism that allows you to use the default browser history navigation, can now be used to reference tools from external applications.

Report parameter preferences

The console supports parametrized report templates since version 1.3. What has been added is the ability to store report parameters for each template as part of the console preferences. Imagine a report that requires you to enter a certain time period for rendering. This data is now store within as part of console preferences, so can easily switch between report templates without having to provide that data over and over again.

<img style=”display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;” src=”http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-2sVj6TJI/AAAAAAAAAF4/DVBpdX-Olmo/s320/Screen+shot+2010-03-04+at+2.33.13+PM.png” border=”0” alt=”“id=”BLOGGER_PHOTO_ID_5444771347332484242” />

<img style=”display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 58px;” src=”http://4.bp.blogspot.com/_QxIFVLQdHS0/S4-2z4Iv1CI/AAAAAAAAAGA/Fol3QoTFfEo/s320/Screen+shot+2010-03-04+at+2.32.49+PM.png” border=”0” alt=”“id=”BLOGGER_PHOTO_ID_5444771476872877090” />

Roadmap

In the next few weeks we’ll focus on the toolset for the Riftsaw BPEL Engine. Areas that need improvement are activity monitoring tools and tools for maintaining WS endpoint references, like the UDDI browser.

Contributions

As I said earlier, 2.0.x was an important step regarding maintainability and API consolidation. We now have everything in place for you to get your hands on the errai-workspaces module and start developing plugins for the BPM console in particular or the JBoss SOA platform in general. In case you are interested, don’t hesitate to get in touch with us:

IRC: errai@irc.freenode.net
Mail: http://jboss.org/errai/MailingLists.html

Bela Ban at JBUG Munich, 08.03.2010

Bela talks about ReplCache:

Memory is the new disk, disk is the new tape

ReplCache is a tool to store data in a cluster. It is essentially a hashmap spanning multiple hosts in a cluster.

There are put(), get() and remove() methods which distribute data over the cluster.

The unique feature of ReplCache is that it allows to define a replication count per element, e.g. how many times should an element be stored (on different nodes) for redundancy. When the cluster changes, e.g. due tonew nodes joining or nodes crashing, elements are automatically rebalanced to satisfy replication counts.

Given enough nodes and the assumption that not all nodes ever crash at the exact same time, we can get rid of our database, and use the aggregated memory as our large virtual memory-based database!

(For the paranoid folks, we can still stream the data away to disk/DB).

We will also discuss the architectural approach for applications leveraging ReplCache and which for which kind of application this architecture will be suitable.

Details can be found here

Talking at JUG Zurich @ 2.3.2010

I’ll be talking about GWT and project Errai in particular at the Java User Group Zurich at the 2.3.2010:

Patterns and Best Practices for building large GWT applications

In this presentation we?ll see how to organize a nontrivial GWT application. We?ll go through the lessons learned in a real world project and take a look the complete development lifecycle and best practices that go beyond what GWT has to offer out-of-the- box. This talk does focus on modularity of GWT applications and how to overcome the burdens of compile-time linking. We?ll talk about client side patterns and server side implementation options and explore different approaches that allow for quick turn around times without sacrificing maintainability.</p>

As part of this talk we’ll look at project Errai (http://jboss.org/errai) and
see how it can help to achieve these tasks.

In case you are around, make sure to show up.

BPM Console 1.2 released

Release Notes – BPM Console – Version BPM Console 1.2

Bug

  • [BPMC-15] – Principal not correctly resolved
  • [BPMC-20] – Parse error on process instance with two active nodes
  • [BPMC-25] – XMLProxy chokes upon cookie initialization
  • [BPMC-24] – ‘rootToken’ is optional in the ProcessInstanceRef

</ul>

Feature Request

  • [BPMC-14] – Add support for custom reports
  • [BPMC-17] – Add paging to processdefinitions, processinstances, tasks, … views
  • [BPMC-21] – CSS for task forms
  • [BPMC-22] – Auto-resize task form windows
  • [BPMC-26] – Provide preferences panel
  • [BPMC-27] – Initialize report server when server module is loaded

</ul>

Talk on GWT & Errai @ JUG Stuttgart