The Business Case for SOA
New technology can bring direct, measurable benefits to your company.
As president of the Independent Oracle Users Group (IOUG) since June 2005 and a member of the Oracle community for 14 years, I've met hundreds of Oracle users and seen many Oracle implementations. In this new column, I'll illustrate some insights into Oracle technology and the IT marketplace from my own experiences.
Benefits of SOA
Much has been said about service-oriented architecture (SOA) and its business benefits. SOA abstracts and exposes business functions as services that connect multiple business applications in homogeneous or heterogeneous environments. This description isn't news. But what are the business benefits of SOA that make this architecture great?
Let's look at an example of a retail company that I helped use SOA in a cross-application process. The situation was typical: A customer wanted to purchase a collectible from the retailer's Web site. The use of SOA simplified processing, saved the costs of developing applications, and allowed the retailer to interact advantageously with partners.
In the upgraded system, SOA played a role even before the purchaser selected the item. A central database that I designed held information about the retailer's products, including inventory, price, description, and pictures. A service pours this information into the retailer's Web pages for visitors to peruse before making their selections.
After the purchaser clicks Buy, a sequence of events begins. First, the retailer verifies the purchaser as a known customer or member. The retailer keeps user name, password, address, preferences, and payment details in a customer database I helped design. In addition, the retailer maintains a purchase history that makes product suggestions for returning customers.
After verifying the purchaser's identity, SOA plays a fundamental part in confirming credit card information with any of several financial clearinghouses. We tested this interaction and used the results to interface with the retailer's internal database. The retailer uses SSL security to encrypt the purchaser's credit card information and stores that information behind a secure firewall. The transaction takes the form of an encrypted XML-based request on the SOA framework, transmitting information to the clearinghouse.
Using this service saves the retailer from having to code its own verification application. The SOA makes details about the clearinghouse's process invisible—and irrelevant—to the retailer. As long as the two use a well-defined interaction, the transaction will work, and the retailer will receive an approval or denial of the proposed credit card purchase. When the approved buyer finalizes the purchase, yet another transaction occurs with the clearinghouse—the financial exchange. SOA also mediates this transaction.
Fulfilling the order comes next. Whether the retailer does this or uses a third-party supplier, the SOA is pivotal. Helping to improve the Web site was one step I took to facilitate fulfillment. Information about the item and the purchaser is extracted from the databases and defines the order to fill. Another XML request, including the name and address of the purchaser, but no unnecessary details, goes to the third-party shipping company, which provides tracking information that the retailer may forward to the purchaser. All of this depends on the retailer using services and the shipper interacting with SOA.
You've probably noticed a pattern here. Data is extracted from a database, translated into a convenient and well-defined format such as XML, and sent to a service. That service returns another XML message, which is translated and parsed into data that is stored in a database. At each step, the SOA acts as a bridge among databases.
The SOA has many advantages for the retailer, which doesn't have to create its own applications for credit card processing, order filling, or shipping. Instead, the retailer can concentrate on selling collectibles and leave those other processes to third-party partners that specialize in these areas. SOA makes this partnering easier. All the transactions use standard formats. The retailer also can choose other partners that may offer lower prices or better service: All they need to do is direct their transactions to the new providers. No change to the back-end processing is necessary.
This example illustrates why Oracle professionals need to understand SOA. Companies do not spend resources to implement new technology unless these outlays can demonstrate direct, measurable business benefits. SOA provides a wide range of real business benefits to enterprises—and Oracle provides a variety of ways to achieve these benefits.