Process Mapping Logo

Process Mapping - Articles

A Process of Improvement. An Outcome of Excellence.

The Benefits of Metastorm BPM v9

Processes

Processes are the heart of the whole product. Are we going to get a great deal more in terms of functionality with these? We think there is little benefit in regards to process design per se, as it happens. Formatting is much nicer, however.

Swimlanes

For those that like them, there are now Swimlanes. They are there for those that don't like them too, of course, but they can be very easily ignored.

image
image

As can be easily seen, they do add quite a bit to the attractiveness of the Process map. This is more pronounced when colours are employed.

I am not certain I shall often use them myself, as it can make the process design awkward. Many analysts will love the idea, especially as a lot of specifications use the concept.

Managers may well like the idea from a documentation perspective. The addition of meaningful icons, as we have here, makes them even more useful.

Process styles

We now have the ability to set some options regarding the style of the Process map. Most important is probably the addition of 'shapes' for the Stages.

These are potentially attractive if you wish to keep to a particular notation. You have the ability to change these from the default, but not to set the default shape for a Stage type. This could require a lot of maintenance if the defaults (as shown) do not conform to your needs.

We find the addition of the Visual Script 'arrows' makes the diagram a bit 'busy', although they are extremely useful to portray the existence of scripts (solid arrows), and offer an easy way to edit them.

Another potential useful option is the different line styles. You now have the option to use the standard 'bendy' lines, hard or rounded 'square' lines, or straight lines.

image
image

image
image

image
image

Care does need to be taken to use each style effectively, but you can set the default and change each line individually to deal with any difficult positioning.

True parallel processing

As we have demonstrated, it is now possible to have truly parallel processes. This was not really possible before, and any attempt would involve a significant amount of awkward and difficult to maintain code.

http://www.processmapping.com.au/MBPMv9HnT/2010/01/index.html

You can even now do this with no code or SQL at all, viewing and updating data from different processes, due to the new way forms and data have been dissociated from the process. This can result in far more elegant and easy to maintain systems, although care does need to be taken.

Formatting

image
image

As well as the formatting options for fields, these are available in full for Process Maps as well. This can make laying maps out quite a bit easier.

Zooming

image
image

Process Maps can now be zoomed in and out. This can make navigation of larger maps a great deal easier.

Forms

Field formatting

image
image

As shown above for Process maps, we have full layout facilities for form fields. The size Equally option is especially welcome, and for me, the icons showing how centering works is great (I was always getting it the wrong way around). The Increase and Decrease spacing are welcome additions too.

image
image

What is even neater, is the 'snap to other fields' feature. This is much better than a 'snap to grid' feature, we feel.

image
image

The ability to resize multiple fields at once with the mouse is a great addition. It makes reorganising forms much less fiddly!

Drag & drop variables

This is my favourite new feature:

image
image

Drag fields from a Business Object to create fields for that variable. The only problem is you cannot get dropdown or listbox fields this way, but that is minor.

image
image

And you get the option to create a grid if you drag multiple fields! The easiest and quickest way to create grids possible, I think.

Local Variables

We've been after 'temporary variables' for a long time now. At last we have them in all forms. We also have them for form segments, so we can create really useful and functional reusable components to drag and drop onto a form.

Obviously, once you delve into C# code you have the option to create as many local variables as you wish as well.

Field grouping

There is a new 'Tab Order' feature that Metastorm are touting as fairly nifty.

image
image

It is possibly clearer to use that the old way, although adding new fields can involve a lot of clicking about, which is a pain.

image
image

What is neater, and I'm not sure Metastorm are really aware of it since it is not documented at all, is the ability to Group fields.

image
image

This also gets set in the tab order, very usefully. There are some issues with display of grouped fields in the Designer, however.

Templates & defaults

One of the most time-consuming tasks that are non-productive in Metastorm BPM is setting up forms to look the way you wish. It is possible to have a standard form and keep importing it, but in version 9 there are much easier ways.

image
image

The approach is two-fold. Firstly you can set the colour of all new forms. We are not sure why you cannot set the font as well, as it would seem fairly simple.

image
image

Better is the ability to save any form, admin form or form segment as a template. You can (and we do) even add segments to the template.

image
image

Selecting the template you wish creates a copy of that form. There are so many uses for this, we will not attempt to exhaust them here, but will discuss in a forthcoming Metastorm BPM Hints & Tips episode.

http://www.processmapping.com.au/MBPMv9HnT/

Code

Native C# code

For the code monkeys among us, there is native C# code. All Metastorm code is now generated C# code, or Metastorm functions called from this code. You can also create as much of your own C# code as you wish, and import any DLL files you may wish to use, of course.

image
image

You have a full C# editor here

image
image

And many useful editing tools, including the all-important Script Validation.

Intellisense

You also have Intellisense, as you would expect.

image
image

image
image

What may not be expected, however, is the same facility in all areas where you can edit Metastorm code.

image
image

In the Expression Builder you can use Intellisense at any time by pressing Ctrl-Space.

image
image

Or it is automatically invoked at appropriate points.

image
image

It is even available in the properties box fields where appropriate, making editing very swift indeed.

Easier code reuse

One of the hindrances to code reuse has been the awkward scripting calls that are required in version 7 and before. This is now a thing of the past.

image
image

all C# scripts can be promoted to the Expression Builder and Visual Scripts Toolbox.

image
image

image
image

You can even add descriptive names for functions and parameters, as well as helpful hints for the Expression Builder.

image
image

And in the Visual Script Toolbox

image
image

Visual Scripts can also be promoted to the Visual Scripts Toolbox.

image
image

And then used in any Visual Script.

Visual scripting

Visual Scripts are a very nice way to write Metastorm code. Effectively they generate C# code by building the statements from Drag and Drop components.

image
image

image
image

Here you can see the available components.

image
image

And these are a set of components built into a script. You can see that certain components allow the nesting of others.

image
image

You can even collapse containers of other activities to keep clutter to a minimum.

image
image

And you can zoom in and out just like the Process Maps.

When descriptive comments are added to the activities, the code is very nicely documented.

Conditionals & Looping

As shown above, we now have looping within Metastorm code. This used to have to be handled by writing a script, or by means of conditional loopback actions.

image
image

Looping if a basic do while loop.

image
image

For each allows you to perform activities on a property of any Business Object. Although a list is accepted, it does not work with lists as far as we can tell, however.

Conditional execution is an If ? else if ... else format.

image
image

Any Activity or container of Activities may be disabled by un- checking the 'enabled' checkbox. This is a neat way to disable code during development.

Data

Easier sharing of data

In version 7 and earlier, you had to create the required SQL for every database call and grid. Now we have Business Objects that can be set up and shared among many components.

image
image

This is a simple table BO which may be used for lists and read- only grids, or in an editable grid or record set.

image
image

You can also create a BO that uses any query you like, even employing views and stored procedures. These are always read- only.

image
image

These Business Objects can be created and maintained in a library for use in any other Solution. This is a major potential time saver when tables are added or modified.

Data sources can be shared

In version 7, if you wanted to access another database, you had to reference it each time it was used. In version 9 we now have Connectors.

image
image

These may be created in a library and shared with other Solutions.

This can make it a great easier to maintain separate connections for different environments. You could have a different set of connectors in different versions of a Library for Development, UAT and Production environments, for example. Ensuring the correct version is published to each database and retrieved on deployment would ensure the correct databases are used for that environment.

New Features

Multi-language support

Metastorm are aiming at the larger corporate market. Many large corporations, even if only based in the US, will benefit from the new multi-language features.

image
image

Forms can now be edited in as many languages as you like. The functionality remains the same, as well as the data, but the captions labels form names, and even field position, may be customised for each language.

image
image

image
image

image
image

All of the process names, stages and Action names are likewise editable.

image
image

These names are visible in different languages in the client, even for the same Folders.

image
image

Reports & graphs

Most Metastorm BPM systems will have some kind of reporting needs. Now you can add your own reports into Metastorm BPM directly.

image
image

Since these reports may well use the same Business Objects that you employ in your processes, much of the development work can potentially be reused.

Collaboration

Metastorm BPM development has up until now mostly been a solo exercise. There are ways to share development responsibilities, but they are limited and awkward.

Now the various components of a Metastorm BPM solution are in separate files. These can be easily shared using a source control system such as Visual Source Safe.

image
image

Files that are not 'checked out' for editing are available and included in the Project, but not editable. This is also plainly demonstrated by the shading of the properties and toolbox.