Camel

CAMEL

CAMEL is Open Source based and can easily implement all kinds of integration patterns required by Enterprise based on XML.

Product Descriptions

Camel is Open Source based and can easily implement all kinds of integration patterns required by Enterprise based on XML.

Camel Context

Routing Engine

A DSL wires together endpoints and

processors to form routes

Route 1

Route 2

Route N

Message filter processor

Content based

Router Processor

File

JMS

HTTP

Processors

Handle things between endpoints

such as :

- Routing

- Transformation

- Mediation

- Enrichment

- Validation

- Interception

Components

- Provide an uniform endpoint interface

- Connect to other systems

Feature

Low cost and high efficiency

Implements a variety of integrations based on Open Source, and the

entire environment can be configured without an additional solution.

Standard interface

All technologies, such as OSGi, Web Service, Database, HTTP, RESTFul,

are standards-compliant and standardization services can be setwith

integrated systems.

DSL-based services

Routing service configuration is possible to develop all services based

on XML in the Domain Specific Language (DSL) format.

Endpoint(Adapter) service development is defined

in the URL format and configured with the Routing service

Stable technical support

Actively respond to IT changes through continuous updating that

meets new technology development.

Routing and mediation engines

The core functions are the Routing and Mediation engines.

The routing engine selectively moves messages based on the message

settings. Routing is defined by a combination of the Enterprise

Integration Pattern (EIP) and the Domain Specific Language (DSL).

Rich component library

Provide more than 100 components as extension libraries, and these

components are used to connect transports. It uses Adapter,

the common solution.

PLUGGABLE architecture

Camel is based on a modular architecture. All components can be

loaded from Camel, regardless of which components are included in

the Camel, 3rd Party components, or components you have created

yourself.

POJO model

Beans (or POJOs) are very important in Camel. Camel supports Beans

to be used anytime and anywhere in the integrated project, which

means that the basic functionality of Camel can be expanded to

custom codein many ways.

Easy configuration

Minimize the setting for CoC (Convention Over Configuration). Setting

Endpoint (Adapter) of Route is easy and provides an intuitive URI scheme.

Active community

Camel has an active community. This is important for projects that

use open source.

Automatic type conversion

Camel has many built-in type conversion mechanisms. When a new

type conversion is needed, you can create your own type converter,

and type conversion is done automatically, so developers do not have

to worry about it. Camel components also take advantage of these

features, so various typesof components can be converted into data

types that can be used.

Main Function

Supports all Enterprise Integration

Simple

Composed

1 message at a time

stateless

n messages at a time

stateful

Parallel

Sequential

Single message

out

n messages

out

1 message

0 or 1 message

Parallel

Sequential

Less messages out

Same number of messages

out

Split messages

Broadcast messages

Predetermined, linear

Any path

Content Based

Router

Message Filter

Recipient List

Splitter

Aggregator

Resequencer

Composed

Message Processor

Scatter-Gather

Routing Slip

Process

Manager

Types of integration

Message Channel

Message

Channel

Sender

Application

Messaging

System

Receiver

Application

Message

Sender

Message

Receiver

Pipes and Filters

Incoming

Order

Pipe

Pipe

Pipe

Pipe

Filter

Filter

Filter

‘Clean’

Order

Decrypt

Authenticate

De-Dup

Message Router

inQueue

Message

Router

outQueue 1

outQueue 2

Message Translator

Incomming

Message

Translator

Translated

Message

Message Endpoint

Data

Message

Endpoint

Sender

Application

Message

Channel

Message

Endpoint

Data

Receiver

Application

Point to Point Channel

Sender

Order

#3

Order

#2

Order

#1

Order

#3

Order

#2

Order

#1

Receiver

Point-top-Point

Channel

Publish Subscribe

Channel

Publisher

Address

Changed

Address

Changed

Address

Changed

Address

Changed

Subscriber

Subscriber

Subscriber

Publish Subscribe

Channel

Dead Letter Channel

Sender

Message

Channel

Reroute Delivery

Delivery Fails

Intended

Receiver

Dead Letter

Channel

Dead

Message

Guaranteed Delivery

Sender

Receiver

Disk

Disk

Computer 01

Computer 02

Message Bus

Application

Application

Application

Message

Bus

Event Message

Subject

Event

Message

Obsever

Obsever

Obsever

= a Price Changed Event

Request Reply

Requestor

Request

Request

Channel

Reply

Channel

Reply

Replier

Correlation Identifier

Correlation

Message ID

Requests

Requestor

Relies

Replier

Correlation ID

Return Address

Requestor 1

Requestor 2

Reply

Channel1

Reply

Channel2

Reply

Channel1

Reply

Channel2

Request

Channel

Replier

Request

Reply

Reply

Content Based Router

New Order

Router

Widget

Inventory

Gadget

Inventory

Message Filter

Widget

Quote

Gadget

Quote

Widget

Quote

Message

Filter

Widget

Quote

Widget

Quote

Dynamic Router

Input Channel

Dynamic Router

Message Router

Dynamic Rule Base

Output Channel

Output Channel

Output Channel

Control Channel

Recipient List

Recipient List

Recipient Channel

Splitter

New Order

Splitter

Order

Item1

Order

Item2

Order

Item3

Aggregator

Inventory

Item1

Inventory

Item2

Inventory

Item3

Aggregator

Inventory

Order

Resequencer

Resequencer

Composed

Message Processor

New Order

Splitter

Router

Widget Inventory

Gadget Inventory

Aggregator

Validated

Order

Routing Slip

Attach Routing Slip

to Message

Route Message

According to Slip

Proc A

Proc B

Proc C

Wire Tap

Source

Wire Tap

Destination

Content Enricher

Basic Message

Enriched Message

Enricher

Resource

Content Filter

Message

Content Filter

Message

Claim Check

Message

W Data

Message

W Claim Check

Message

W Data

Check Luggage

Data Enricher

Data Store

Normalizer

Different Message

Formats

Router

Normalizer

Translators

Common Format

Event Driven Consumer

Sender

Message

Event-Driven

Consumer

Receiver

Polling Consumer

Sender

Message

Polling

Consumer

Receiver

Competing Consumers

Sender

Message

Consumer

Consumer

Receiver

Consumer

Receiver

Message Dispatcher

Sender

Messages

Message

Dispatcher

Performer

Performer

Performer

Receiver

Selective Consumer

Specifying

Producer

Messages with

Selection Values

Selective

Consumer

Receiver

Component Sort

Configuration

Spring

JtaTransaction

Manager

Orchestrates

1)Begin

2)Commit

Orchestrates

JMS

broker

JMS

queue

Transform

JDBC

Transaction required

Camel

Database

Camel-Route

Order.csv

String

CSV

SPiter

Content

Based

Router

Apache Camel supports building enterprise integration

environments using a variety of standardization

technologies.

Apache ActiveMQ

Reliable and stable Message Broker that is used in many

systems

Apache CXF

Supports Smart web services (JAX-WS and JAX-RS)

Apache Karaf

As OSGi Platform, it can operate all kinds of applications

and manage the life cycle of a bundle (Install, Uninstall,

Start, Stop in bundle unit in run-time environment)

Apache MINA

Supports NIO-driven networking services ensuring high

performance

Top button