GraphQL - From Basic to a Federated Supergraph
Ngoc, Tran (2024)
Ngoc, Tran
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202404156533
https://urn.fi/URN:NBN:fi:amk-202404156533
Tiivistelmä
GraphQL has emerged as a powerful alternative to traditional RESTful APIs, offering a more flexible and efficient approach to data fetching and manipulation. This thesis delves into the foundational concepts of GraphQL, elucidating its core principles, syntax, and operations. Through a comprehensive examination, it elucidates how GraphQL enables clients to query precisely the data they need, fostering a more streamlined and tailored interaction between client and server.
Furthermore, the thesis investigates the evolution of GraphQL into a federated architecture, wherein multiple GraphQL services collaborate to form a unified graph, known as a supergraph. This federated approach allows organizations to scale their GraphQL implementations efficiently, enabling the composition of complex schemas from disparate sources. By implementing a sample project which demonstrates GraphQL Federation technologies in both Node.js and PHP environments, the thesis analyzes the principles and mechanisms underpinning GraphQL federation, and provides insights into the design, configuration and implementation of federated supergraphs.
Through a combination of theoretical analysis and practical examples, this thesis endeavors to equip readers with a comprehensive understanding of GraphQL and its federated extensions. By exploring the transition from basic GraphQL concepts to the construction of federated supergraphs, it seeks to contribute to the growing body of knowledge surrounding GraphQL and its applications in modern software development paradigms.
The thesis is beneficial for software developers who are looking for an advanced solution to replace RESTful API for scalable systems. System architects can also examine the GraphQL Federation in this thesis to consider this architecture fortheir system communication.
Furthermore, the thesis investigates the evolution of GraphQL into a federated architecture, wherein multiple GraphQL services collaborate to form a unified graph, known as a supergraph. This federated approach allows organizations to scale their GraphQL implementations efficiently, enabling the composition of complex schemas from disparate sources. By implementing a sample project which demonstrates GraphQL Federation technologies in both Node.js and PHP environments, the thesis analyzes the principles and mechanisms underpinning GraphQL federation, and provides insights into the design, configuration and implementation of federated supergraphs.
Through a combination of theoretical analysis and practical examples, this thesis endeavors to equip readers with a comprehensive understanding of GraphQL and its federated extensions. By exploring the transition from basic GraphQL concepts to the construction of federated supergraphs, it seeks to contribute to the growing body of knowledge surrounding GraphQL and its applications in modern software development paradigms.
The thesis is beneficial for software developers who are looking for an advanced solution to replace RESTful API for scalable systems. System architects can also examine the GraphQL Federation in this thesis to consider this architecture fortheir system communication.