All Research Series Publications

Comparison of REST API and gRPC Architectural Styles
ISSUE: 06
gRPC and REST API are two different architectural styles commonly used in modern application development. While gRPC, developed by Google, is focused on performance and efficiency, REST API is a more generic architecture built on usability and simplicity. gRPC converts data into binary format using a serialization format called Protobuf, enabling high-speed communication with low memory usage. REST API, on the other hand, usually uses the JSON format to transfer data.
The purpose of this paper is to guide the reader in choosing the right architectural style by considering factors such as application needs, performance, data integrity and platform independence.

Spring Framework
ISSUE: 05
Spring Framework is an open source development platform that provides comprehensive infrastructure support for developing Java applications. It has recently increased its popularity among current technologies and has become one of the most preferred application frameworks.
Spring Framework is recognized as one of the most important tools used when developing applications in Java language. This framework aims to eliminate the difficulties often encountered during the development of Java applications. It facilitates the process and stages of application writing by eliminating the effort of writing the entire program code from scratch.
Within the scope of this study, topics such as Spring Framework concepts, features, areas where it can be used, what can be done, and preferences are discussed in general.

Use of Authentication Engines
ISSUE: 04
There are many technologies for user authentication and authorization. These include Apereo CAS, Keycloak, Gluu, Okta, Shibboleth, WSO2, AWS Cognito. In this study, Apereo CAS and Keycloak technologies, which provide secure single sign-on (SSO) services for web-based applications due to their open source, extensibility and scope, are examined. Alternatives for user login and authorization technologies, which are an important part of software projects, have been researched and the integration of these alternative technologies with the Spring Framework has been tested. This study is handled in a framework that can be used by all public institutions and private sectors that want to add a security layer to their software projects.

Micro Frontend Architecture
ISSUE: 03
We live in a period when the world is increasingly digitalized and everything is transferred to the virtual environment. The changing desires of end users over time have led to different needs, different needs have led to new technologies, and new technologies have led to the realization of software projects that meet these needs. New technologies and architectures have developed and are constantly evolving in order to make digital transformations easier in a productive cycle. Microservices and micro frontend architectures, which have become very popular today, have emerged as a result of this cycle. In this study, micro frontend architecture, which enables large and complex projects to be created in a more sustainable way with lower costs, is analyzed.

CI/CD Process Management
ISSUE: 02
Recently, the software development sector has been undergoing a slow but real transformation. While software is increasingly becoming a part of everything, software developers are trying to cope with this increasing demand through more automation. Due to the high demand for the rapid deployment of new features and applications, the principles of Continuous Integration (CI) and Continuous Delivery (CD) have become increasingly and more effectively used. The aim of this study is to overcome delivery problems by improving the delivery timeline, test load steps and benchmarking tasks with the CI/CD pipeline approach.

Functional Programming in Java
ISSUE: 01
Functional programming tools in Java provide a lot of convenience in writing and reading practical functions. Complex loops can be simplified thanks to the Stream API; some controls and functions can be easily read, debugged, tested and managed using functional interfaces that can be called from many places. The working principle of each of the benefits counted in this study is explained separately and code examples and outputs are indicated for understanding.