While moving Eclipse Sirius to the web, we have created an HTTP API to interact with the Sirius server. In this talk, you will have a look at the GraphQL API for EMF that we have integrated in Eclipse Sirius. With this API, you will have the ability to easily manipulate your models over HTTP. This API can even be parameterized using any metamodel to let users have a GraphQL API with their own concepts and relationships.
Eclipse Sirius is a very powerful tool that can be heavily customized by our users to fullfil their use cases. Building an HTTP API for Sirius is quite a challenge because with such various use cases, contrary to the HTTP API of a known website, we don't know the precise needs of our users beforehand.
GraphQL allows us to move the control of the API from the server to the clients by building our API as a graph of interconnected concepts which the clients can manipulate as they want to retrieve exactly what they need. After a quick overview of GraphQL, you will see how we have integrated it in Eclipse Sirius. You will see a tour of the first version of this API and you will also have a look at the challenges encountered during this work including the mapping of EMF concepts on top of GraphQL.