Once again Mike van Alst got me thinking on some aspects of implementing and managing SOA environments. In his blog post Mike states that he is moving away from the idea that SOA is process driven. I recognize the problems with long running process he describes. These have a great effect on maintainability and manageability of the (BPEL) processes and SOA software infrastructure.
At this time I’m still favoring a process driven approach over an event or message driven approach. The process driven approach has an intrinsic value that none of the other come even close to. It is as close to the day to day operation of an organization as you can get. This implicitly closes a potential gap between business and IT. When choosing a message or event driven approach other mechanisms have to be introduced to bridge this.
To get perspective on the matter, it is important to realize that the arguments presented aren’t on the design, but on the management part of the cycle. Besides that they deal with a subset of all business processes: long running business processes, and especially those that have a high volume of instances.
Decomposing the process, and arranging the parts using another approach than a process orchestration tool moves us away from the Process Centralization pattern. In short this reopens the problem that process logic is not stored in a central location. Which also has a negative impact on management and maintenance of the solution to be implemented.
So there’s the challenge to separate the concern for the process logic, and on the other hand have a platform the accomedates upgrading both your (BPEL) processes and the underlying software infrastructure.