Off late I am trying to understand process technology and the changes it’s going through. I would like to share my current understanding. Historically process automation has been at the heart of most information systems (enterprise systems in particular). In early times, application infrastructures included ‘workflow engines’ which ensured ‘work flowed’ digitally between human user and system as efficiently as possible. Example: when a new employee is hired a series of workflow processes are started like for allotting equipment, training, salary payment… The system ensured that the work is pushed to the right person and the process gets completed. With the increasing digital nature of work (ex: connecting with vendor systems, employee self services, performance KPI’s, regulatory compliance…) more process steps got automated. Process technology which existed in a single component system (ERP systems for example) increasingly needed to interact with multiple internal and external systems.
While one aspect of process technology needed to interface with human users the other needed exchanging messages with other systems On one hand ‘task management engines’ where built which are a kind of abstraction on top of different ‘process/workflow engines’ and provide a ‘universal work inbox’ to human end users. On the other hand we see many ‘messaging middleware / enterprise service bus’ addressing process automation across component systems. Two recent developments of particular interest here are ‘Service oriented architecture (SOA)’ and business process standards such as ‘Business process execution language (BPEL)’. SOA ensures that component systems expose functionality as (web) services. This is a precondition to compose composite services/process in a flexible way. BPEL and related standards help to standardize the way we model business process and the related execution runtime.
Process technology has a important role to play in increasing end user productivity and driving innovation. Seamless integration of process steps into end user interfaces be it office clients (as in the case of Duet), web based collaboration portals (such as Enterprise 2.0 applications) or custom widgets are part of this productivity enhancers. Innovation needs adaptive systems for creating next generation business processes. How do we design adaptive systems? It has a lot to do about having a process technology, which enables flexible ‘model driven’ process composition. As we transition from ‘component based’ to ‘service based’ systems its important to understand that both technologies are complementary. What’s new is the ability to create business process on the fly, which are executed collaboratively and leverage the predictive capabilities of the huge data warehouses we are building. The four key building blocks for this as I see are ‘process engine’, ‘analytical engine’, ‘transactional engine’ and ‘collaboration engine’. I see here the role of process engine to leverage the other three engines to create the next generation ‘process technology’. This process technology will come in different flavors ( be it Workflow foundation as Microsoft would call it or many flavors of Event driven middleware), but at the end its about how ‘well designed’ the different components work together. If there is one thing consumer apps can learn from enterprise apps it’s about better using process technology. Consumerisation of enterprise apps on the other hand is posing new challenges to process technology. Hopefully we will see more advances in this space in the near future.