Sysco LABS decided to incorporate AdroitLogic’s UltraESB as the Enterprise Service Bus (ESB) to integrate their systems. The requests are mediated to the authentication server through the ESB and Sysco LABS can now easily support different versions of their APIs by forwarding the requests to relevant endpoints based on the HTTP headers of the request messages.Download PDF
Sysco, their flagship product, is a cloud based software platform that revolutionizes the restaurant experience for both restaurant owners and patrons alike. It offers an integrated, end-to-end solution that includes amongst other things, point of sales (Sysco POS), waitlist management (Sysco Guest Manager), Sysco Connect, reporting, data analytics and a variety of payment integration options.
Sysco LABS is headquartered in Redwood City in the heart of the Silicon Valley, while their core Sysco LABS engineering and operation teams are located in Colombo, Sri Lanka, and Austin, Texas. Together they seamlessly combine Valley innovation with engineering ingenuity to create the ultimate restaurant experience. United States is the home to the growing customer base of Sysco LABS – a diverse collection of over 600,000 mom-&-pop, chain and fine dining restaurants.
Initial issue Sysco LABS faced was that their API providers and microservices did not have the capacity to manage their own authorization mechanisms. Therefore, a centralized authentication and authorization mechanism was required.
There are around three million requests per day coming from Sysco LABS mobile applications, browser applications and internal servers to the internal authentication server and back end servers. The size of these requests vary from a few kilobytes to five megabytes, most of them being in JSON format. Sysco LABS wanted to proxy these API calls and intercept certain payloads to perform certain manipulations. In some cases they wanted to perform payload aggregation as well. Another requirement was to support different versions of their APIs through header based routing.
Sysco LABS decided to incorporate AdroitLogic’s UltraESB as the Enterprise Service Bus (ESB) to integrate their systems. The requests are mediated to the authentication server through the ESB and Sysco LABS can now easily support different versions of their APIs by forwarding the requests to relevant endpoints based on the HTTP headers of the request messages. Further, Sysco LABS fulfills different payload aggregation and manipulation requirements effortlessly through the user-friendly mediation support API calls offered by UltraESB.
Vice President - Engineering and Architecture
The UltraESB-based solution introduced much-needed flexibility to accommodate changes and allowed seamless integration of the internal systems in Sysco LABS. With the flexibility introduced through the UltraESB, Sysco LABS is now capable of providing backward compatibility for their APIs smoothly, and can adapt to subsequent changes efficiently.
Sysco LABS runs two UltraESB instances deployed in Amazon EC2 servers in active-active configuration, with an Elastic Load Balancer in front of the two servers forwarding incoming requests to one of the instances in a round robin manner. This ESB setup processes three million requests per day with message sizes varying from a few kilobytes to five megabytes.