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

Exposing FIS-based Service as a 3scale API – My Learning Journey Part 1

Introduction

In my previous article, I created a reusable FIS demo. Today, I am going to show you how to use the 3scale API Management Platform to create an API for the FIS ‘products’ service. By doing so, the service gains non-functional capabilities including access control, rate limits, analytics, activeDocs, billing & payment, etc. Starting my learning journey with 3scale, I decided to set up my own self-managed 3scale gateway and use an online swagger editor to create a swagger spec to document the service. During my journey, I ran into some gotchas, mysterious behaviours, and problems that were eventually overcome. Overall, it was a good learning experience although frustrating at times. I am sharing my learning journey with you pictorially in this article. Hope you’ll find it useful. Continue reading Exposing FIS-based Service as a 3scale API – My Learning Journey Part 1