SO*: The Future of SOA
The bulk of this article aims to present a vendor-neutral characterization of future trends likely to have an impact on SOA. While not exhaustive, the two trends covered thus far give insight into the value SOA has for businesses as well as the arguments and viewpoints shared by its critics. In this final section, we will step away from a completely neutral view of the future of SOA and give some hints as to how Intel sees SOA moving beyond the purely abstract model to more holistic view. This view of the enterprise is called SOE, which stands for Service Oriented Enterprise. The SOE idea suggests that service orientation will be eventually be endemic not only to software, but also to infrastructure as well. As a software development trend, SOA has the potential to permeate internal software architectures. This downward influence of SOA is seen in architecture models such as SCA (Service Component Architecture) that describe SOA not as a solution to B2B or EAI problems, but as a model for software architecture.
Carrying this thread even further, we can imagine the same model eventually applying to infrastructure and operating systems. Once a component view of software becomes prevalent throughout the operating system, hardware and virtualization techniques can be used to provide finer grain control of services themselves, tied back to hardware. This allows for more complex resource allocation in the datacenter as well as finer control of individual components. This view is also closely aligned with grid computing, which is seen as a panacea for exploding datacenter resource costs. This view of infrastructure supporting SOA is called Service Oriented Infrastructure, or SOI. Figure 7 shows a characterization of SOE in terms of SOA and SOI.
Figure 7 can be understood as two converging trends. Considered top-down as a business driver, SOA will permeate software further, moving from an integration centric solution to a core software architecture methodology. Once this trend is in place, hardware and infrastructure can move to align with SOA to complete the final bridge between not only business and software, but business and infrastructure and hardware. Again, this idea must be tempered with a dose of skepticism, but if the abstract SOA model is really fundamental to business, then the realization of SOI seems to be a likely outcome.
Where do we go from here? This article has focused mostly on future trends that apply to SOA at a software level with Web 2.0 as the obvious contentious gorilla. SOI considered as a separate topic has not been treated here, but its component topics such as SCA, virtualization and grid computing are ripe topics for a bottom up type of treatment. Overall we believe that the core ideas of SOA, especially its importance for business, remain strong. As we have tried to show, Web 2.0 and RESTstyle approaches are really facets of an underlying unifying service orientation concept expressed for different audiences.
Summary
- The REST architectural style doesn't account for all that is required in a full-fledged SOA (for example, no specific definition around horizontal services such as security). The central argument between REST and SOAP given can be characterized by pointing out additional requirements that only a SOAP framework can provide. Rather than thinking of REST versus SOAP, one should consider the value the each brings to the table when architecting a SOA.
- REST-style interfaces with a diversity of nouns and scarcity of operations (Create, Read, Update and Delete) are often the best choice for simple services. SOAP-based interfaces should be used when the message-exchange pattern requires additional features such as reliable messaging, message-level security, more robust descriptions (WSDL), and the possibility of patterns like one-way notifications or publish/subscribe.
- While it can be argued that Web 2.0 and SOA are fundamentally different, the service undercurrent runs in common to both trends. For Web 2.0, the end result is SaaS (Software as a Service) and for SOA the end result is the services-oriented enterprise.
- While Web 2.0 can be characterized in many different ways, it is important to note that unlike most "new technologies" Web 2.0 is more a social construction and represents the use of existing technologies in new ways rather than truly new technology innovations.
- As SOA adoption continues, we predict a further split of the Service Oriented Enterprise (SOE) into SOA and SOI. The latter refers to hardware and infrastructure being more closely aligned with SOA over the long term.