Please use this identifier to cite or link to this item: https://hdl.handle.net/10216/135511
Author(s): Daniel Pereira da Silva
Title: Fully asynchronous Java APIs for web applications
Issue Date: 2021-07-15
Abstract: Applications for cloud environments present several non-functional requirements, such as execution time, responsiveness, and scalability. In order to address these requirements, Application Programming Interfaces (APIs) should be asynchronous, non-blocking, and cancelable. APIs for cloud environments work as a middleman between the servers/resources, and the calls of client applications. An asynchronous, non-blocking API means that requests to the API are executed concurrently, returning immediately after firing the request and before the work is completed. Cancelable means that we are able to interrupt the work started by a request before it finishes (e.g., in case it takes more than a certain amount of time), freeing its corresponding resources. Resources may be other APIs, files or databases. konkconsulting, the company where this dissertation will take place, already has extensive experience with C# and frameworks that address the challenges of cancellation in that ecosystem. However, they now need to develop similar solutions for Java/Kotlin, and the transition has proved to be challenging due to the nonexistence of an equivalent standard framework, as the one found in C#. Kotlin is a relatively new programming language that can be compiled to run on the Java Virtual Machine. It is also interoperable with Java. The objective of this dissertation is to find a Java/Kotlin framework that can better accommodate the implementation of an API with the mentioned capabilities. The framework will be selected from the set of available open-source tools, and shall then be extended to provide the required functionality. Kotlin offers a set of functionalities, such as coroutines, which will be extensively used in the implementation.
Subject: Engenharia electrotécnica, electrónica e informática
Electrical engineering, Electronic engineering, Information engineering
Scientific areas: Ciências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática
Engineering and technology::Electrical engineering, Electronic engineering, Information engineering
DOI: 10.34626/xc6p-k230
TID identifier: 202818985
URI: https://hdl.handle.net/10216/135511
Document Type: Dissertação
Rights: openAccess
Appears in Collections:FEUP - Dissertação

Files in This Item:
File Description SizeFormat 
487142.pdfFully asynchronous Java APIs for web applications572.63 kBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.