One of the biggest barriers to SOA adoption is fear of not meeting the high demands of the runtime environment coupled with the need to provide business agility. As more layers have been introduced by the components of the new technology stacks, the points of failure in distributed application have multiplied. While the IT side of the house is very enthusiastic about the plethora of features provided by technologies typically associated with the SOA stack - object-orientation, process orchestration, Web services, business rules, and so on - the business side of the house is usually hesitant to invest substantially in new territories that may lead to high risk for existing businesses. Service orientation promises to bring business agility, but will it continue to sustain the demands of operating the business? In the requirements phase of SOA, the former is associated with functional requirements and the latter with nonfunctional requirements.
Adoption of SOA holds the promise of enabling businesses to more effectively adapt to change - and to add new offerings to their existing products in a more effective fashion. These offerings are implemented on the technology stack as functional requirements.