Implementing Screen Flows in Eclipse RCP Applications

One of the major differences between most Eclipse IDEs and many enterprise applications is the way the performed tasks are controlled by the end-users:

In IDEs - and many more technical RCP applications - most task is controlled by creativity. E.g. you get a task - create this or change that - and then it is more or less up to you how you want to solve it. You might have a number of large-scope processes - like you have to check in your work and change the state of issue reports - but nothing on the smaller scale.

In many enterprise RCP application most tasks are controlled by processes. E.g. you have an exact description of how to perform most tasks - like create new account or change the payment plan. Processes are here centered on the smaller scale as well on the larger scale - like in which sequence data must be entered when making a new credit agreement.

Out of the box Eclipse RCP supports wizards as the primary type of processes engine. In the default implementation, wizards have one major limitations compared with what you would like to see in many enterprise applications: they are modal and thus you can only have one active process at any one time.

That does not match well with many enterprise applications where the user must be able to 1) service phone calls in the middle of an on-going task and 2) alternate between a number of tasks...

This talk describes how screen flow was implemented in a major banking application where we expect to add 2-300 screen flows, some very simple and some very complex.

The talk will focus on the requirements for the screen flow solution and describe some of the different possible solutions.

Tonny Madsen is a log term user and developer for the Eclipse platform. Tonny has 6 years of experience with the Eclipse platform (since version 2.0) and more than 20 years of experience with software development and system architecture.

Now, Tonny is the CEO of The RCP Company, an independent software development company that is specialized in training, mentoring, consultancy, development, and independent products based on the Eclipse™ platform, Rich Client Platform, and the corresponding technologies and tools.