Nov 5, 2014

MongoDB,BPM, QAL 0.4.0, Optimal Sync 0.9.0 and improved WiX article


Recently, QAL and Optimal Sync(Optimal BPM Tools) was released in new versions(QAL, Optimal Sync). Many a new features are included and especially Optimal Sync is shaping up to become a pretty useful tool. Especially, the Windows installation of Optimal BPM Tools(Optimal Sync) is much improved.


I am currently investigating using MongoDB as a database backend for the system. There is currently a backend written that uses a EAV structure that works in all backends(DB2, Oracle, Postgres, MySQL, SQL server).

However, since Optimal BPM is geared towards simplicity, it is pointless to make the users learn installing and maintaining a complex relational database backend, when possibly, there are better options.

The document-oriented approach of MongoDB seems, at least so far, be a perfect fit for a BPM system. All possible possible issues, like data integrity, schema upgrade issues and similar concerns, are under investigation and hopefully resolved this week.

This means a couple of things for Optimal BPM:
  1. It will be even easier to install.
  2. It can have a far simpler data layer.
  3. The system only needs to support one database backend for installations.
  4. QAL doesn't need to support more DDL functionality, and can evolve further into the data mining and transformation direction in a more clean manner.
  5. The UBE project, and its upgrader functionality, can be discontinued.

A surprising way of using Optimal Sync, if I choose to develop that functionality, is to make it able to transform from an old MongoDB logical schema to a new, using a old JSON-schema and a new JSON-schema and map the differences. This way one can handle database structure upgrades without having to write scary upgrade scripts.


The bane of many a developer, WiX, has now been honored by an improved write-up at the wiki. The script/custom action section has been moved to its own article: .
The old article is now more as it is supposed to be, a pre-tutorial introduction.

No comments:

Post a Comment