|
|
Los Angeles-based WeddingChannel.com
Making sure that a single site can interact with gift registry information from dozens of different merchants demands a highly flexible infrastructure. Including partnerships with Bloomingdale's, Crate & Barrel, Macy's, Neiman Marcus, Restoration Hardware, Tiffany, and Williams-Sonoma, WeddingChannel.com is affiliated with 40 percent to 50 percent of bridal registries nationally. Prior to their affiliation with WeddingChannel.com, most retailers had their own in-store registry systems. WeddingChannel.com was faced with the task of integrating data from these multiple partners' disparate systems. For some retailers, XML was the technology chosen to bridge the gaps and to assure that registries were up to date wherever and whenever they were accessed. "Weddings are very time-sensitive events. Most gift purchases are made within the month prior to and just after a wedding," says Benji Jasik, WeddingChannel.com's director of engineering. With wedding guests all purchasing gifts from the same list in a short period of time, providing users up-to-date data is necessary to prevent duplicate purchases. XML moves real-time updates To develop the applications that handle WeddingChannel.com's XML transactions, an in-house team of programmers used the Apache Xerces parser to generate and parse XML documents. While couples can establish a gift registry online, most go into a store to set up their registries, and their information is initially kept on the retailer's servers. For that reason, WeddingChannel.com makes extensive use of real-time XML-based data exchange with some of its partners. While everything eventually resides in an Oracle 8i database running on a Sun Enterprise 4500 server, WeddingChannel.com must interface with retailers that may have vastly different back-end systems. The site and its partners make XML exchanges in both directions; registry updates made on WeddingChannel.com can also update retailer databases. Jasik says performance is an issue. "Registries that utilize XML elements take slightly longer to load than locally stored databases, but the locally stored databases may be as much as 24 hours old," he says. Because XML carries a transmission and processing overhead, WeddingChannel.com never uses it to send large files. XML is reserved for real-time updates of information and certain small, periodic updates. "XML does work for our real-time updates, but not when we need to receive a full catalog or full feed from a retailer," Jasik says. "XML is a very chatty protocol. When you are talking about transferring very large databases with thousands and thousands of registries--each containing up to 100 registry items [people usually register for 50 to 100 items]--XML does not work for that." For those transfers, the site uses comma-delimited text files to exchange data with its partners' back-end databases. These files are significantly smaller than pure XML. "We use custom software built with Oracle's PL/SQL programming language and running on a Solaris-based Sun Enterprise 420 to manage the daily feeds we receive from retailers," Jasik says. WeddingChannel.com's partners vary in their capabilities to share data. "We can pull from some of the stores in real time directly via XML," Jasik says. "Once a client connects to our service, we make a call via a dedicated point-to-point T1 line with some of our partners." Not all retailers implement the XML exchange, however. Without XML, WeddingChannel.com consolidates data with partners' master databases on a scheduled basis throughout the day via ASCII feeds. All is not wedded bliss however. Assuring compatibility between differing vendors' database and application servers' implementations of XML is a real challenge. "We would like our partners to standardize on a single XML schema, but practically that is hard to achieve," Jasik says. The company requires certain fields--such as UPC code, price, description, and quantity--in all the XML files it receives. However, partner organizations typically have developed their own schemas tailored to their existing systems. WeddingChannel.com is flexible in interpreting any schema its clients use. Even with the lack of a single unifying structure, XML provides the high degree of data interoperability that the company's diverse partner population requires. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|