xogeny - RESTFest/2018-Grand-Rapids GitHub Wiki
Michael Tiller
My whole career I've had one foot in mechanical engineering and one foot in computer science. I started my company, Xogeny, to explore the intersection of the two. Along the way, and in order to support use cases around modeling and simulation in the engineering domain, I've become quite involved in developing hypermedia APIs.
Recently, I've become involved in the JSonata project. Although the current incarnation of JSonata is primarily for manipulating JSON objects, I've set about reworking the internals of the compiler to support a specific use case I have in hypermedia APIs which is to use the language as a way of describing the payloads I want to get back from the server. My sense is that this could lead to APIs that have GraphQL like capabilities but in a way that builds on HTTP and hypermedia APIs rather developing whole new protocols.
My talk would introduce JSonata and then demonstrate a simplistic use case of using it client-side to help transform data but then show how the same approach could be used to transform data server side. This server side transformation isn't simply a question of selecting, sorting and transforming the data on the server, but of actually using JSonata to describe traversal of resources in the API and even leveraging the JSonata AST to efficiently query underlying data sources.