FirstGroup plc is the world's leading transport operator with £6 billion in revenue. FirstGroup employs 130,000 staff throughout the U.K. and North America and transports more than 2.5 billion passengers a year. Greyhound Lines, Inc. is a subsidiary of FirstGroup and is the only national provider of scheduled inter-city bus transportation services in the U.S. and Canada. Greyhound provides transportation services with a fleet of approximately 2500 buses serving over 3700 destinations throughout North America.
In 2010 Greyhound initiated a project in partnership with NCR to implement kiosks in select bus terminals in the Northeast as part of a pilot program. Perficient was engaged to develop the required web services, which were to be implemented between the new kiosks and ‘Trips’, the primary reservation system owned by Greyhound.
The solution was deployed using the Agile methodology. The integration web services was built using a JAX-WS implementation provided by Apache CXF. JAX-WS is a technology for developing Java web services. JBoss application server was configured to use JBossWS, a web service framework developed as part of the JBoss Application Server. It implements the JAX-WS specification that defines a programming model and run-time architecture for implementing web services in Java.
The typical interaction between a web service client and server uses the underlying protocol as HTTP. The client first retrieves the interface for the web service by requesting the WSDL file. Retrieving the WSDL file can be done either through a direct request to the service provider or through the directories of web services known as the services registry.
Next, the client invokes an operation in the service by sending a SOAP message with the appropriate input defined in the WSDL known as HTTP Get Requests. The web service executes the appropriate service implementation at the service provider and either successfully completes and optionally sends a message containing the results of the operation known as HTTPPost response, or sends a message detailing any errors encountered during the operation.
The web services developed for Greyhound allows clients to perform fare look up, book, hold, and will call, and to perform a reservation lookup in the legacy Trips system.
The solution was unique and challenging due to the screen-scraping technique that is used to communicate with the legacy reservation booking system over TCP/IP protocol using third-party CAIL library. To overcome the challenges, custom connection pooling and session management was implemented by Perficient.
Business Value Delivered
- Implementation of the web services provides significant cost savings in terms of staff required at bus terminals, and also allows a greater level of sales by empowering customers to purchase their bus tickets online as well as at kiosks
- The project created significant competitive advantage to Greyhound and allows them to leverage the services as part of any potential future partnerships in which they may engage
- Provides a greater level of convenience to Greyhound customers by providing another venue for purchasing tickets