Aligning Service Oriented Architecture and Business Process Management Systems to Achieve Business Agility
by Haitham A. El-Ghareeb
Business agility is a new paradigm that is a solution for maintaining enterprise competitive advantage. Business improvement approaches, such as Total Quality Management, Business Process Reengineering, and Workflow Management Systems attempted to satisfy business agility concepts and requirements, but suffered from fatal limitations like lack of concepts definition and measurement, lack of practical implementation, and failure to support ongoing change. The three business improvement approaches realized the need for Business Process Management (BPM) that is the key to business agility. Business Process Management Systems (BPMS) are information systems that enable implementation of BPM. Current IT infrastructure and information systems architecture do not satisfy BPMS objectives. Service Oriented Architecture (SOA) as a design pattern addresses technical agility that satisfies BPMS objectives in order to achieve business agility.
This paper presents a coupling model of Business Process Management System and Service Oriented Architecture in order to satisfy process and technical agility aspects of business agility. Proposed model utilizes standards available for mapping BPM concepts via BPMS into SOA, and consists of three layers: Business, Business Services, and Application Services. Business layer enables business executives to handle business processes as information, BPMS resides in this layer. Business services layer is the layer that maps BPM concepts and requirements addressed by BPMS into SOA based IT infrastructure and enterprise information systems. Application Services layer holds the core services ready to be consumed by different BPMSs and shared among enterprises.
| Attachment | Size |
|---|---|
| ServiceOrientedArchitecture.pdf | 249.09 KB |

SOA Is Important But It Is Not The Main Source of Agility
I enjoyed your article but I would like to propose that you have missed the main source of agility. I have found that, while SOA is a very important, agility comes from the ability to change processes and business decisions at the pace needed by the business. SOA may improve agility but it does not guarantee it. And, business decision change more often than the process. I have seen real cases where certain businesses require decisions to be changed on a daily basis.
The separation of the business decisions (i.e. business rules/business logic) from the process and providing them in a technology independent language that that the business and IT understand is critical to agility. Imagine how agile an enterprise would be if we provide business staff with the ability to change the business decisions with minimal intervention from IT.
I'm not suggesting that SOA is not important, it is important. But SOA in itself does not necessarily create agility. In fact, if we don't have a technology independent language for describing the processes and business logic we are likely continuing to burry these important business assets in the code. I would also add that SOA must be implemented from a business perspective or it will not be relevant and the end result may not be much better than existing solutions because we have only moved the location where we have buried the business logic.