In this post I want to share with you how to implement a complete, end-to-end Content Based Routing solution using Apache Camel, AtlasMap and Quarkus as a developer platform, including: Drools DMN Engine, Kogito. Apache Kafka is used in this solution as a message broker. Content based routing overview Here is the Enterprise Integration Pattern (EIP) diagram of the flow, annotated with some details of the components used:
I’m an engineer working at the OSS solution center of Hitachi, Ltd. Hitachi, Ltd. is a company that provides IT services & platforms in Japan and other countries. In our organization, OSS solution center, we are working on providing the IT services with the OSS. In my case, I’m working on Keycloak, 3scale and Camel, providing the technical support and considering the use cases of them. And I’m also an open source contributor for Keycloak.
We are pleased to announce that Elevation Solutions has released a new component, camel-openhtmltopdf. With this component, your integrations can easily produce beautiful, pixel-perfect PDF documents from HTML, CSS and images. This component leverages the popular openhtmltopdf, which in turn builds on Apache PDFBox. Input HTML can be provided as a String, InputStream, or URI. For URIs, file, http, and https are supported. And there’s no need to worry if your markup is not compliant XHTML.
We’re happy to learn that a new open source project has been launched to add integration capabilities to AI applications. Built on Ray and Apache Camel, Rayvens from @IBMResearch enables data scientists to interface with hundreds of data services with little effort to consume, process, and produce events and data in real time. The project perfectly fits the mission of Camel K of bringing event sources and sinks to any platform that needs data.
Problem description Multicast is a powerful EIP which supports parallel execution paths in asynchronous manner. There are various ways a Camel user can configure a multicast EIP. Check out the extensive documentation here One can configure to execute all the child paths independently and continue routing the last reply as the outgoing message (default behavior unless you provide an aggregation strategy) Additionally, you can plug in an implementation of a Camel aggregation strategy with user-defined logic to aggregate the output from each of those child paths before continuing further downstream routing.
Change Data Capture (CDC) is a well-established software design pattern for a system that monitors and captures data changes, so that other software can respond to those events. Using a CDC engine like Debezium along with Camel integration framework, we can easily build data pipelines to bridge traditional data stores and new cloud-native event-driven architectures. The advantages of CDC comparing to a simple poll-based or query-based process are: All changes captured: intermediary changes (updates, deletes) between two runs of the poll loop may be missed.
Have you built a new great Web API for your product? Wouldn’t be wonderful to have it available as a part of the great Apache Camel component family? We would love it. The community just released Camel 3 which is more modular, lightweight and already includes lots of components (300+) to quickly integrate various systems consuming or producing data. All of these components can be used with the same integration domain specific language (DSL) based on the famous Enterprise Integration Patterns (EIPs).
I’ve been working at the European Commission for the last 4 years as a Software Architect, working for a unit responsible for developing reusable components, and advocating open source software. In this context, we organized already a couple of Hackathons and Bug bounties open to all the open source communities. In the team, we worked already a couple of times with Apache Camel, and I like the elegance and performance compared with other integration frameworks.