Service-oriented architecture (SOA) adoption continues to be strong—promising businesses improved agility, better alignment of business and IT, and increased efficiencies through reuse. For this new architecture to deliver its promises the services should be available continuously and the underlying data should be timely and complete. Without having continuously available and accurate data, these new services are of very limited value. This paper discusses these key data infrastructure requirements for a successful SOA implementation and presents how GoldenGate Software’s Transactional Data Management (TDM) software can significantly improve SOA implementation success by providing solutions to address issues with data and business services.
A BRIEF INTRODUCTION TO SERVICE-ORIENTED ARCHITECTURE
The move to a service-oriented architecture (SOA) is one of the most prevalent trends in corporate IT. Through SOA, organizations expose business functions and data in a new way, more quickly and cost-effectively than before. This is accomplished by connecting applications via service interface, as opposed to the direct interfaces that have been employed to date.
One primary benefit of a service interface is that it better matches the way real business works. For example, on a normal day a sales manager might call accounting and ask for the account records for Customer X. Accounting sends over the appropriate report without the sales manager having to know the details of which file cabinet the customer’s folder was stored in, which floor the cabinet sits on, and which other tasks the accounting clerk had to perform to produce the report. In the same way, a service interface makes it easier for one application to request information from another application, without having to know all the processing details for that application.
Because a service model can decrease the cost, time, and complexity of application access, SOA allows an organization to offer access to a much broader set of users, often outside of the organization itself. For example, an insurance company might use an XML service interface to enable all of its independent brokers to access its quote system for their day-to-day operations. Requiring direct integration between each of the broker firms’ systems and the quote system may well have prevented such broad access.
In short, the benefit of SOA to organizations is improved agility, faster time to market, and lower cost of integrating business applications. Ideally, SOA enables a broader set of users to access information and business processes that were previously locked away within the IT architecture.
SIMPLE AS A-B-C? SOME TYPICAL SOA PROBLEMS
The services that make up a SOA are often categorized into several broad categories. These include:
Business services - e.g. Run a credit check, update customer balances
Data services - e.g. Retrieve customer record, retrieve order history
Infrastructure services - e.g. Access control, usage auditing
SOA platform products usually offer functionality for infrastructure services. For example, many SOA runtimes have auditing and access control features built in. However, organizations still face several key problems with their data and business services. To understand these, consider the typical evolution of a new web service.
Phase I, “Simple Steps”
Many organizations begin deploying a SOA by creating a new XML interface over an existing application or database. This is a simple way to offer an existing application function to a broader audience, as systems no longer require costly, direct integration. As a result, the organization can now distribute access to partners, customers, and a larger set of internal users without significant additional support costs. The main impact comes from a larger set of users accessing that system than before.
In this phase, a new XML service based on an existing system might be rolled out to 10x or even 100x more users than previously. For example, an office supply company might have an “inventory check” application that is used only by its internal call center agents. Now that same application is exposed via
service layer to all the company’s retail partners for self service access at much lower cost. Overnight, the number of inventory requests skyrockets as more retail managers access and rely on that inventory data. In such a scenario, service availability is very important, and so availability of the data feeding this service is equally critical. An outage when 100 users access the system is a problem, but an outage when 10,000 users access the same system is a disaster.