Service-oriented architecture (SOA) has been increasingly adopted during the past five years, with its promised benefits validated by early adopters. One of the clearest lessons learned is that SOA is all about finding a better approach — rather than a better technology — for enterprise application development. In 2008, we will see a critical emphasis on establishing a new IT culture in which SOA-based projects have a better chance of success.
SOA infrastructure technologies include solutions for service enablement, messaging, orchestration, transformation, enterprise integration patterns, management, and registry/repository functionality. Because SOA is a better approach to IT rather than a better technology, we will continue to see in 2008 a proliferation of software products aimed at satisfying the requirements of the SOA market.
The biggest influences on SOA projects during 2008 are likely to come from enterprises addressing cultural changes related to SOA adoption. New tools aimed at supporting SOA-based designs, architectures and especially deployments will begin to emerge.
Additional influences will be felt from three major technology trends:
- Commoditization, including open source and large data centers;
- Software abstractions, including modularity, inversion of control and increasing use of patterns; and
- Deployment options, including virtualization, grid, multicores and other operational impact changes.
Trends for SOA in 2008 will be influenced by a combination of cultural and technological issues.
Let’s deal first with the changes related to IT cultural issues. It’s often said that SOA is an approach, not a technology. As the number of enterprises with successful SOA-based projects continues to grow in 2008, pressure on IT professionals to investigate SOA as a potentially better way to align IT spending with the bottom line will increase. In other words, adoption rates for SOA are very likely to continue to rise, pushing related cultural issues to the forefront.
Last fall at our customer advisory board meeting, four of our customers who have been working on SOA initiatives from between four to eight years entered into a discussion with four other customers just starting out with theirs. The advice was clearly to pay as much, if not more, attention to cultural issues such as architectural governance programs, cross-departmental budgeting and keeping reusable service developers insulated from application project deadlines.
The right IT environment needs to be cultivated for SOA success. This is virtually the opposite of the environment found in a typical IT shop that focuses on bespoke application development and maintenance. In a successful SOA environment, resources, tasks, budgets and skills need to be shared across projects instead of dedicated solely to a single one of them.
Every organization has to figure out its own approach when tackling SOA-based projects, but cultural issues definitely need to be considered. As one of the Iona customer representatives put it, SOA governance is not something you can buy. You can buy software to help you, but if you don’t set up the organization right to begin with, all the technology in the world isn’t going to do any good. As SOA-based projects continue to spread during 2008, this challenge will become more and more apparent.
So first and foremost of the SOA trends for 2008 is an increased awareness of the need to define an SOA culture and tie its significance to your organization, and vigorously attack skill-set issues, budget issues and corporate-level architectural issues in order to ensure success with SOA initiatives. SOA tooling will evolve to assist more aspects of the SOA project life cycle.
Trends in Technology
Many technology solutions are available for an SOA implementation, including some interesting technological trends to watch in 2008 that are likely to have a significant impact.
A constant cycle of change in the IT industry is that of commoditization and innovation. Once a given technology becomes a commodity, a new innovation stage begins.
In 2008, we will see the continuing commoditization of software and hardware, and will begin to feel its impact on SOA-based systems through new innovations. Operating systems, application servers, database management systems, Web servers and Web services are commoditizing, but so are data centers and computing clouds built on top of them, such as Amazon’s Elastic Compute Cloud (EC2) and Salesforce.com’s Force.com cloud computing architecture.
The commoditization of the data center is also having an impact through the adoption of “scale out” infrastructures pioneered by Internet sites such as Google, eBay, Amazon, PayPal and others. The commoditization of the data center requires the development of an innovative new layer of software that creates mainframe-level reliability — or better — and scalability atop the cheapest possible hardware. Some of these techniques are starting to emerge in software products for memory caching and replication, high-speed messaging, complex event processing and specialized database design alternatives to the relational database.
In 2008, a growing number of SOA deployments will start to adopt open source, such as messaging and service enablement SOA products, and investigate one or more of the cloud-based services available — whether for testing or production use. It also seems likely that SOA deployments will start to adopt some of the newer products based on the large Web site scale out techniques to increase performance, scalability and reliability.
In the Java world, OSGi platform software is gaining widespread adoption for its ability to support dynamic module updates, versioning and hot deployment. OSGi software is best known as the platform for Eclipse tools, but it is starting to gain favor at the runtime level as well. This will lead to better support for SOA software modularity and improved manageability.
Enterprise integration patterns and their subset, SOA patterns, are also gaining traction with enterprise developers. As more and more applications move toward SOA, repeatable patterns of use are becoming clearer and gaining adoption, such as service design, interface, message exchange, security and performance patterns. Integration patterns such as message splitting and aggregation, data modeling and validation, message routing and transformation, and reliable, transactional interactions are also growing in adoption.
Domain-specific languages are also starting to help speed the implementation of SOA-based applications by offering improved abstractions for encapsulation, data manipulation and access, interaction with messaging systems, and user interactions. During 2008, the trend toward domain specific languages (for example, languages specialized for a given purpose, as opposed to general purpose languages such as Java and C#) will grow in adoption in SOA-based deployments, especially those incorporating mashups and data access abstractions.
Furthermore, abstractions based on Web services as well as REST (Representational State Transfer) techniques will continue to grow and become adopted by SOA projects, creating a growing need to bridge the two popular development approaches.
The trend toward virtualization seems to be hitting warp speed this year, with everyone from VMware to Microsoft to Red Hat and many others getting into the game. In 2008, virtual machines will become an accepted part of everyday SOA deployments. The emergence of multicore chip architectures is going to push people even faster toward virtualization and grid-based deployment solutions to make the most efficient use of hardware and network resources.
However, management and operational tool support is lacking, especially for provisioning, monitoring and maintaining services in the new virtualized and grid-enabled infrastructures. This is something else that will begin to be addressed in 2008.
From the technology point of view, SOA-oriented development environments are well available, but tools to assist with the broad variety of deployment, provisioning and maintenance options still need to evolve, and we will see this start in 2008.
Several vendors have also started to promote the idea of a lightweight, configurable runtime that is better suited to the requirements of an SOA-based deployment than prior technology generation application servers and enterprise integration hubs.
Spring is gaining traction fast as the preferred Java development environment, while Microsoft has significantly upgraded its own .NET development platform with merged communications capabilities, upgraded Web services standards support, support for REST, and additional qualities of service, such as a lightweight transaction manager.
If one of the major challenges for an SOA-based deployment is dealing with platform heterogeneity, the deployment, management and maintenance tooling is going to need to keep up.
We anticipate tools continuing to support more aspects of the development life cycle to assist with handling more of the cultural issues, and continuing to incorporate innovations from emerging technologies such as OSGi, virtualization, high-speed reliable messaging, and to meet growing requirements for heterogeneous technology provisioning solutions.
Eric Newcomer is CTO of Iona Technologies, a provider of distributed service-oriented architecture infrastructure solutions for performance-demanding IT environments.