Presented By: Shivam Roy & HarshVardhan
Introduction to
Apache Camel
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Silent Mode
Keep your mobile devices in silent
mode, feel free to move out of
session in case you need to attend
an urgent call.
Avoid Disturbance
Avoid unwanted chit chat during
the session.
Our Agenda
01 What is EAI/EIP
02 Introduction to Apache Camel
03 Features
04 Architecture
05 Demo
2018
What is EAI?
Enterprise application integration (EAI) is
the task of uniting the databases and
workflows associated with business
applications to ensure that the business
uses the information consistently and
that changes to core business data
made by one application are correctly
reflected in others.
EAI provides a methodology that helps these disparate applications share data
and workflows to reduce manual steps and errors and to provide better insight
into organizational data.
2018
What is EIP?
EIPs (in short) are known design patterns that provide solutions to
issues/problems faced during application integration.
Need of EIP:
● Applications are heterogeneous in nature, they are developed using
different languages, runs on different OS’es, understand different
data formats.
● Applications undergo a lot of change, they are subjected to upgrades,
and their API’s change over time.
● They need to exchange data over networks in a reliable and secure
manner.
2018
Introduction to Apache Camel
Apache Camel is an integration
library for Java. It provides a set
of Java APIs which help you
integrate and process data
between different computer
systems. In other words, Camel is
like the glue between different
applications.
2018
What is Apache Camel used for?
Whenever you need to move data from A to B, you can probably
use Apache Camel.
Using Apache Camel we can do the following:
● Pick up invoices .
● Moving document.
● Invoking a web service.
● Turn some XML documents into CSV files.
● Make a web service.
2018
Features of Apache Camel
Apache Camel provides the following features.
1. Lightweight Open Source
2. Easy Configuration
3. Routing and Mediation Engine
4. A domain-specific language (DSL)
5. Enterprise integration patterns (EIPs)
Architecture of Apache Camel
2018
Camel Context
● Camel provides a runtime engine, called the Camel Context, which
runs your integrations. It’s kind of like a mini application server,
embedded inside your Java application.
● The Camel Context runs your integrations and
is generally responsible for moving data
through the system.
● The simplest way of starting Camel is to create
an instance of DefaultCamelContext (which
implements the CamelContext interface) and
call the start method:
CamelContext context = new DefaultCamelContext();
context.start();
2018
Route
A route usually consists of a series
of steps. The first step receives or
fetches some data, and then the
data is passed through subsequent
steps to the end of the route.
A simple route definition looks
something like this (in Camel’s Java
syntax):
from("file:documents/invoices") .to("file:documents/done");
2018
Endpoint
● In Camel, an Endpoint is an
interface through which Camel
exchanges a message with
another system. Camel can
receive a message from an
Endpoint, or send a message to
an Endpoint.
● Endpoints are the physical
representations of the external
applications in your routes, and
you declare them using a URI.
2018
Component
● To allow Camel to create an Endpoint, it uses a Component.
● A Component is simply a specialised plug that allows you to
connect to an external system, such as a file on disk, a mailbox, or
an application like Dropbox or Twitter.
2018
Processor
A processor is usually a Java class that implements camel’s
Processor interface.
You might use a processor to:
● Perform your own custom actions that can’t be performed using
Camel features.
● Implement some basic business logic.
● Call out to another system or Java API.
2018
Apache Camel Dependency
Here is the dependency for Apache camel using spring boot:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>3.17.0</version>
</dependency>
DEMO
Thank You !
Get in touch with us:
Lorem Studio, Lord Building
D4456, LA, USA

Introduction to Apache Camel.pdf

  • 1.
    Presented By: ShivamRoy & HarshVardhan Introduction to Apache Camel
  • 2.
    Lack of etiquetteand manners is a huge turn off. KnolX Etiquettes Punctuality Respect Knolx session timings, you are requested not to join sessions after a 5 minutes threshold post the session start time. Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call. Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3.
    Our Agenda 01 Whatis EAI/EIP 02 Introduction to Apache Camel 03 Features 04 Architecture 05 Demo
  • 4.
    2018 What is EAI? Enterpriseapplication integration (EAI) is the task of uniting the databases and workflows associated with business applications to ensure that the business uses the information consistently and that changes to core business data made by one application are correctly reflected in others. EAI provides a methodology that helps these disparate applications share data and workflows to reduce manual steps and errors and to provide better insight into organizational data.
  • 5.
    2018 What is EIP? EIPs(in short) are known design patterns that provide solutions to issues/problems faced during application integration. Need of EIP: ● Applications are heterogeneous in nature, they are developed using different languages, runs on different OS’es, understand different data formats. ● Applications undergo a lot of change, they are subjected to upgrades, and their API’s change over time. ● They need to exchange data over networks in a reliable and secure manner.
  • 6.
    2018 Introduction to ApacheCamel Apache Camel is an integration library for Java. It provides a set of Java APIs which help you integrate and process data between different computer systems. In other words, Camel is like the glue between different applications.
  • 7.
    2018 What is ApacheCamel used for? Whenever you need to move data from A to B, you can probably use Apache Camel. Using Apache Camel we can do the following: ● Pick up invoices . ● Moving document. ● Invoking a web service. ● Turn some XML documents into CSV files. ● Make a web service.
  • 8.
    2018 Features of ApacheCamel Apache Camel provides the following features. 1. Lightweight Open Source 2. Easy Configuration 3. Routing and Mediation Engine 4. A domain-specific language (DSL) 5. Enterprise integration patterns (EIPs)
  • 9.
  • 10.
    2018 Camel Context ● Camelprovides a runtime engine, called the Camel Context, which runs your integrations. It’s kind of like a mini application server, embedded inside your Java application. ● The Camel Context runs your integrations and is generally responsible for moving data through the system. ● The simplest way of starting Camel is to create an instance of DefaultCamelContext (which implements the CamelContext interface) and call the start method: CamelContext context = new DefaultCamelContext(); context.start();
  • 11.
    2018 Route A route usuallyconsists of a series of steps. The first step receives or fetches some data, and then the data is passed through subsequent steps to the end of the route. A simple route definition looks something like this (in Camel’s Java syntax): from("file:documents/invoices") .to("file:documents/done");
  • 12.
    2018 Endpoint ● In Camel,an Endpoint is an interface through which Camel exchanges a message with another system. Camel can receive a message from an Endpoint, or send a message to an Endpoint. ● Endpoints are the physical representations of the external applications in your routes, and you declare them using a URI.
  • 13.
    2018 Component ● To allowCamel to create an Endpoint, it uses a Component. ● A Component is simply a specialised plug that allows you to connect to an external system, such as a file on disk, a mailbox, or an application like Dropbox or Twitter.
  • 14.
    2018 Processor A processor isusually a Java class that implements camel’s Processor interface. You might use a processor to: ● Perform your own custom actions that can’t be performed using Camel features. ● Implement some basic business logic. ● Call out to another system or Java API.
  • 15.
    2018 Apache Camel Dependency Hereis the dependency for Apache camel using spring boot: <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-starter</artifactId> <version>3.17.0</version> </dependency>
  • 16.
  • 17.
    Thank You ! Getin touch with us: Lorem Studio, Lord Building D4456, LA, USA