Avanade Viewpoint

Service-Oriented Architecture:
The Need for a New Architecture

The information technology solutions that many organizations have created over the past decades are no longer sufficient to meet contemporary business needs. In today’s economy, the global marketplace requires businesses to operate with greater agility, competitiveness, and productivity, at lower cost than ever before—because now their competitors come from every corner of the globe. Technological advances that one company overlooks will be adopted by another and used to their advantage.

As a result, companies must quickly recognize and respond to new opportunities and challenges and growing global competition. Enhancing efficiency and productivity requires faster access to deeper, more accurate, and more timely information for better decision-making. As companies respond to their challenges by setting up virtual supply chains that bring more global partners and vendors into their core business, they need ways to seamlessly integrate with those partners and vendors.

Many IT environments aren’t up to the challenge. IT resources are tied down with fixing, maintaining, and attempting to integrate existing solutions, rather than investing in innovative solutions to new business needs. The IT department, which needs to be a strategic asset to the company, is too often a cost center instead of an innovation center.

Fortunately, trends have been moving in a more productive direction. Technologies like extensible markup language (XML) and simple object access protocol (SOAP) enable new ways to integrate systems. Legacy investments may now integrate with new solutions across platforms, departments, geographic boundaries—even across enterprises. A critical mass of software standards further facilitates integration. Over the past 40 years, software reuse has blossomed from subroutines to functions, eventually evolving into classes, objects, and methods. The result is software that is faster, easier and more cost-effective to develop, maintain, and adapt for new requirements.

Together, these developments provide the foundation to solve the problems facing business and IT: service-oriented architectures (SOAs).

Introducing SOA

SOA is an approach to building software solutions for organizations in a way that allows greater flexibility and agility, easier integration of legacy systems to new technologies and improved maintenance and extensibility, and facilitates sharing existing services investments. By deploying business solutions based on SOA, IT becomes a strategic asset, helping an organization gain competitive advantage while reducing risk.

Leading independent analysts are keenly interested in the value SOA delivers to the enterprise, and are predicting very large CAGR (Compounded Annual Growth Rate) figures for SOA software and services adoption. The IDC forecasts "worldwide SOA-based services spending of $10.4 billion in 2007, reflecting growth of 63.4% over 2006. At the end of the forecast period in 2011, spending for such services is projected to grow $40.8 billion on a global basis."[1]

The key concepts behind SOA, which provide the foundation for the benefits described above, include:

  • Foundation services—Developed as building blocks of application functionality that can be shared for use anywhere they are needed in an IT infrastructure.
  • Process orchestration—Used to assemble or aggregate the common-services building blocks into larger, more complex business processes.
  • Open standards—Describe services and their interactions, enabling services and business processes that interact seamlessly.
  • Plug-in capability—Enables future services, processes, and applications to be added to the architecture whenever needed.

Flexibility and Agility

The flexibility that SOA provides means that SOA-based solutions can be implemented on any standards-based platform. The heterogeneous nature of SOA gives the organization flexibility to create applications that work not only within its enterprise, but across enterprise boundaries to include vendors, customers, partners, and acquisition targets.

Shared services enable much of the flexibility and agility of SOAs. Such services include both business processes (checking inventory or obtaining a credit card authorization) and technology processes (security, instrumentation, or database connectivity). Applications in an SOA environment are created by assembling groups of these services and invoking them in a specific order. Changing application functionality or creating new functionality becomes a matter of adding or changing the invoked services or changing the order in which they’re invoked, rather than having to create functionality by writing new code.

SOA makes it easier for applications to connect and interact with each other, as well. With traditional architectures, when one application within an organizational environment is replaced, the organization must rewrite all the low-level connections between the replacement application and the rest of the environment—a time-consuming, painstaking, and expensive proposition.

The flexibility and agility enabled by SOA-based solutions means that organizations can respond more quickly to new business needs, customer requirements, competitive pressures, and market opportunities. Implicit in these gains is the added benefit to the IT department. By reducing the time and cost of introducing new or updated solutions, SOAs free up IT departments to launch entirely new initiatives—such as deploying real-time collaboration environments or consolidating server infrastructures—that reap new levels of cost savings and revenue benefits throughout the organization.

SOAs also enable business users and their IT counterparts to work together more productively. Traditionally, business users have passed along their requirements to IT, and IT has responded (days, weeks, or months later) with a solution that is assumed to meet the business need. In contrast, the best SOA tools can be put in the hands of business users, enabling them to define the behavior of their solution. IT personnel still create those services, but business users can contribute what they know best: how those services should work together to serve the customer, the internal business user, or other end-user. As the catalogue of services grows, so do the opportunities to create solutions for current and future functionality. The result isn’t just faster solutions. It’s better solutions.

Easier Integration

SOAs can easily integrate across platforms—but SOAs can also integrate across formerly insurmountable borders: very long distances. Because they are composed of discrete services invoked as needed for a particular solution, you can host SOA applications anywhere: in a company’s New York headquarters, Palo Alto-based research facilities, Bangalore-based software development operation, Manila-based maintenance center, or anywhere else. And these services can be accessed from anywhere, by any application, provided the proper credentials are supplied.

It’s not just the technologies that can be dispersed. The people can be, as well. Integrating across geographic boundaries means that an organization can make more efficient use of human resources anywhere in the world. One team can write new services while another updates existing ones. A third team can aggregate services into a new application while a fourth team tests scripts against it. All aspects of the software lifecycle can happen whenever needed, rather than waiting for a single facility to manage the lifecycle process in sequence.

SOA’s ease of integration also extends the life—and the return on investment—of multimillion dollar mainframe systems organizations may rely on for mission-critical solutions. Mainframe systems are notoriously difficult to update. Yet competitive pressures, customer demands, regulatory changes and other factors all cry out for updating mainframe code. SOA can serve as a façade or interface between the mainframe and other systems, providing the most cost-effective way—and, in many cases, the only practical way—to implement needed changes.

Maintenance and Extensibility

As mentioned, SOAs cut the time and cost of software updates, thanks to their flexibility, agility, and easy integration. SOA solutions can reflect new business-unit policies and governance requirements by making a change at the service level and propagating it quickly throughout an infrastructure. Organizations can respond more quickly to competitive threats, legislative changes, or new business needs and opportunities. The financial compliance illustration is one example; should additional legislative requirements be enacted, businesses that take advantage of SOAs will be able to extend or modify their current solutions more easily to meet these new needs. Data privacy issues raise another interesting example.

The maintenance and extensibility benefits of SOA come from more than the ability to quickly reconfigure and add compatible services. Mission-critical applications need high levels of availability, and IT departments guarantee that availability in service level agreements (SLAs) with their business users. The higher the guaranteed availability, the more maintenance and attention is required to meet the SLA. When applications are built of integrated code from the ground up, time and money must be invested to ensure the availability of the entire application.

However, not every line of code in a mission-critical application is itself mission critical; most mission-critical applications combine a few truly crucial functions with a majority of more mundane processes. SOAs, and the componentized services on which they’re built, allow IT departments to focus their attention below the application level, to zero in on those specific services that are mission critical, and to invest their time and resources to ensure the SLA of those specific services. Beyond making more efficient use of personnel, IT departments can now also make more efficient use of hardware and other assets, deploying services specifically for mission-critical functionality, rather than for all software features within a mission-critical application.

SOAs enable high availability in yet another way. Because services can be run anywhere in a global enterprise network, organizations can create redundant services for mission-critical needs, creating a mesh-network of services that can be re-routed in case of the failure of any given service or datacenter.

Sharing Existing Services Investments

SOAs are often described as "re-using" existing components or services. This is a misnomer that understates the benefit of SOAs. Before SOA, code re-use implied a component or service created for one use, and then copied into another location to be re-used. The pattern at work here is called "scattering" and involves replicating the functionality in several places.

SOAs, in contrast, actually share services rather than reusing them. The service remains outside the application, rather than being incorporated into it, as in code re-use. In a "sharing" environment, the single instance of a service is the instance that is invoked by multiple applications. As a result, the organization need only host, support, and update that single shared instance of the service, resulting in savings throughout the service’s lifecycle.

Hardware savings is a big advantage of service sharing. The shared service can be hosted on hardware that processes workloads for the solutions invoking that service. With the hardware finely tuned for that specific service and associated load, the result can be more efficient processor utilization and disk storage. Without the need to maintain redundant functionality across a broader number of machines, this aspect of SOAs enables better hardware capacity planning and better return on investment.

As the use of shared services increases, organizations with mature SOAs can achieve one of the primary goals of their investment: the fully composite application, composed entirely of existing services. Such a solution could be developed simply by dragging and dropping relevant services on a design surface and drawing lines to connect them. Development that used to take weeks could be put into production in days.

Publicly available aggregators and "mash-up" toolkits—for search engines, mapping systems, etc.—are examples of composite application-builders that can be used to create applications composed of existing services.

Return of Investment

SOA can deliver significant returns on investment, compared to traditional software environments, but organizations need to understand where and when to expect those returns so they can perform more effective cost-benefit analysis on the move to SOA.

There is a perception that the move to an SOA-based environment increases the initial cost of development. That’s generally not true, because most organizations have been adopting protocols and standards consistent with SOA, even if they haven’t yet made the leap to full-fledged SOA development. Their preparation will make the full move to SOA more cost-effective than it would otherwise be.

Organizations are unlikely to launch their SOA environments with full-fledged composite applications, so organizations that look for ROI only from composite application development may overlook much of their total benefit. Instead, IT management should consider the impact of SOA beyond development: test, deployment, maintenance, troubleshooting, and hardware. SOA reduces costs in all these areas.

One pitfall many organizations face occurs when enterprises fail to train staff on the processes to register and share services, or when they fail to implement the registries needed to make SOA effective. The lesson here is that, when an organization chooses to use SOA, they must invest fully in the registration services, evangelism/championing, and benefits of creating and sharing services across the enterprise. Failure to do so will result in a plethora of single-use services that are not being shared across applications, resulting in a net loss of productivity and efficiency. If you go SOA, go all the way.

But is the anticipated return enough to justify the investment in SOA? If you change mission-critical functionality more than twice a year, if you add customers at least once a quarter, if you are continually updating key applications (or wish you could), then your organization is a good candidate for SOA. If you wish to improve your capacity planning, security profile, or system availability, you’re a good candidate for SOA. Developing an understanding of where you are today, with a roadmap and milestone-based approach to where you want to be, is the first step toward realizing the benefits SOA can offer.

1 "Worldwide SOA Based Services 2007-2011" Forecast and Analysis, IDC, April 2007.

About J. T. Kempiners

Mr. Kempiners is the Chief Technology Officer for Avanade Canada, responsible for the strategic direction and adoption of the Avanade Solutions Portfolio. Prior to his CTO responsibilities, Mr. Kempiners served in Avanade Canada as the Capability Director for Consulting Services, and prior to that as the Director of Applications and Integration.

About Larry Beck

Larry Beck is Technology Director for the Accenture and Avanade Solutions Showcase at Microsoft, a unique venue where businesses and governments can receive briefings on the collective knowledge of the Accenture, Avanade, and Microsoft alliance and demonstrations of the alliance’s Microsoft-based business solutions.

Learn more

Download the full-length paper from www.avanade.com.

LEARN

Tools

Get Avanade® Advisor delivered to your in-box.

SUBSCRIBE

Send an article or the entire newsletter to a colleague.

SEND

Visit Us Online

To learn more about how Avanade can assist you, visit our website at
www.avanade.com