- Major Studies
- Advisory Reports
- Valuation Data
For years, organizations have been seeking ways to increase the productivity of application development personnel while improving the quality of information systems. Yet, progress has been slow. Recently, however, the concept of service-oriented architecture (SOA) has surfaced as an answer to this dilemma.
While our previous report on SOA in 2007 found less than one-fifth of organizations had SOA in place, now 58% of organizations say they have begun to make a transition to the service-oriented model. The pool making the transition in 2008 was three times as large as was the case the previous year. Moreover, organizations are reporting very positive returns on their SOA investments. Both are signs that SOA is maturing and the drive to modernize and web-enable legacy applications with SOA has reached an inflection point.
This Research Byte is a summary of our full report, SOA Adoption Rising: ROI Positive But Beware of Costs.
Defining Service-Oriented Architecture and its Benefits
SOA is a way of structuring business software around basic individual applications called services. Services are self-contained, stateless business functions, each of which accepts requests and returns responses through a well-defined, standard interface. Each service addresses a separate business process and is designed to run autonomously, but can also communicate and interact, or interoperate, with other services across a network.
For example, a company might build one service to perform the function of checking whether a customer is over his or her credit limit, another service to retrieve a customer's shipping address, and yet another to display a map of a street address. Each of these services might be performed by a different piece of software running on a different computer, some even outside the company itself. Some might be built to fulfill the requirements of a specific application, others might be general-purpose services, and others might originally have been built for another application.
SOA thus produces a system architecture that is highly customizable, efficiently updated, and easily maintained because it is composed of separate and well-defined parts. Adding a new business process becomes as easy as developing a new service and inserting it into the network. Updates made to individual services do not affect the entire infrastructure. In theory, the cost of development drops dramatically, and organizations can maintain continuity because individual software services can be updated while the rest of the system remains in operation.
How .NET and Java Technologies Support SOA Development
SOA provides benefits to organizations by better enabling integration of disparate systems, increasing software reuse, and by allowing new applications to be developed more quickly. To achieve this kind of system, each service must be built in a highly standardized way, using what are known as components. Components are, in effect, a streamlined series of code nuts and bolts that programmers can virtually screw together to compose larger applications. This is where .NET and Java come in.
Microsoft’s .NET is a large set of packaged development tools that include the .NET common components. This is the most popular set of tools for implementing SOA. Second in line are the Java core API and other tools developed using Sun Microsystems’ Java, a popular programming language.
Both toolsets are meant to be used for web-based development, which is highly standards-based. Microsoft’s .NET is overwhelmingly more popular among small and midsize businesses; however, in large organizations the two are used equally, probably because large organizations have the resources to implement both simultaneously.
SOA Adoption Rates Rise Sharply in 2008
According to the most recent Computer Economics survey of 200 IT organizations, the IT community has in the last year radically embraced SOA. Figure 1 shows that whereas in 2006 and 2007 less than one-fifth (18% and 17%, respectively) of organizations reported investing in SOA, in 2008 that number shot up to almost three-fifths (58%), with the majority of businesses surveyed stating that they were researching, implementing, or already running SOA using either Java or .NET development tools.
One note of caution should be raised, however, concerning the adoption trend shown in Figure 1. Some of the increase in SOA adoption for 2008 may be attributed to how we designed our survey questions. In 2006 and 2007, we simply asked respondents to indicate their adoption activity for SOA. In 2008, however, we asked specifically about SOA using .NET and Java. It may be that some respondents, seeing the reference to .NET and Java indicated their adoption of these development environments. The adoption rate for 2008, therefore, is likely inflated by some respondents that are indicating their use of these development tools, whether or not their organizations had embraced an SOA approach to software architecture. Nevertheless, we do believe the increase in SOA adoption in 2008 is real, though the magnitude of the increase may not be as great as implied in Figure 1.
The full version of this report looks at recent trends in the adoption of SOA. It breaks down the various stages of implementation occurring among organizations, and it takes inventory of the return on investment (ROI) and total cost of ownership (TCO) experiences of organizations that have implemented SOA initiatives. We look at the results by organization size and by instances of implementation that involve the two frameworks most used to program and configure web-based services in an SOA--Sun Microsystems’ Java and Microsoft’s .NET. In conclusion, we look at the benefits and challenges of SOA in practice and give advice on how to make sure SOA stays a solid investment in the long run.
This Research Byte is a brief overview of our report on this subject, SOA Adoption Rising: ROI Positive But Beware of Costs. The full report is available at no charge for Computer Economics clients, or it may be purchased by non-clients directly from our website at https://www.computereconomics.com/article.cfm?id=1421 (click for pricing).