How does a technology-driven company with massive performance and scalability requirements -- and incredibly varied customer and supplier bases -- transition to SOA? For Sabre Holdings, the answer was a lot of in-house development and a complex interweaving of the old and new.
Sabre's three companies include the Travelocity online travel service; the Sabre Travel Network, whose GDS (Global Distribution System) connects travel agents and suppliers with travelers; and Sabre Airline Solutions, which supplies reservations and other services to major airlines.
Sabre launched its SOA initiative in 2002, largely in response to requests from its larger customers. "We were pushing Web services to lower our costs, but [customers] were major drivers on what functions would be first on the list and how we'd work out security and business issues," says Todd Richmond, Sabre's vice president of strategic architecture.
Some of those customers became beta testers, migrating from Sabre's desktop products or their own screen-scraping desktop applications to products that could consume Web services. Meanwhile, Sabre started analyzing its customer usage metrics.
"We have a lot of data that helped us determine what might be interesting as a Web service. Then, we'd go out and validate our ideas in customer meetings and take their feedback," Richmond says.
As it turns out, Sabre's customers were divided into major camps. "Some said, 'Just expose each individual host command as a Web service, and I'll build the apps to aggregate them.' Others said, 'I don't want to know about the host and the back end. Just show me the flights, select the flight, price it, sell it, and ticket it in high-level Web services,' " Richmond explains.
Click for larger view.
The architecture is complex. Richmond's team defined very terse XML descriptions that are passed to services over an IBM MQSeries message queue or within a CORBA message. Sitting on top of the system are a set of services that manage session, state, and transaction flow as data moves from Sabre's IBM TPF (Transaction Processing Facility) mainframes to open systems and then back out to the customer.
So far, Sabre has done most of its back-end integration in-house, although it is looking to transition to tools from SeeBeyond -- now a division of Sun Microsystems. Sabre engineers have also developed an aggregator that takes an incoming request, parcels it out to the appropriate servers and applications, and uses a rules engine to tailor a response based on the particular customer's contractual agreement.