Saturday, March 4, 2017

What is Apache Camel

In this article we will learn and understand what is Apache Camel and how to use Camel and what is need of Apache Camel. We will discuss all these questions. Now,let me define what is Apache Camel?

Apache Camel is an Open Source integration framework that aims to make integrating system easier. We depend daily on multitude of such integrated systems,making possible everything from phone communications,financial transactions,and healthcare to travel planning and entertainment.

Camel's focus is on simplifying integration. A Camel framework is a routing engine. It allows you to define a routing rules,decides from which sources to accept messages,and determine how to process and send those messages to other destinations.

Camel lets you create the Enterprise Integration patterns to implement routing rules in either a Java based Domain Specific Language(DSL) or via Spring based XML Configuration files or Via Scala DSL. Apache Camel is small library which has minimal dependencies for easy embedding in any java application. Apache Camel has powerful Bean binding  and can easily integrated with popular framework such as Spring.

what is the need of Camel:

The Camel contains rich set of features. The following features are the main ideas behind camel.

Routing and mediation engine:

The core feature of Camel is Routing and mediation engine. A Routing engine will selectively move a message around and based on route's configuration.

Domain Specific Language(DSL):

Camel DSL is  a major contribution to the integration space. Camel is unique because it offers multiple DSLs in regular programming languages such as Java,Groovy,Scala. The main purpose of DSL is to allow the developer to focus on the integration problem rather than on the tool the programming language.

Pojo Model:

POJO's (Beans)are simply ordinary class in Camel. You can use these classes anywhere in your integration project.

Easy Configuration:

In order to configure endpoint directly in routes,Camel uses an easy and intuitive URI configuration. 

Modular and pluggable Architecture:

Camel has a modular architecture,which allows any component to be loaded into Camel,regardless of whether the component ship with Camel,is from a third party, or is your own custom creation.

Test Kit:

Camel provides a Test Kit that makes you to test your Camel application in easy way.

Lightweight:

Camel is very Lightweight with total library coming in at about 1.6MB. This makes camel easy embed and deploy anywhere you like,such as standalone application,Spring application,JEE application,web application,Google App engine etc..







No comments:

Post a Comment

High Paying Jobs after Learning Python

Everyone knows Python is one of the most demand Programming Language. It is a computer programming language to build web applications and sc...