RHOAR: Wildfly Swarm vs Spring Boot Microservices – Part 2

Recap

In Part 1, I implemented a simple database application using Wildfly Swarm and deployed it on Openshift. In this article, I am going to do the same but using Spring Boot instead so that you can see the difference between using different frameworks for your development. I shall also describe the use of spring-cloud-starter-kubernetes-config in accessing ConfigMap in Openshift deployment which is slightly different from I I read in the documentation.

At the end of this article, I shall summarise my view on the pros and cons of each framework in the context of ease of developing this simple database application. You may want to compare it with the Verti.x and Fuse Integration Services (FIS) implementation in my previous 2-part article on Vert.x (Part 1 and Part2). By the way, the FIS implementation is also using Spring Boot but it uses FUSE’s REST Domain Specific Language (DSL). Continue reading RHOAR: Wildfly Swarm vs Spring Boot Microservices – Part 2

RHOAR: Wildfly Swarm vs Spring Boot Microservices – Part 1

Introduction

Red Hat Openshift Application Runtime (RHOAR) comes with a number of frameworks/toolkits for implementing microservices. In previous articles on Vert.x (Part1 and Part2), I compared Vert.x with Fuse Integration Services (FIS). I am going to compare two other popular frameworks that come with RHOAR in this article. They are: Wildfly Swarm and Spring Boot. I am going to show you how to implement the same database access application implemented in Vert.x and FIS in my two previous articles so that you can compare the level of difficulty for using these frameworks. This is kind of an unfair comparison as most of you are either JEE or Spring developers and you will always find that your framework is easier to use than others especially when compared to Vert.x as it requires learning a new way (reactive programming) of implementing an application. Continue reading RHOAR: Wildfly Swarm vs Spring Boot Microservices – Part 1

RHOAR: Vert.x Microservices Toolkit Compared to Fuse Integration Services – Part 2

 

Recap

In Part 1, I described the FIS-based microservice using a relational database and replicated its functionality using Vert.x, MongoDB with Guice dependency injection. The RestVerticle, which implements the RESTful microservice calls the CustomerService which retrieves/saves customer info to the MongoDB directly. In this article, I am going to show you how you can convert the CustomerService to run as a separate verticle called CustomerVerticle and have the RestVerticle communicate with the CustomerVerticle via the Vert.x EventBus. For a simple application such as this, there is no advantage to code the application this way. I am doing this to show you how this can be done as more complex Vert.x applications usually have multiple verticles running and communicating over the EventBus. To enable verticles to communicate over the EventBus, there is usually some boiler code needed to send messages and listen to messages over the EventBus. I am going to show you how to create a service proxy using code generation to obviate the need to write the boiler plate code yourself and convert the application developed in Part 1 to use the service proxy using dependency injection. Continue reading RHOAR: Vert.x Microservices Toolkit Compared to Fuse Integration Services – Part 2

RHOAR: Vert.x Microservices Toolkit Compared to Fuse Integration Services – Part 1

1 Introduction

Red Hat recently released the Red Hat Openshift Application Runtimes (RHOAR) which includes a number of useful frameworks/toolkits including: Wildfly Swarm, Vert.x, Spring Boot, Netflix OSS and node.js (technology preview).

Among the RHOAR components, Vert.x is completely new to me. Vert.x is a polyglot toolkit for building reactive applications on the JVM. This means that, like node.js, it is event driven and non-blocking and can handle high concurrency using a small number of kernel threads. In other words, it can scale with minimal hardware. In this article, I am going to experiment with Vert.x and compare it to Fuse Integration Servcies (FIS) in building a cloud native microservice. So, please join me on my journey into the world of Vert.x and build a Vert.x application which uses dependency injection deployed on Openshift. Continue reading RHOAR: Vert.x Microservices Toolkit Compared to Fuse Integration Services – Part 1