Sunday, September 18, 2011

Cordys BOP4.1 to be released

Ok, we have been waiting for it for quite some time now...
However -at last- on Cordial 2011 Cordys announced that Fix Pack 1 for BOP4 (commercial name: BOP4.1) is to be released before the end of this month!

Those who are familiar with my blogs will understand that I was very eager to find out all about the new “goodies” packed in this new release.

At Cordial11 we were presented a brief overview of the new features of BOP4.1 and the roadmap for future capabilities. Though it was not completely clear to me what exactly is in scope for 4.1 and what not I would like to share the global picture of my perception of the new features of BOP4.1.

BAM KPI-s simplified
In BOP4 implementing BAM is fairly cumbersome. To have an idea: it involves five different kinds artifacts in BOP4 to report on KPI-s.
In BOP4.1 Cordys allows to define a KPI right where it belongs: in the BPM itself. This KPI is directly usable in dashboards. This is a big improvement for productivity, maintainability and transparency.

Document support in BPM-s
In BOP4 extensive document handling was only offered in Case Management.
BOP4.1 supports this now for BPM-s as well by allowing users to attach documents to process instances. Design time It will be possible to control (per activity) the types of documents that are allowed and the according access rights for the documents for different roles and users.

Multi language support
BOP4 offered very limited language support.
This should drastically improve in BOP4.1. Every language sensitive element in Cordys will be candidate subject to multi language support. Integration of BOP4.1 with Google Translate ensures that only a minimum of effort is required to create the required language tables.

Social Collaboration
BOP4.1 allows multiple developers on remote locations to simultaneously alter or review artifacts, like BPM-s and User Screens. Changes will be immediately visible available to all participants. During this process they can interact with each other, e.g. through real time messaging.

Document Generation
BOP4.1 supports documentation generation on BPM-s.
To be honest the demonstrated documentation looked rather plain and technical in my eyes, so I expect the intended audience is development. I am not really convinced if this will add much value. In my opinion models and structure should be “self explanatory” anyway (according to the agile paradigm), and all information is available in a structured way in the Cordys repository.

Multi browser support
Cordys claims that BOP4.1. will be supported by all widely accepted web browsers, like Safire, Google Chrome and Firefox. This is simply good news, as we already have seen customer requirements on browser support!

MDM modeling
BOP4.1 has improved MDM modeling capabilities.
In BOP4 I have used MDM hub and spoke only because it was required for BAM. Therefore it is hard to value this enhancement.

Process Instance Management (PIM) improvements
BOP4.1 will offer enhancements in PIM. One of the demonstrated capabilities is that it is possible to have BAM-like overviews on the status for specific users: What is their current work load, what is their productivity etc.
In the roadmap session I saw a demo of social capabilities as well, like being able to obtain all kind of information of participants in work lists and the possibility to interact with them though different social media. It is unclear to me to which extent this functionality will be in scope for BOP4.1.

Integration CPF-BOP4.1
BOP4.1 will provide integration with Cordys’ PaaS solution “Cordys Process Factory” (CPF): A logical step to improve the cloud capabilities of BOP4.1. Unfortunately we did not see a demo of this, so I cannot value this enhancement at this moment.

Deployment features
BOP4.1 will offer deployment enhancements by changing the ISV Package structure.
This should allow for easier, safer and better controlled deployments. It should improve productivity for administration and reduce the risk of errors.

Other enhancements and improvements:
A number of enhancements in BOP4.1 will likely increase development productivity to some extend:
- Context sensitive options for constructs in the BPM models (like I have already seen in e.g. SAP BPM). This means that when selecting e.g. an activity the developer can immediately see what the possible connectable constructs are and the required one can be selected.
- Zoom functionality (Handy for larger models. On the other hand: Do we want models to be large?)
- Improved process messaging (In BOP4 this was a bit cumbersome -having to use process instance ids-, as I wrote on in my earlier Blogs)
- E-Mail integration (E.g. easier to make mail templates)

Overall BOP4.1 looks like indeed it will offer some significant enhancements.
Currently I am personally most happy with multi browser support, multi language support, the new BAM and document management. I would really like to lay my hands on those.

I will address my next blog to the features that I am still missing in BOP4.1 and the roadmap of Cordys.

Regards, Harald van der Weel

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

Friday, January 14, 2011

Getting started with BOP4: Cordys Academy self study Training

I have received several requests to inform people on “how to start off with BOP4”:
Where to begin, how to learn about the features and how to get hands-on experience?

The good news: Cordys has recognized this need!
One of the reasons I have become eager to adopt Cordys BOP4 is the simple fact that Cordys Academy offers high quality training facilities.

Not just the conventional classroom courses: Also a great computer based BOP4 fundamentals! For free, and it can be taken anytime, anywhere!

The Cordys Academy is offering basically a complete package, consisting of the following:

-          Self study environment


-          Fundamentals Tutorial


-          Several advanced topics (“Training extensions”)


Access to these sites only requires registration.
This can be arranged instantly through any of the links above. Each will result in the login screen below:

Selecting “New User? Register here” will show the form below.

Complete the form and follow further instructions to register.

Once done… you are ready to “play”!
Self study environment

The self study environment (I’ll call it “sandbox”) is nothing but a single downloadable VM-ware image!
It is configured as a complete Cordys server the provides all main functionality.
Apart from allowing “students” to do all practical exercises in the tutorials, it even would allow you to do a complete project (for the 3 months license period at least)

Provided you have a VM Ware player (free downloadable at ), setting it up simply requires the following steps:

1.       Download the zipped VM Ware environment (It is rather big: Zipped about 2Gb, unzipped about 6Gb)

2.       Unzip the VM environment

3.       Run the VM image

4.       Start a browser session (for the moment IE7 or IE8)

5.       Go to the startup URL (Specified in the Setup and User guide)

6.       Start using Cordys BOP4, provided a default Student1

(If still more info is required: The steps above are well explained in a “Setup and User guide”, that can be downloaded from the “self study environment” page)

This sandbox allows to manage users and provide them with the necessary roles to develop, test, deploy, execute and monitor almost any Cordys work product. The sandbox even allows to use an external SVN version control system to store and version all work products externally from the VM Environment.
The sandbox even provides an example MySQL database with content and web services.

The link to the Self Study Environment is:, which invokes the page below.

Fundamentals tutorial

The fundaments tutorial teaches novice Cordys BOP4 users everything to know about the BOP4 environment.

Multiple tutorial “chapters” take the user sequentially through all necessary subjects, in order to make a start with Cordys BOP4.
Each chapter contains theoretical information (documents and presentations) and hands-on exercises to practice the learned skills. The exercises are very concise and even suitable for people with very limited technical skills.

Subjects that are covered are:

-          Overview and introduction to the Cordys environment

-          Managing users and setting up a new project

-          Developing business processes (BPMN models)

-          Developing and using services

-          Developing user interfaces

-          Developing workflows

The exercises of each module should be executed sequentially, because there are certain dependencies between them.
They will provide a starting developer with the basic skills to build and run simple BPM solutions.

Note that doing all tutorials will take between about 3 and 5 days to finish, depending on your experience in similar environments.

The link takes you to the page below. The order of the modules is Top-Down

Training extensions

A number of advanced BOP4 topics are offered in “Training Extensions”.

This concerns topics that elaborate certain topics in the fundamentals, but also subjects that have not been covered yet before (like Business Activity Monitoring (BAM) or Case Management).

In case of requiring more in-depth knowledge or considering certification these training extensions are a valuable source of information.

The link will take you to the following page:


Cordys provides great means for organizations and users to gain knowledge about the BOP4 product from scratch at no (direct) cost.

Please bear in mind:
A computer based training may provide you a good starting point. Effective skills are mostly built up by actually applying them in a practical situation.
I would advise starting teams to involve an experienced developer/solution architect, for a number of reasons, like:

-          It provides a direct productivity gain

-          It helps to properly setting up the project and guidelines

-          It will (cross)-train your inexperienced team

-          It will solve “blocking issues” faster

-          You may profit of the network of the experienced developer

Good luck to all new Cordys BOP4 adopters.

Hope to meet you in a future project!

Wednesday, January 5, 2011

My road to BOP4 certification

I have been a satisfied Cordys consultant for some time. This may be no surprise for the ones having read my BLOGs the past few months. Though I am still looking at “other fish in the sea” I felt I was ready for a new step in my relationship with Cordys BOP4 and I wanted to take things to the next level: Certification!

As I was confident about my knowledge and experience I decided to subscribe for certification, even before knowing the exact procedure. Remembering earlier certifications like RUP, PMBok, Prince2, ITIL and Java, I was expecting an on-site computer based theory exam. So I blocked a day to travel to Cordys in the beautiful surroundings of Putten. At the meantime I chose a nice piece of wall in my office to proudly present my future Cordys certificate!

I read the Cordys certification site and spoke to two primer Cordys employees who had taken the exam as well. How (happily) surprised I was to found out the complete exam could be taken from my own office! (Good news in an overcrowded country like the Netherlands, where distances are short, but travel times sometimes long!).

I was less thrilled to find out it wasn’t just a theoretical exam I had to take, like the ones of several other BPM vendors. It would not as simple as that! Apart from an 80 question theory exam, I would be exposed to a practical exam and an web cam interview before a commission!

It was getting clear to me that Cordys does not hand out a certification to just anyone who is able to spell out “BOP4”.

I felt obliged to do a little more of preparation than initially planned, which was a bit of a pain in these busy times. On the other hand: The value of the future certificate would be a lot higher because this higher threshold!

I ordered the certification exam via, and selected the date I already blocked.

The learning path for the theory requirements showed – though I already had considerable hands on experience with BOP4 - there were still a lot of details to know, as I (appearently) hadn’t touched every dark corner of BOP4 during the projects.

The good thing was that the windy road through the BOP4 documentation provided me with a number new insights. Cool! I was even increasing my knowledge, instead of just proofing it.

Then the moment was there!

On the date the exam was scheduled I could pick my own time to take the theory exam, within the timeframe of 24 hours. I just needed to visit the certification dashboard and press the “take exam” button.

The game was on!

In 60 minutes 80 various multiple-choice questions were fired at me, of which at least 75 percent had to be answered correctly. The exam tool allowed to mark questions to review them later (provided there is still time left!). 80 questions in an hour is a fair amount, but it is easy to spend too much time in rethinking the alternatives. I needed my time so I just had about 10 minutes left to reconsider the questions I was not sure about. I did not have to use the “end exam” button: After 60 minutes the exam ended automatically.

The certification site then asked me politely for some patience to determine the outcome… And… after a short while I was congratulated! I had passed the theoretical part of the exam! And – more important - the prerequisite to take the second, practical part.

The certification site presented me with 6 practical exercises to solve. All should be finished within a week.

I have the disposition of a local BOP4 environment, however I decided to use the VM-ware environment provided by Cordys: It provides the North-Wind demo, and likely some of the artifacts or database tables could be reused in the exam exercises.

The exercises concerned mainly (combined) UI, BPM and business rules tasks. Of some it took some time to interpret the exact purpose of each assignment, but in the end it was rather obvious what was expected. I decided to start right away, and managed to fulfill the questions in roughly an hour each, including interpretation and testing. Indeed I was able to reuse some NorthWind database tables and webservices, so that was a little advantage.
After reviewing the solutions again the next day I was sure enough to submit the results. This was just a matter of synchronizing the workspace and zipping and sending the synchronized folder to the certification commission.

After submitting the certification site stated that it would maximally take 3 weeks before I would hear whether I would be conducted to an interview.

It appeared to take only a couple of days before I received (and confirmed) an invitation. As required I purchased a webcam and prepared my google environment for the video conference.

The interview was conducted by the certification program manager and the product manager. Basically I had to explain each solution, and answer additional questions about them. My experience and knowledge proved to be sound: as I was capable of coming up with all the answers.

After more than an hour we finished discussing all exercises and the interview was over.

For a third time I was kindly requested to wait for a verdict.

Confident I waited the result. Only after a quarter of an hour I was informed by a colleague who learned via Cordys Twitter that I was certified! Not long after that I received a formal confirmation mail as well. It was official: I had entered the world of Certified Cordys consultants!
Though I had some expectations I felt pretty relieved after the three-stage-procedure that lasted over a week! What made me especially proud was the score of 98% in the practical part.

And now?

Now we’re even more ready for all those fine BPM projects that will use BOP4!

Best Regards and a fruitful 2011,

Harald van der Weel

Tuesday, October 19, 2010

Why Cordys BOP4

Since the latest “rebrand” of BOP4 is this Cordys BPM -stack divided in three suites: CAF, BPMS and SOA grid.

They each map to a specific level in the 5-tier model:

·         CAF (Composite Application Framework) implements the Presentation-tier. It includes  User Interface + Task Management + Composite Applications.

·         BPMS (BPM Suite) embodies the “Process” tier. It consists of BPM + BAM + Business Rules + Case Management.

·         The SOA Grid represents the Services/Integration tier. It contains of MDM, SOA /  ESB and Business Services.


BPMS can be considered as the core of BOP4, containing the primary BPM artifacts. CAF and SOA complete the stack, to allow the development of complete solutions, including user interaction and services integration.


Other vendors like Tibco and Oracle do package and sell their BPM solutions as complete suites as well. Under the hood these stacks consist of multiple separate products (glued together), each with a specific purpose and (development / runtime) environments.


The Tibco stack alone contains e.g. iProcess (BPM execution and design), Business Studio (BPMN design), Business Works (BW - develop services), iDecisions (Business Rules), Active Matrix (ESB), Rendevous and EMS (Messaging), General Interface (GI - Presentation) and iAnalytics and Spotfire (BAM).

BW (as successor of IM) and the Messaging products EMS and Rendezvous can be considered as the core products that made Tibco big. The other products were either developed or bought (E.g. iProcess, iAnalytics and iDecisions are originally Staffware products) to complete the Tibco stack and respond to the market, that has shifted from EAI towards BPM over the past years. Integrating all these products (or better: allowing them to corporate) has resulted in a sub-optimal solution.

For example: Using only iProcess/Business Studio (BPM) en BW (EAI) together already involves 3 different modeling environments, 2 runtime environments, and 2 different interfaces between BW and iProcess (one requiring EMS). It is not hard to image the complexity of administrating the stack, and developing, testing, deploying and maintaining the cross-product solutions built on it, and obviously the resulting additional cost and lead times.


For Oracle goes a similar story. When EAI became “hot” the database giant added the Fusion stack to their data-oriented and ERP portfolio. Once Oracle recognized that their BPEL engine was not sufficient to serve the BPM market, they took over BEA to fill the gap with AquaLogic BPM stack.

Apart from the integration issues of all these components another issue was introduced: In the 11g version it is still hard for Oracle to explain the coexistence of two process oriented products like Oracle BPEL and BPM in the same suite. Though Oracle states that BPEL should be used for short-lived processes where BPM is intended for long-lived processes this is a rather artificial distinction, as the BPM product can do both!


In order to prevent stepping in these pitfalls Cordys has deliberately chosen for an alternative approach. The Baan company invested considerable time (2 years!) and money to hide inside a lab developing the BPM product stack “Business Operations Platform 4” (or simply BOP4). This suite is effectively one solid integrated stack. The same web application may be used by Business Analysts, UI-, Service- or BPM developers, testers, administrators and users to do “their job”.


The so called “Composite Application Framework”-environment allows to  design, implement, test, deploy and run any BPM related artifact. The BOP4 authentication and authorization mechanisms supports role based security for any user role, so every user will only “see” the functionality he/she requires. Artifacts can be seamlessly combined: Web Services, roles, data structures, business rules, UI-screens, Case Models, other BPM flows… All can be added to e.g. BPM model simply by dragging and dropping it on the canvas. A button click allows to validate, publish, run, test or debug the same BPM-process.


Cordys promotes the philosophy “eat your own dog food”. That implies that the same approach is used to setup the BOP4 environment itself: The stack completely web service based, just like the custom applications developed upon it. This implies that all tools and functionality provided by the BOP4 environment are available to use as a web service and used in the custom application! (E.g. user management).

Deploying applications itself is a simple 2 step process, that allows for a complete project to be packaged and deployed on a different environment.


It is not hard to imagine that facilitates quick time-to-market solutions, Something that has been proved by our projects. Combined with the claim of Cordys that the product is linear scalable it BOP4 is surely a strong proposition. As Cordys BOP4 is completely based upon open standards (e.g. BPMN, SOAP, JMS, XForms, SAML and XML / XPath / XSLT), the risks for vendor buy-in are limited.


Does this all sound too much as a sales pitch? Please forgive an BPM-consultant for being enthusiastic about a product that does what he really needs!

Surely: We had some issues with the first versions of BOP4, due to immaturity (Since CU4 stability has increased significantly!). And yes, not all components are completely “ready” (like BAM).


However due to BOP4-s solid architecture and the eagerness of Cordys to offer a top-of-the-bill BPM stack these drawbacks will be a matter of time. And they should, as Cordys claims: The strongest marketing tool of BOP4 is the product itself.

Friday, October 8, 2010

Case Management combined with BPM

The Cordys BOP4 BPMS suite offers -amongst other features- Case Modelling and -obviously- Business Process Modelling (BPM)
As most of you will know BPM is based on the OMG standard BPMN and is intended for relatively well defined business processes that follow a certain sequence of steps in order to meet a certain business goal. Examples: account payable, handling purchase orders, new hires etc.
Case Modelling is intended for processes or activities that in general may not be squeezed into a rigid flow. Each instance of a case model (case) has unique characteristics and (free format) information attached and requires a specific approach. The so-called "case workers" are in general professionals with specialized skills, who should decide per case what action to take and at what time, and what information is relevant to the case. This requires that case workers are not restricted by rigid sequences and data structures.
The generic aspects that apply to each case instance (e.g. state transitions or constraints in the order of activities) can be defined using Case Modelling, and still may leave a lot of freedom to the case worker. Case modelling is therefor more suitable in case of complex processes like insurance claims, all kind of disputes and complex loan applications.
Can't this Case behaviour be accomplished in BPM? Obviously BPMN supports parallelism and loops, and steps may be defined as "optional". Hence it may be possible to model similar functionality in BPM, but only with additional effort. Besides that BPM is lacking specific functionality like attaching documents, work assignments and state transitions.
There is however also some functionality that Cordys Case Management lacks in comparison to BPM, e.g. the possibility to add web-service invocation steps and the execution of business rules. 
The description and examples above may suggest that BPM and Case Modelling are mutual exclusive. I however am convinced that each process may potentially contain both BPM and Case Model characteristics.
An example: A visit of a patient in a hospital may require an well defined administrative sign-up process (which could be implemented in a BPM), followed by a more more agile diagnosis or treatment (which could be a Case model).
Cordys BOP4 has recognized this need, and allows to use BPM and Case Modelling together:
A BPM can be added as an activity to a Case model, and a case model can be incorporated as a step in a BPM.
This provides us with the following options:
 - Decide for each process separately whether to make it a BPM or Case Model (selecting the most appropriate)
 - Make each process a BPM process that may include Case Model steps.
 - Make each process a Case, that may contain BPM sequences.
I advise to pick option 2 and make every process a BPM, and include Case Models if required. (Note that this may even be a just an start and end activity, and just a single Case Model invocation)
There are two technical arguments to favor this option:
 - Cordys BOP4 allows to generate a Web Service on a BPM (and hence invoke it from externally)
 - BPM in Cordys BOP4 allows to use BAM. Selecting BPM as top-level process makes it easier to monitor the overall process state.
Obviously future features in both BPM and/or Case Management in may influence the advise above.  

Monday, September 27, 2010

Business Objects in BOP4



Maintenance of Business Objects is required for most business processes.

MDM has an important role in enterprise data management and quality. It provides a “single point of truth” in the enterprise and allows connected  processes and service to use “the latest and greatest” and clean business data. MDM therefore is the preferred way to manage business data.


If MDM is not in place, and business objects are not maintained in backend-applications there are mainly two ways how to maintain and persist business objects:
  1. A dedicated solution database
  2. Object Templates


This blog will briefly zoom in into these options




1: Dedicated database

This option can be compared to the traditional application development approach. From the logical data/object model a technical data model is developed. This model describes the database tables and the constraints like primary keys and relations. Based on this a database can be created, preferably separate from the Cordys database instance.

Cordys BOP4 provides the feature to query the metadata of a database, and to generate standard or customized web-services to access the database tabels. These web services should be deployed on a WS-AppServer container, before they can be used e.g. in XForms or BPM-s


Cordys allows developers to add business rules to these web servcies in order to perform additional validations and control the lifecycle of these business objects, represented by the database tables.


2. Object Templates

Object Templates are a construct that is offered by Cordys BOP4.
It allows to define data objects based on Schema fragments. The developer may specify constraints and validations, attach (execution-) rules en specify whether or not changes to the the object are subject to audits. Besides that it is possible to specify if the object should be persisted by Cordys. If that option is selected the instances of the Object Template will be stored inside the CoBOC database (the database used to store information about the BPM instances).


Object templates can be accessed using the following CoBOC WebServices:

 - UpdateXMLObject to insert, update or delete an object

 - GetObjectsByAttribute  to retrieve a object


Obviously these can could be embedded in a dedicated Webservice per separate Object



Best pick?

Both approaches above have pro-s and con-s. The "best" choice depends on project or architectural requirements:


Dedicated database

  • Open database format (Data can be accessed easily from outside)
  • More control on data (Separate database, custimizable WS services for data access)
  • Data layer should be maintained manually
  • Separate WebServices are required

Object templates

  • The data-tier remains hidden
  • More productive because of less required steps and objects
  • Audit possibilities
  • Cordys specific data format and Web Services to access data
  • Data stored in CoBOC, so it may impact BPM execution performance


Depending on requirements (e.g. portability, testability, traceability, maintainability) one should decide on the way to go.


Harald van der weel