Providing Enum Consistency Between Application and Data

Enum usage is a very common practice in the software world that helps write high-quality and low-maintenance code. However, enum values that are not kept in any place (Database, file, etc.) other than the code, make the monitoring and interpretation of data strictly dependent on the application code itself. 

The Problem

Let’s consider a table like this:

Data Model Tracing and Reporting on a Relational Database

In relational databases, data is stored on tables created with a certain model and relationship network. Especially in systems that are not fully mature yet, changes in data models occur frequently and they make it difficult to control data and data models in terms of integrity, consistency, and granularity. This necessitates control mechanisms that will work on the basis of changes made to the data model and a catalog mechanism.

The control mechanisms mentioned above should not block the development processes, but should also prevent the data model from turning into "garbage." In this respect, the data model (table names, existence of related tables and their compatibility with each other, consistency of related tables in terms of columns, etc.) should be considered in the planning to be made. 

How to Use JWT Securely

In my articles about Spring Boot Security and LDAP authentication, we implemented JWT as a user information carrier between client and server. You can access those articles from here and here. In this article, we will dig into another concept, usage of JWT securely in a Spring Boot application.

JWT (JSON Web Token) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. You may get detailed information from its official website.

Migration of Microservice Applications From WebLogic to Openshift

The need for an environment to put software applications into service is a concept that is contemporary with the history of software development. While the software dimension of the business changes, there are also changes and improvements in technology, CI/CD practices, usage scenarios, and operational expectations — the environmental practices that allow the software to serve.

In this article, we will discuss our experiences with the seamless migration of Spring Boot (version 2.5.6) microservice applications from Oracle WebLogic to the Red Hat OpenShift Container Platform. Also, the practices to ease and ensure the parallel running of applications in both platforms will be discussed.

Authentication With Remote LDAP Server in Spring WebFlux

In my previous article, we covered authentication and authorization with remote LDAP servers in Spring Web MVC. Since base concepts are the same, some sections are unavoidably the same in these two articles and they are kept in both articles in order to create a seamless reading experience for WebFlux and MVC learners. 

In this article, we will develop a reactive Spring Boot project and integrate into remote LDAP through Spring Security. In addition, we will perform authentication (auth) and authorization (autz) operations over JWT (JSON Web Token) for the APIs we will open. 

Authentication With Remote LDAP Server in Spring Web MVC

There are plenty of articles, videos, and courses about this topic, but nearly all of them use embedded LDAP as a source for user information. In this article, we will develop a Spring Boot project and integrate to remote LDAP through Spring Security. In addition, we will perform authentication (auth) and authorization (autz) operations over JWT (JSON Web Token) for the APIs we will open. 

In a business scenario, our application serves as a user portal service that authenticates and authorizes users against specific APIs with their LDAP authorities. First, let's talk about the terms we will use.