What do the analysts think, and what trouble do they foresee?
If we had to boil it down to one sentence, it would be this quote, drawn from a report by Gartner: "There is no alternative to [SOA] and web services as a basis for future software. The issues revolve around the rate of adoption and the purposes for which it is applied." In other words, it's not a question of whether an SOA will supplant today's architecture, but rather, how long it will take to complete this evolution.
Technology analysts at Gartner Groupone of the most respected research firms in the fieldare generally optimistic about SOA's potential, and have at times made a case for the transformative power of enterprise services that is very similar to what we present in this book. However, the same analysts have also pointed to any number of pitfalls lying in wait for companies just beginning the transformation. Here are a few of their more pressing concerns:
Many of these technologies and their development tools are adolescent, yet overhyped.
Companies that decide to begin tackling SOA while in the thrall of industry hype will indubitably become dissatisfied and disillusioned by the real pace of adoption and the many challenges ahead. According to Gartner, "Many projects are running with the intent to deliver SOA. The reality of the effort makes users face the lack of tools, standards and consistency in SOA initiatives. It is harder than expected for most. Many changes in user and vendor organizations and technologies are required before SOA reaches its plateau.... Enterprises are still wrestling with what [web] services do, and their transformational impact will have to wait for more-mature standards and [clearer] examples.... Enterprise expectations for orchestrated, multicompany interactions have reached the peak of their unreasonable hype."
Service-oriented development is an alien process for today's developers.
Don't underestimate how radical the shift is from building traditional application development to SOA. According to Gartner, "The technology issues
associated [with] SOA are much more challenging than vendors would like users to think.... Service implementations must be developed and executed on platforms providing the necessary quality of services. Other service implementations must be carved out of pre-SOA applications by using integration tools like adapters and programmatic integration servers. Service consumer applications must be deployed atop platforms capable of supporting multiple devices and presentation styles. Web services protocols must be complemented by more reliable, higher-performance or more secure protocols to support the most demanding requirements. Setting up the infrastructure for SOA entails making [myriad] technical choices in terms of software infrastructure: application servers, portals, integration suites, [Business Process Management] tools, TP monitors, integration servers, various kinds of communication middleware and XML appliances can all play a role in large-scale SOA initiatives. To make proper choices, users must understand the complex world of middleware. Despite the growing popularity of this technology, the risk of making wrong decisions still looms large [for] SOA newcomers."
Composite applications, which by their nature draw from multiple applications, are proving difficult to build with the nascent services that exist today.
According to Gartner, "In many cases, SOA initiatives begin with small projects usually within the scope of a single application such as call center integration or customer self-service portal. These 'test the water' projects usually implement a couple of dozen services to support a few consumer applications.... Projects of this kind usually proceed informally without the support of a hard-core methodology. Mature SOA initiatives expand into a wider scope (multi-application domains or business unitwide)...designing from the outset a scalable SOA-enabling infrastructure is paramount."
SOA adoption does not provide a quick ROI, but requires strategic investments, including investment in governance and a cultural change to align IT and business.
According to Gartner, "In trying to work out an ROI for SOA, users need to take into account three different classes of required investments: 1) Organizational. SOA implies putting in place new, specific processes (for example, to define and validate services, to enforce reuse, to allocate costs) in which many different IT and business players have a role. 2) Architectural. SOA requires development discipline and methodologies that must be defined and enforced; the technical infrastructure of the SOA backplane must be designed; specific technologies must be selected. 3) Infrastructural. Specific software infrastructure products need to be acquired, installed, managed, and so on. Despite the lowering cost of SOA-enabling technology, more widespread know-how and availability of SOA services from systems integrators (SIs), the incremental cost of SOA [versus] a traditional architecture is still significant andin most casescannot be justified for fast-ROI, opportunistic projects."