The Service Request Broker was designed to distribute service requests across multiple interface implementations, and to provide high availability by throttling, monitoring and implementing failover and self-protection features.
The Problem
In 2003, the Toll Online platform at Toll Group was created to provide a single client-facing portal for tracking freight, booking pickups and various other transport related services. At the time Toll was one of the 25 largest companies on the ASX, and had many thousands of clients that utilised Toll Online to access 17 different transport business units.
This system faced very high usage demands, and each request for tracking a consignment note required simultaneous requests into 6 different freight systems supporting the 17 different business units. Furthermore, high system availability was critical, and a key risk was that failure or overloading in one freight system could cascade to Toll Online by blocking threads and other system resources.
The Solution
The Service Request Broker was designed to interface with the Web Methods SI layer to provide high availability of the services. It allowed throttling and monitoring of individual requests, and could be configured to failover any service or request stream to an alternative SI layer. Even a loss of the Toll Online database itself was detected and handled without an outage, with self-protection built-in to use a shared thread to assess database status and prevent hundreds of database threads blocking on timeouts.
The Benefits
The success and stability of this solution is evident today with the same solution still in use in 2016.