Research Series Publications
Publications for 2024
Developing Integrated and Scalable Applications with Dapr
ISSUE: 18
Dapr eases the workload of developers and accelerates application development processes by offering portability across different programming languages and cloud providers. It provides integrated solutions for inter-service communication, state management, and secure data exchange. In this issue, Dapr’s role in microservice-based applications, its advantages, and disadvantages are examined, and the solutions it offers for modern distributed systems are discussed in detail.
Authors
İhsan Baran SÖNMEZ
Serra SABAH
Zeynep Ayca TANIŞLI
Editors
Sabiha Deniz ACUN
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
WebAssembly and Rust
ISSUE: 17
Implementing high-performance applications requires a chain of modern technologies, and browsers are the last link in this chain. Browsers are no longer just HTML viewers, but powerful tools that play virtual reality and access hardware. WebAssembly (WASM) was developed to solve the problem that JavaScript cannot fully utilise the hardware power. With WASM, web applications that require high processing power have become possible, and for this purpose, the Rust language, which works close to the processor, has emerged for WASM writing. In this issue, the features of WebAssembly and Rust language are discussed in detail.
Authors
Berat BAYRAM
Editors
Sacit GÖNEN
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
DevOps/DevSecOps Processes in Modern Architectures
ISSUE: 16
As a result of rapidly changing customer needs and a competitive environment, software organizations are required to update their software more frequently. However, delivering complex software architectures with increasingly more features quickly and securely in the software world is challenging. The need for fast and error-free deployment of software products has led to the development of Continuous Integration (CI) and Continuous Delivery (CD) processes. In this study, we discuss DevOps and DevSecOps processes, which aim to add a security layer to DevOps processes, as well as the steps that should be implemented in these processes within modern architectures and the open-source tools that can be utilized.
Authors
Ayşegül ÖZKAYA EREN
Editors
İbrahim Haluk AVCI
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
RabbitMQ Technology
ISSUE: 15
Nowadays, microservice architecture is widely used in software applications. Message queues play a significant role in enabling asynchronous communication between services when using this architecture. In this study, we have examined in detail the structure, architecture, components, purposes of these components, and the advantages and disadvantages of RabbitMQ, which is one of the commonly used message queue technologies.
Authors
Girayhan YILDIRIM
Editors
A. Enis ERKAYA
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
Hexagonal Architecture
ISSUE:14
As projects grow, complexity increases in the software development process. Design principles such as layered architecture and separation of responsibilities are used to reduce and manage this complexity. In this issue, we examine how hexagonal architecture manages complexity by using ports and adapters; important points for its implementation, advantages and disadvantages are evaluated and compared with other architectural patterns. It also discusses when hexagonal architecture should be used and the importance of the underlying idea.
Authors
Ahmet ÖZEL
Editors
Furkan TÜRK
M. Fatih DOĞMUŞ
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
CockroachDB: The Distributed Database Solution of the Modern Age
ISSUE:13
Due to the inability of existing database systems to provide the features required by modern applications, NewSQL database systems have been developed. This new approach combines the ACID guarantees and query language flexibility provided by traditional databases with the scalability, ease of distribution, and fault tolerance features of NewSQL database systems. CockroachDB, as a concrete example of the NewSQL concept, is designed to meet these demands with its powerful features, standing out as a distributed architecture database solution. In this article, we delve into the features, advantages, and potential application scenarios of CockroachDB in detail.
Authors
Deren TOY
Hatice DURMUŞ
İmtisal AKDEDE
Editors
Berkan YILDIRIM
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
The Role of Measurement and Analysis Activities in Process Improvement
ISSUE:12
As the importance of software products increases, software engineering processes are attracting attention among researchers and practitioners. It is crucial for organizations to regularly assess and improve their software processes. In this issue, process management, measurement, and analysis in organizations developing software are discussed, focusing on process improvement efforts.
Authors
Melike TAKIL
Editors
Berkan YILDIRIM
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Kübra ERTÜRK
Design
Şeyma KOÇER
Transformation from Monolithic Architecture to Microservice Architecture
ISSUE: 11
Monolithic architecture has served as a defining model of software development for many years and has been used successfully in many projects. However, in an age where technology is evolving rapidly, organisations need to develop in a more agile, scalable and rapid manner. In this issue of the series, the challenges faced in the transformation from monolithic architecture to microservice architecture and the solutions to these challenges are discussed.
Authors
Sabiha Deniz ACUN
Editors
İhsan Baran SÖNMEZ
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
Foundations of Microservices Architecture
ISSUE: 10
Authors
Gökçenur ÇINAR
Editors
Özay DUMAN
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
Integration Test Writing Techniques with Testcontainers
ISSUE: 09
Authors
Muhammet Fatih
DOĞMUŞ
Editors
Veli Can AYDIN
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
Publications for 2023
Software Testing and Use of Test-Driven Development Approach
ISSUE: 08
Authors
Özlem GÜNİNDİ
Editors
Abdulkadir Taha YAMAÇ
Beyza ŞENEL
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
Cloud Usage
ISSUE: 07
The increasing importance of software technologies and the use of applications developed with these technologies have also increased the requirements for information technology infrastructure for these applications. These requirements vary in terms of cost, capacity, security, and other factors depending on the type and usage of the developed application. Software organizations, while managing their own IT infrastructure, are faced with the problem of not being able to meet these needs and, as an alternative solution, encounter cloud computing systems. In this study, the problems faced by organizations that do not use the cloud are categorized and exemplified.
Authors
Ahmet SAY
Editors
Serkan KOÇ
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Hüseyin ÇAMBAŞI
Editors
Furkan TÜRK
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Abdulkadir Taha
YAMAÇ
Editors
Hasan Çağrı TRAŞ
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Deniz GÜRER
Editors
Muhammet Fatih DOĞMUŞ
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Sacit GÖNEN
Editors
Ahmed Enis ERKAYA
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Ahmet CEYHAN
Editors
Haluk AVCI
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER
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.
Authors
Serhat SAĞLIK
Editors
Özay DUMAN
Sevinç KARAKAŞ
Tuğçe YILMAZ
Publishing Coord.
Elif ŞENYİĞİT
Design
Şeyma KOÇER