[JAVA] Apache Camel in the cloud-native era

Hello, this is Komazawa of Red Hat. At this year's Red Hat Forum, we introduced you to the appeal of Apache Camel. Apache Camel is an open source integration framework. Born in 2007, it has evolved over 10 years with changes in the IT environment. As the number of cloud-native applications increases, the combination of collaborations becomes more complicated. EIP is implemented as a mechanism to simply develop such cooperation. This time, we also introduced Camel K, the latest serverless technology, with a demo.

Session material: http://redhat.lookbookhq.com/rhft2019-matome/65-25?lx=ChT-oZ

This time, I wanted to make the theme "Integration in corporate systems". The IT assets that have been accumulated over the years have become so complicated that it is difficult to grasp the whole, but I think that a solution can be found by looking at the system from a slightly larger perspective. So I asked the bold question, "Why don't you see the corporate system as an economic zone like the Silk Road?"

silkroad.png

In today's digital world, the term "digital twin" was coined from the manufacturing industry, and the fusion of the real world and the virtual world has progressed. This idea has permeated the activities of the organization, and I believe that the "organizational digital twin" will be the next system image to aim for. As that progresses, I think that Conway's law and reverse Conway's law will hold, in which if you want to change the organization, you can change the system at the same time, and if you change the system, you can flexibly change the organization. Until now, the system was not integrated with the organization in a rugged manner, and there was also an overwhelming phenomenon like ERP, in which the organization was rather adapted to the system.

digitaltwin.png

Ultimately, I think it would be good if the system could communicate as if humans communicated in business. There are two types of communication: synchronous communication (one-on-one conversation by face-to-face or telephone) and asynchronous communication (when you want to send multiple emails or have a group meeting), so the system is natural. There should be two communication methods. That means of communication is exactly the problem domain that should be solved by integration.

What is Apache Camel? I gave the explanation in this session, but I will omit the technical explanation in this blog. The point is that the grammar, etiquette, and wording necessary for human communication are organized, and it is a mechanism that makes it easier to communicate with the system.

camel.png

The system group divided into domains will evolve autonomously by acting like a nation with its own language and culture. Communication between nations naturally requires standardization that absorbs uniqueness, and Apache Camel plays an active role there. The system integration feature does not require data persistence (each subsystem guarantees persistence), making it suitable for serverless architectures. Therefore, Camel K, which is a serverless version of Apache Camel, has become a highly anticipated technology in the future.

microservice.png (Quote: Akabou Engineer Blog "Why Microservices and Messaging (Part 1)" https://rheb.hatenablog.com/entry/microservices_messaging)

Apache Camel is a very promising open source software with a lively community. JCUG (Japan Camel User Group) also holds a monthly reading party, so please join us and liven up the community.

Recommended Posts

Apache Camel in the cloud-native era
What's new in Apache Camel 2.19.0
I tried the new era in Java
A story about the JDK in the Java 11 era
Transaction management of the integrated framework "Apache Camel"
How to switch Java in the OpenJDK era on Mac
[Apache Camel] Use File component
Install the plugin in Eclipse
Apache POI Excel in Kotlin
JavaFX-Load Image in the background
Java DSL personal coding conventions used in Apache Camel route construction
What happened to the typical changes in Apache Wicket 8 after all?