Microservices are a way of decentralizing software services into smaller, isolated environments with contained, specific responsibilities. The traditional approach of monolithic applications introduces many problems regarding complexity due to scaling of functionality. Microservices emerged as a way of dealing with these problems by separating services into modules independent of one another, promoting communication between each component to fulfill the service requirements. This architectural style of software development separates concern of business logic, data models, and other domain specific modules to their respective domains where they are isolated from the rest of the system. Communication is key in the world of microservices as modules rely on transferring information to the rest of the system rather than mutating and operating on global data bound to the entirety of the system. APIs (Application Programming Interfaces) expose data from individual software modules to other parts of the application, and this can be done in a multitude of ways. This thesis focuses on APIs following the REST (Representational State Transfer) protocol as a means to exchange data between software modules. This project dives into the concept of microservices by developing a service through an iterative development process in order to incrementally implement the requirements of the service. The purpose of the microservice is to integrate third-party APIs into the existing service, Link Visualizer. Instead of directly implementing the required functionalities from the external API into the core source code of Link Visualizer, a microservice was built to isolate the responsibilities, removing co-dependence from the integrating APIs.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-189875 |
Date | January 2021 |
Creators | Eriksson, David |
Publisher | Umeå universitet, Institutionen för tillämpad fysik och elektronik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0014 seconds