Tuesday, December 27, 2011

BPM used as monolithic L4G

With my last months studying BPM products, I'm quite impressed by product marketing fliers and other 'best pratices'/ training materials putting emphasis to the fact that traditional, code driven, approach to develop business application is bad, and with BPM it is better to have a unique artifact in a central repository, for managing all the elements of a business application such as UI, information model, service definitions, connectors, business rules, process logic.
I'm confused by the lack of applying basic design and architecture best practices such as separation of concern, and artifact life cycle. With monolithic process application, any change to the information model, or the UI enforce migrating all the process instances running on the runtime server. This is interesting to note that SOA reference architecture, defines, UI services separated from process, from data, and rules services. Which makes perfectly sense for re usability, components life cycle, flexible, sustainable architecture.
Do not apply bad patterns because of such BPM product, use BPM for workflow orchestration, visibility into your process, monitoring the business activities inside the process, and think about valuable architecture and design, and do not blindly follow marketing sirens.