Raise a glass to TOAST, a preprocessing service converting XML to JSON
TOAST is a new project recently released by the UI team here at MediaMath. The name stands for “TerminalOne App Server TOAST,” following the long-standing tradition of recursive acronyms in software (and adding to a relatively shorter list of more “exclusive” tail-recursive acronyms … but I digress).
“What is TOAST really?” one might ask.
The answer: TOAST is a web service layer that sits between the T1 front-end (the UI on our primary product, TerminalOne) and the services upon which the UI relies. It may ultimately provide a number of features for T1 that, typically for performance reasons, are preferably handled “for” the client rather than “in” the client: template compiling; entity caching and synchronization; aggregating the results of multiple service requests into the response for a single compound request; and automatically retrying failed requests to other services given certain constraints.
As is commonly preferred, we wanted to move this preprocessing to the server where greater advantage can be taken of caching, and the performance burden on the client can be lessened. With TOAST, we can provide this preprocessing service.
The first consumers of the TOAST service will be the data-encompassing elements of the UI team’s new Strand framework, which is being developed on the cutting edge Polymer Project and Web Component technology. Web Components are magnificent, and really too broad a subject to cover here. However, suffice it to say that the manner in which Strand leverages Web Components to encourage consistency in front-end feature implementation – through simplistic composition of reusable modules – makes the framework the ideal place to manage interactions with TOAST. As T1 gradually incorporates more pieces from Strand, TOAST will become more deeply integrated into the backbone of the application.
- The simple utility of NPM (Node Package Manager) and the effortlessness of sharing modular open source code in the “Post-Github” era
The story of TOAST is far from over. There are a lot of features left to develop, and operational tools for testing and deployment are going to be getting a lot of love in the coming months. Nevertheless, TOAST’s initial release will be the first step of many taken to improve the experience for the users and developers of T1 alike – and the best is yet to come.