Insights about tuning an Apache Camel application deployed into Spring Boot

Introduction

Tuning is a very interesting topic in the field of Software Engineering. Everybody can agree that it’s important but I have  rarely seen people actually doing it. This can be especially true when people have spare computational resources to spend, or if they are following these mantras: “the load won’t reach at this point” or “let the cloud scale it.”

The goal of this post is to share some insights regarding tuning an Apache Camel application deployed into Spring Boot. This is not an ultimate guide for tuning and performance tests in Spring Boot applications, but more of an experience sharing during a tuning process.

When talking about tuning and performance tests, one thing that needs to be clear is the requirements, or what do you want to achieve by tuning an application. For example, one could say that with the computational resources they have, they aim for a 10% increase of requests the application can handle.

Continue reading “Insights about tuning an Apache Camel application deployed into Spring Boot”

MicroProfile/Thorntail presence by Red Hat at CodeOne 2018

This is Oracle’s first edition of their CodeOne (October 22-25) conference (née JavaOne), which expands to a variety of runtimes beyond Java, among other things. Red Hat will be present at the conference delivering workshops, keynotes, and sessions on a variety of topics.  As a leader in open source, Java, cloud, containers, microservices and cloud-native Java, Red Hat will host a series of talks on our implementation of MicroProfile using the open source project Thorntail. Here is a list of our MicroProfile-related sessions:

Date and Time (US PST)                                                           Session Title
10/23/2018 20:30:00 @ Moscone West – Room 2018 Eclipse MicroProfile: What’s Next?
10/22/2018 12:30:00 @ Moscone West – Room 2018 Cloud Native Java EE with MicroProfile
10/25/2018 11:00:00 @ Moscone West – Room 2011 Thorntail: A Micro Implementation of Eclipse MicroProfile
10/22/2018 13:30:00 @ Moscone West – Room 2008 Building a Fault-Tolerant Microservice in an Hour
10/24/2018 16:00:00 @ Moscone West – Room 2018 CDI from Monolithic Applications to Java 11 jlink Images

 

There will also be other MicroProfile-related sessions delivered by members of the community.

Come and visit us at the Red Hat (booth #5401) and pick up your swag!

For more information:

Red Hat sessions at Oracle CodeOne 2018

The path to cloud native applications: 8 steps

Red Hat OpenShift Application Runtimes

Understanding cloud-native apps

Understanding middleware

Thorntail.io

MicroProfile.io

 

MicroProfile/Thorntail presence by Red Hat at EclipseCon Europe 2018

EclipseCon Europe is fast approaching and many open source users, vendors, corporations, and developers will converge on October 23-25, 2018 in Ludwigsburg, Germany for the once-a-year event that brings the latest trends in IoT, web and cloud development, Java and Java development toolkits, tools and IDEs, and cloud-native Java. As a leader in open source, Java, cloud, containers, microservices, and cloud-native Java, Red Hat will be present with a series of talks  on our implementation of MicroProfile using the open source project Thorntail. Here is a list of our MicroProfile-related sessions:

Date and Time (CET)         Session Title
23 Oct 2018 – 15:15 Path to Cloud-native Application Development: 8 steps
24 Oct 2018 – 14:00 Thorntail – A Micro Implementation of Eclipse MicroProfile
24 Oct 2018 – 16:30 Distributed Tracing for MicroProfile Runtimes
25 Oct 2018 – 10:45 Cloud Native development with Eclipse MicroProfile on Kubernetes

 

There will also be other MicroProfile-related sessions delivered by members of the community.

Red Hat will also participate in the Community Day on Monday, October 22, 2018 with workshops, “meet the spec” talks and process and implementation discussions related to MicroProfile and Jakarta EE.

Come and visit us at the Red Hat booth (booth #1) and pick up your swag!

For more information:

Red Hat sessions at EclipseCon Europe 2018

The path to cloud native applications: 8 steps

Red Hat OpenShift Application Runtimes

Understanding cloud-native apps

Understanding middleware

Thorntail.io

MicroProfile.io

 

Reactive microservices: clustering, messaging, or service mesh — a comparison

Thank you to Dr. Clement Escoffier, Vert.x Core Engineer, Red Hat, for review and diagrams.

In the day and age of Kubernetes and microservices, traditional implementations of clustered services need to be reevaluated, and Vert.x Clustering is no exception. Kubernetes and Vert.x microservices provide functionality that overlaps Vert.x Clustering, but do not replace it entirely. This article will compare the approaches and offer pragmatic pros and cons for each.

Vert.x Clustering

With Vert.x Clustering, Vert.x can be run as a set of clustered instances that provide capabilities for high availability, distributed data, and a distributed Vert.x Event Bus. These are capabilities that are needed for deploying Verticles across multiple Vert.x instances and to have them perform in unison.

Continue reading “Reactive microservices: clustering, messaging, or service mesh — a comparison”

Decision Model & Notation – A new approach to business rules

Business rule engines (BRE) have been around for a long time. Introduced in the early 1990s, BREs have found application in many industries, particularly those that are heavily regulated where compliance and auditability are key concerns. A BRE enables complex rules and regulations to be encoded in a rule language, some of which bear a passing resemblance to English. The BRE can then evaluate the rules against enterprise data to ensure that the business transactions, etc. that the enterprise is performing comply with those rules. Today one of the most popular rule engines is Drools, an open source engine sponsored by Red Hat with a powerful rule language, called DRL, and a highly efficient algorithm that can scale to support hundreds of thousands of rules and terabytes of data.

Rule engines are a great idea. It’s much easier to simply specify all the rules that should apply to a particular transaction than it is to write a program in a traditional language like Java to verify compliance. And it’s much easier to change the rules in a BRE when needed than to modify and test a traditional application. Today’s focus on digital transformation is finding ever wider applications for BREs, from cleansing big data, to fraud detection to identifying patterns in event streams from the Internet of Things.

Continue reading “Decision Model & Notation – A new approach to business rules”

Six typical integration challenges that agile integration can solve

Red Hat conceived the agile integration concept to help our customers tackle integration challenges more effectively. As we described in an earlier post in detail, agile integration is an architectural approach centered around application programming interfaces (APIs) and API management. At its core, this concept resides on the following three pillars: distributed integration for greater flexibility, containers for the ability to scale better, and managed APIs for re-usability and hence speed.

When we started designing this concept we actually started from two premises:

  1. Agility today is the most important business capability — especially for incumbents in traditional markets.
  2. Every organisation has integration problems.

Typically in most companies nowadays the integration function is centralized and hence technically as well as organizationally a bottleneck. Our two premises contradict each other and we set out to design an integration concept that can solve this contradiction.

In order to come up with a solution that really helps our customers solve their integration problems in the best possible way, we first analysed the market to understand what actually are the problems that users are trying to solve. Although there are of course a very wide variety of often very fine-nuanced problems, it turned out that we could classify all the problems into six typical integration challenges. The following diagram summarizes these challenges and we then discuss each of them in more detail.

Agile Integration: Six Challenges

Continue reading “Six typical integration challenges that agile integration can solve”

The wait is over: JBoss Web Server 5 with Tomcat 9 is here!

We are excited to announce the general availability of Red Hat JBoss Web Server 5.0 for Red Hat Enterprise Linux and the technology preview of transactions processing with Narayana. JWS 5 is available through zip, RPM, Maven repository, and the Red Hat Container Catalog.

Red Hat JBoss Web Server combines market-leading open source technologies with enterprise capabilities to provide a single solution for large-scale websites and lightweight web applications. It combines the world’s most deployed web server (Apache) with the top servlet engine (Tomcat) and excellent support for middleware (ours).

Continue reading “The wait is over: JBoss Web Server 5 with Tomcat 9 is here!”

From BPM and business automation to digital automation platforms

The business processes that create customer value are the critical piece that links together all of the different aspects of digital transformation. But still, many of the critical activities that contribute to it are either manual or a succession of disconnected workflows or applications that prevent organizations from having an end-to-end view of how their processes deliver customer value.  

Evolving from workflows to BPM – business process management – added a whole collaborative layer and execution structure to the traditional hierarchy and project-based structure of the enterprise. When it was paired with access to the critical data and documents, alongside activity visibility and business rules, it helped to exponentially grow productivity and agility in the enterprise for many years.

Nowadays, enterprises have discovered already how to use these technologies and apply them to work with structured and unstructured processes, to create business rules to guide and support decision making, or the importance of integrating process outputs and inputs in real time to external systems that interact with the processes. These process-centric applications are even cloud-ready so you can run your processes in the cloud and open them up more securely to all of your internal and external collaborators.

But times are changing. Productivity and agility are no longer the name of the game. It is no longer enough to provide ease of use, business, and IT collaboration, or fast modification of processes and rules. Speed and support for digital transformation have become top priorities. Those process-based applications need to be quickly deployed into production, be portable, reusable and consistent across environments, and scaled in the hybrid cloud. Our customers expect cloud-native technologies at the core of their processes. They expect to run their process workloads to scale across the hybrid cloud to provide a consistent experience to their customers and collaborators. Ideally, they also want to future-proof their investments with modern technologies such as containers.

Continue reading “From BPM and business automation to digital automation platforms”

Introducing Technical Reports

RHAMT 4.1.0 Is Released!

The 4.1.0 version of the Red Hat Application Migration Toolkit has recently been released, and with it is a new report that I’d like to highlight.

If you’re not familiar with RHAMT, check out my previous article introducing the product.

Technology Reports

One of the RHAMT features mentioned at this year’s summit were the Technology Reports.

This report provides an aggregate listing of the technologies used, grouped by function, for the analyzed applications. It shows how the technologies are distributed, and hundreds of applications can be simultaneously compared after analysis has been performed. In addition, the size, number of libraries, and story point totals of each application are displayed, allowing you to quickly determine each application’s type from a single report.

Examining application_13 in the above list, we can see that this is likely a secured frontend application with a cache for performance. It contains several libraries, most of which pertain to security in some form.

Each application can be further examined to identify the technologies in use. For instance, drilling down into application_13 shows:

Here we can see that the precise libraries in use within each category. As previously noted, this application uses a large number of security libraries, and we can precisely identify the technologies in use.

Regardless of how you use the technology reports, I’m certain it will be useful in your migration and modernization efforts.

Effective Case Management within a BPM Framework

In real life, organizations have workflows which may not fit into prescribed, sequential process path or which require human intervention or approval before the entire process can be completed. Within the business process world, more unstructured and unpredictable work is handled through case management rather than process management.

There are slightly different standards defined for case management and process management, which reflect the differences in the types of process flows and data being handled in each type of model.

But the question for business architects is which standard to use or whether to try to balance both — and then for developers to try to create models on different or shared development platforms.

A Quick Comparison of CMMN and BPM for Development Standards

First, it may be helpful to explain why there is a difference between business process management and case management. Both models are defined by two separate specifications, Business Process Model and Notation (BPMN) and Case Model and Notation (CMMN), respectively.

Continue reading “Effective Case Management within a BPM Framework”