Con-Way has been evolving an SOA infrastructure for several years now, enabling its seven separate business units to share standardized customer-facing applications. Con-Way's evolving SOA is built on reusable components, and interactions with these components still rely on XML feeds, and do not yet take advantage of the full contingent of Web services standards.
Con-Way's seven companies all maintain their own IT structures to support operations and interactions with customers and sales teams. Some systems are contained within one company, and some are spread across several companies. "We do component-based development," Hilt explains. "Our applications are business components that get reused in our different systems." Con-Way currently has about 20 coarse-grain business components, such as a shipment component, purchasing component, and customer component.
The company built its components on top of IBM's J2EE-based WebSphere Application Server. Con-Way's environment is multi-tiered, with a Web server on the front end, and the Websphere application server behind that pulling data from a zSeries mainframe.
Con-Way takes these components and extends them as common interfaces, through its Website, to about 65,000 registered end-user customers. Con-Way's small and medium-size customers, who represent approximately two-thirds of its customer base, didn't always have the budget to support full-fledged EDI. "You can receive an invoice, receive a shipment status report, track a shipment in real time, calculate a transit time, and calculate a rate," says Hilt.
Most interactions are still moved via "raw" XML, and don't fully take advantage of the other Web services protocols for description, messaging, and discovery -- WSDL, SOAP, and UDDI, Hilt says. In fact, four years ago when Con-Way began work on its customer interfaces, XML was the only mature Web service standard available. "At the time we started, this was 'pre-Web services.' There was no WSDL, no UDDI. We developed a raw XML feed, and schemas, internally, and still using standard Internet protocols, HTTP for the connect, and SSL for the encryption," says Hilt. "Because this is component-based development, we didn't have to rewrite all these applications; we simply put another front-end to an application that was already written."