2. Improved Architecture
.Net 3.5 Framework
The latest and greatest .Net is employed in this version. That includes Windows Workflow Foundation and Windows Communication Foundation.
named connections
At present there are a number of somewhat clunky ways to connect to data in Metastorm BPM. The primary way is the automatic data binding, of course, and there is also the ability to read and write to other tables and other databases. Web services offer another popular connection point, although the method is not handled very elegantly at present, and does not cover all possibilities. It has improved much upon previous incarnations, but to be honest, we still hand-craft our own.
There are other important connection points to rules engines as well.
All of these are written and to a large part used, in either SQL or in script.
The new approach will be to create 'named connections'. These will connect to 'Business Objects' (more later). This effectively provides a layer of abstraction between the forms and form design, and the underlying data repository. If managed well, this could be a huge benefit, and will solve many existing problems and shortcomings. We can see a very simple 'temporary variable' option, just for starters.
In theory, and I cannot vouch for this, any field on a form may be bound to any desired named connection. Given that the entire system will be based on .net, one would assume that it would be fairly easy to write .net extensions for just about any .net application or system. This opens up the user interface to some very long-awaited customisation.
Business Object Binding
Any named connection can be bound to any Business Object. That provides a total of two layers of abstraction between your form and your data repository. Abstraction is good, however you play it. The current problems with the Metastorm BPM Client can be primarily blamed on a lack of abstraction. In a way it is a good thing, as it avoids the need to create and handle complex layouts, as it is all fixed. If that can be retained, but the ability to create any layout and functionality added as well, we would have the best of both worlds.
You can bind forms to any business object. You can bind different field to different business objects. Gone is the whole 'add a field, and add another record in the database, wether you need it or not' problem. Hopefully we can create 'go nowhere' business objects to employ true temporary variables (much like John Porter invented 'go nowhere' forms which because 'Admin Forms').
True abstraction will definitely lead to more reusability and easier development using components.
Extensible .Net Client
The Client is pure .Net. You will be able to include any .Net component (presumably supporting a defined interface) in your design, straight from the Designer. Metastorm will start you off with some very functional graph components for dynamic graphs on forms (linked to a suitable dynamic Business Object, or course!). From there I am certain there will be a huge number of third-party components developed to meet common needs. Not to mention all the existing .Net components you have in your organisation, of course, as well as all those that can be suitably wrapped in .Net containers.
As it is all .net, you will be able to use Ajax form. 'Nuff said, I think!
Pre-generated Forms and processes
Forms will be pre complied. At present the form is generated (html and script) on the fly. Obviously, while this works, it could be improved by generating the required code at design time and throwing it down the line at run time pre-built. Apparently this is the case in V9. It probably means a lot of the data we use about forms in the database will be removed, but I suspect the abilities opened up by integration with .net will make that redundant.
Apparently much of the process will be pre-generated too. That will hopefully make it faster and potentially more stable than it already is (hey, when it works, it really works, OK? If it does not we get paid to fix it...).
Form Templates
Form templates have been requested for a long time. They will now be a part of the product. I am not certain how they will be employed, but I understand you will be able to set properties such as colour and font in your template. Hopefully you will be able to have multiple templates and pick what you wish for each form.
Note quite CSS, but getting closer, and a lot easier to create, especially for the HTML phobic like myself.
See related topics and documents