camel

Getting Started with Global Beans in Fuse Tooling 10.0.0

Getting Started with Global Beans in Fuse Tooling 10.0.0

Red Hat JBoss Fuse provides an open source, lightweight, modular platform that enables you to connect a variety of services and systems across your application environment. And, included with Red Hat JBoss Developer Studio, is the Fuse Tooling that helps you take advantage of that platform.

The route editor initially focused on the parts of the Camel configuration inside the route or Camel context element, but in version 8.0.0, we began adding support for global elements such as data formats and endpoints on the Configurations tab. With the 10.0 release, we add support for beans that are outside the route.

Continue reading “Getting Started with Global Beans in Fuse Tooling 10.0.0”

Share
How to run FIS 2.0 application using  source S2I deployment procedure

How to run FIS 2.0 application using source S2I deployment procedure

This article describes how to create and deploy an FIS 2.0 project using the s2i source workflow. It creates a project from scratch and using github repository one can deploy their FIS 2.0 camel and spring-boot based project to an Openshift environment. Below are the steps in the sequence, which should be followed to deploy the application easily.

Continue reading “How to run FIS 2.0 application using source S2I deployment procedure”

Share
Graphical Camel Debug for Servers and Cloud Deployments Architecture in Fuse Tooling 9.2.0

Graphical Camel Debug for Servers and Cloud Deployments Architecture in Fuse Tooling 9.2.0

Red Hat JBoss Fuse is an open source, lightweight and modular integration platform that allows you to connect services and systems across your entire application portfolio. And if you’re familiar with Fuse, you’re probably familiar with the Fuse Tooling that comes with Red Hat JBoss Developer Studio.

Continue reading “Graphical Camel Debug for Servers and Cloud Deployments Architecture in Fuse Tooling 9.2.0”

Share
The Camel Rest DSL

The Camel Rest DSL

Camel

Apache Camel is a piece of JBoss Fuse.  It is an open source integration framework with a variety of components to fit your integration needs.  Camel is a Java-based implementation of the Enterprise Integration Patterns based on a book by Gregor Hohpe and Bobby Woolf.  Camel includes components for HTTP, Files, FTP, JMS, JDBC, AWS, and much more.  While Camel can be used for many different purposes, this post will focus on the REST DSL specifically.

Continue reading “The Camel Rest DSL”

Share
Microservices: Zero Downtime Deployment; Hot reconfiguration on OpenShift

Microservices: Zero Downtime Deployment; Hot reconfiguration on OpenShift

2017: Time for a new resolution and the most important resolution for this year should be to adopt microservices to spend less effort on development and improve your time to market (TTM). Nowadays, there are plenty of tools and frameworks at the disposal of the discerning developer to rapidly build microservices. A few examples include Spring Boot, Vertx, etc.

Continue reading “Microservices: Zero Downtime Deployment; Hot reconfiguration on OpenShift”

Share

Getting started with Apache Camel and the Internet of Things

When I was first introduced to Java Enterprise Integration, the ServiceMix platform was transitioning to OSGi (ServiceMix Version 4.0). From its origins in embedded systems and mobile devices, the OSGi standard promoted many qualities that were advantageous to the Enterprise (flexible, modular, life cycle management, services, security) so under this umbrella the tenants of the stack Apache Camel, Apache ActiveMQ, and Apache CXF flourished.

Apache ServiceMix is a flexible, open-source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB exclusively powered by OSGi.”

Fast forward a number of years, and now the Internet of Things (IoT) is proliferating across embedded devices. Small single-board computers such as the Raspberry Pi and BeagleBone have made the entry into building an IoT solution much more accessible because of their low cost, support in the open source community, and growing support for devices and sensors. At the same time, JBoss Fuse (with its ServiceMix and Fabric lineage) has become central to Enterprise Integration.

So now is the time for Enterprise Integration to go full circle and contribute back to these Embedded Systems. Apache Camel, an implementation of the Enterprise Integration Platterns, is a perfect choice to assist a developer in communicating with these devices and sensors. Out of the box, message mediation, routing, transformation, along with a set of patterns (throttling/sync/asynch) to implement on a message endpoint is possible. But to make this a full solution, Camel Components are required to interface with new standards such as Raspberry Pi GPIO, I2C, Tinkerforge, as well as support for gateway frameworks such as Eclipse Kura (OSGi based). And once the device/sensor information is available, this information needs to be communicated via a set of backend services through a protocol of your choice.

This is the premise behind Rhiot, which is now being rolled in Eclipse Kura and Eclipse Kapua.

Founded by Claus Ibsen, Rob Davies, Greg, and Henryk Konsek this project initially started as Camel IoT Labs, but as the scope went beyond just camel the project was renamed to Rhiot. The documentation for the project can found at gitbooks.

This article will now document how to get Rhiot up and running on a Raspberry Pi.

Continue reading “Getting started with Apache Camel and the Internet of Things”

Share

Microservices: Comparing DIY with Apache Camel

Microservices are currently enjoying immense popularity. It is rare to find a tech conference without at least a few mentions of them in corridor conversations or titles of talks, and for good reason: microservices can provide a path to better, more maintainable, higher quality software delivered faster. What’s not to love?

Of course there are the “negatives” and details in the implementation of microservices that can trip up even the most seasoned architect-developer, but at the same time we are collectively learning from mistakes and creating or reusing fantastic open source projects and products that can help smooth over those rough bits.

One such project is Apache Camel (and Fuse, its Red Hat-supported distribution.) Created way before the microservices revolution, Apache Camel was born to ease integration of disparate computing systems by implementing well-tested enterprise integration patterns (EIPs) and supplying a developer-friendly interface for writing code to do the integration.

Continue reading “Microservices: Comparing DIY with Apache Camel”

Share

Create Resilient Camel applications with Hystrix

Apache Camel is a mature integration library (over 9 years old now) that implements all the patterns from Enterprise Integration Patterns book, but Camel is not only an EIP implementation library, it is a modern framework that constantly evolves, adds new patterns and adapts to the changes in the industry.

Apart from tens of connectors added in each release, Camel goes hand-in-hand with the new features provided by the new versions of Java language itself and other Java frameworks. With time some architectural styles such as SOA and ESB lose attraction and new architectural styles such as REST, Microservices get popular.

To enable developers do integrations using these new trends, Camel responds by adding new DSLs such the REST DSL and new patterns such as the Circuit Breaker, and components such as Spring Boot, and that’s not all and we are nowhere near done. With technologies such as linux containers and Kubernetes, the IT industry is moving forward even faster now, and Camel is evolving in order to ease the developers as it always has been.

Continue reading “Create Resilient Camel applications with Hystrix”

Share