Term | Value | Language |
---|---|---|
dc.contributor.advisor | Young, Michal | |
dc.contributor.author | Swanson, Nick | |
dc.date.accessioned | 2024-08-30T19:32:10Z | |
dc.date.available | 2024-08-30T19:32:10Z | |
dc.date.issued | 2024 | |
dc.identifier.uri | https://scholarsbank.uoregon.edu/xmlui/handle/1794/30018 | |
dc.description | 29 pages | |
dc.description.abstract | An Application Programming Interface (API) allows two or more applications to communicate with each other and exchange information. The evolution of the internet has led to the development of different API architectures such as Simple Object Access Protocol (SOAP), Representational State Transfer (REST), and GraphQL, each offering their own constraints and benefits. An API architecture is a set of guidelines and principles that define how an API should behave. For example, APIs that follow the constraints of REST are supposed to be flexible and scalable, and APIs built using GraphQL are supposed to be quick and performant. GraphQL is slightly different from REST since it is a query language rather than an architecture. This means that while REST provides a set of constraints that should be followed, GraphQL is an application-level server-side technology that produces a variety of benefits when used. Although REST and GraphQL are different in the way they are implemented, they still serve the same purpose of allowing two or more applications to communicate with each other. The purpose of this paper is to carry out a comparison and analysis between REST and GraphQL, and use that comparison to show how API architectures have evolved over the years. My goal is to provide developers with a case study to show how and why API architectures have evolved since the early 2000’s. This will help developers make better informed decisions when building applications and will hopefully open doors for further research in this area. | en_US |
dc.language.iso | en_US | |
dc.publisher | University of Oregon | |
dc.rights | CC BY-NC-ND 4.0 | |
dc.subject | API | en_US |
dc.subject | REST | en_US |
dc.subject | GraphQL | en_US |
dc.subject | API Architectures | en_US |
dc.subject | Representational State Transfer | en_US |
dc.title | The Evolution of API Architectures; REST & GraphQL | |
dc.type | Thesis/Dissertation | |
dc.identifier.orcid | 0009-0004-3954-5910 |