Wednesday, January 19, 2011

Top 10 wish list for BOP4 fix pack 1.

2011 will be an exciting year!

One of the reasons is the expected major release for Cordys BOP4: Fix Pack 1! (Maybe already in Q1?)

Though already am a “fan” of the current product (See my blog: Why Cordys BOP4) I have my top 10 wish list ready:


1. BPMN 2.0
As the formal release of BPMN 2.0 is due soon, and 99 percent of the standard is stable I hope for a solid support of this standard in FP1.

Especially extension of the event- and signaling mechanisms, and the addition of compensation constructs would be valuable features!

2. Data modeling
Currently it is possible to define data structures in BOP4. Additional UML class diagram-like modeling would greatly support the process of defining and communicating the business object model in a graphical way. Obviously MDM would profit too.

3. BAM Usability
As I already wrote in an earlier BLOG BAM Imperfections there are several possibilities to improve usability and flexibility of BAM. The good news is that Cordys already committed to these improvements, so expectations are high!

4. Document support BPM
Case Management already supports a kind of out-of-the-box document management. It seems little investment to allow documents to be attached to BPM Instances as well. This would prevent the need for a custom solution based on an external DMS or database solution.

5. Simulation
A fair simulation environment would be a welcome extension to the BOP4 stack. It should allow for defining the expected loads and spread, and the characteristics of the resource capacity. Reports over the simulation runs should allow for proper analysis and process optimization.

6. Complex Event Processing (CEP)
In automated environments where decision making is depending on the combination of several (types of) events Complex Event Processing (CEP) is a must-have. Addition of a CEP module would greatly increase the applicability of BOP4.

7. “Hot” business rules
BOP4 offers great facilities of defining business rules and decision tables. The feature of allowing business to “hot modify” the (values/business parameters of) rules without having to republish or redeploy them would increase the flexibility of the concerned business processes.

8. User interface: modeling versus scripting
For some fairly basic UI functions it takes java scripting in BOP4 (Example: the invocation of a business process). It would improve development efficiency to allow developers to model such behavior instead of scripting it.

9. BPM Complex Mapping
The BPM data mapping possibilities in BOP4 are quiet sophisticated. However certain types of mappings are not yet supported in the BPM mapping tool, where the underlying technology XSLT would allow so. Example: the mapping of two lists onto each other. One of the work arounds is to model these mappings in the BPM itself, obscuring the intended business functionality. Extension of the mapping functionality would prevent this necessity.

10. Reporting
Where BOP4 offers fairly advanced BAM functionality, plain reporting functionality is missing.
As the Cordys Process Factory (CPF) offers reporting functionality it should also not be rocket science to get it available for BOP4 too.

As Cordys claims the BOP4 product itself is the most valuable marketing instrument I have great expectations and I hope that (a late Santa) will generously fill my sock!


Harald van der Weel

5 comments:

  1. Good points Harald !

    (1) If the Events supported by BPMN 2.0 are business events and can be incorporated within processes, this would be a good addition indeed.
    (7) Maybe to add the flexibility to adapt not only rules but also business processes to some extend at runtime. This feature is supported within Oracle BPM Suite and can be nice
    (9) You could argue if complex structures should be handled by the message mapping. I would use a Transformation for that because it is faster and easier.

    Maybe i can add:
    11) Improvements on the deployment within DTAP street. At the moment this is sometimes awkward and mostly will lead in generating separate ISV packages for each environment.

    12) XQuery 1.0 support, because I really like this standard over XSLT

    13) Connectors. I am curious if the application adapters within the open source community will work.

    ReplyDelete
  2. Hi Harald,

    thanks for your kind and clear feedback. It's good to know that all these items are certainly on our radar and does not contain any surprise to me. Although I can not formally commit any feature for FP1 at this moment, let me share some feedback: 

    • 3 and 4 are expected to be shipped with FP1
    • we are currently running several projects within R&D to deliver 2, 5, 8 and 10 (delivery after FP1)
    • capabilities 1, 6 and 7 are clear to me and are on the longer term roadmap
    • capability 9 is not completely clear to me, can you elaborate?

    Erik van de Ven
    Principal Product Manager / Cordys R&D

    ReplyDelete
  3. Thank you for your feedback. Good to see that demand and supply will meet eachother in (near) future.

    About cap.9 I'll give an (oversimplified) example:

    A BPM x has:
    - An input message "MemberList": *(Name, Street, PostCode, City)
    - An output message "AddressList: *(Name, adres-string)

    The functionality is that BPM x generates an AddressList from MemberList.

    It would be nice if this could be done in a single mapping, but as far as I know that is not possible. (where XSLT allows to do so).

    It requires (e.g.) an "For Each" construct in the BPM to implement this technical behaviour. As it has no real business purpose it is obscuring the BPM from a business point of view.

    A more complex mapping mechanism (as I have seen in e.g. WebMethods) would have prevented that.

    ReplyDelete
  4. Hi Harald,

    tested this with BOP4.CU018 and found that it can be done. Only you have to adjust the xslt source.
    Here is my sample:

    Source:

















    Target:















    You can use the Cordys graphical editor to define the transformation.
    Then open the tab "Edit Model Source" and modify as described below.

    The final transformation is:



















    ...



    In the xslt you add manually:


    and



    Note that you have to use relative select within the for-each!

    ReplyDelete
  5. Hi Harald,

    re item 9: this works in BOP4.
    The blog here does not take the sample, so I created an article in the Wiki:
    https://wiki.cordys.com/display/dp/HowTo+assign+multiple+nodes+in+Transformation

    groet
    Helmut Boecker - Cordys

    ReplyDelete