Microservices With Apache Camel and Quarkus

Apache Camel is everything but a new arrival in the area of the Java enterprise stacks. Created by James Strachan in 2007, it aimed at being the implementation of the famous "EIP book" (Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf, published by Addison Wesley in October 2003). After having become one of the most popular Java integration frameworks in early 2010, Apache Camel was on the point of getting lost in the folds of history in favor of a new architecture model known as Enterprise Service Bus (ESB) and perceived as a panacea of the Service Oriented Architecture (SOA)

But after the SOA fiasco, Apache Camel (which, meanwhile, has been adopted and distributed by several editors including but not limited to Progress Software and Red Hat under commercial names like Mediation Router or Fuse) is making a powerful comeback and is still here, even stronger for the next decade of integration. This comeback is also made easier by Quarkus, the new supersonic and subatomic Java platform.

Message Expiration Pattern Explained

A message might have a limited lifetime, and if it is not processed within this period, it is useless and should be discarded.

For example, a pizza order is useless when its maximum wait time is passed. The customer might have considered ordering from another shop. Also, in a highly dynamic environment like stock trading, a BUY order must be processed within seconds. If not, the order will be irrelevant as the prices can fluctuate.

Enterprise Integration Patterns With MuleSoft: Message Enricher

Introduction

Message or Content Enricher is an enterprise integration pattern that receives an incoming message that doesn't have all the required information, then retrieves that required information from another target system appends it to the data to the message, or forms a new message with everything we need. The image below demonstrates the basic flow.

MuleSoft 3 provides the Message Enricher component. Generally, we wrap the message processor with the Message Enricher component to enrich the data.

SOAP Transformation With Apache Camel Java DSL

One of the most common issues that we usually tackle with customers when modernizing legacy integrations is when they have a collection of legacy SOAP web services that don't integrate well enough with the modern RESTful-based clients.

In this article, we are going to use Apache Camel to build a REST endpoint that will translate REST calls to a SOAP envelope, get the response, and send it back to the client.