One of the most difficult step in software development is to pick the right technologies which can help to fulfill the requirements. This is more true to multilayer applications, where defining common communication interfaces is crucial. In some cases, primitive CRUD [Create, Read, Update, Delete] interfaces for every resource can be just enough, but most of the times it isn’t true. We tend to create complex user interfaces with various data requirements.
In my thesis I will introduce the most common possibilities for application integration. I will write about the best-known solutions like shared database, RPC [Remote Procedure Call], REST [Representational State Transfer] and about modern alternatives like the Falcor.js framework and the GraphQL query language in details. Later in my thesis, I will compare these technologies from different perspectives.
Part of my thesis I have implemented an open source Node.js framework helping developers to transition to GraphQL more easily. I will introduce the requirements, the design and implementation process of the framework.