The Camel project from Apache(camel.apache.org), is a very popular, light weight, open source integration framework.
This presentation shows some interesting features of Camel and the unique advantages that Camel brings to your integration projects. Some business
use cases are shown to explain how Camel makes open source integration a cakewalk.
Table of contents:
1. An overview of Apache Camel
2. Integration architecture explained
3. Using Camel in different integration architectures
3.a. In the Securities domain
3.b. In the Travel domain
4. High Availability and Load Balancing with Camel
10. 10
Securities: Post Trade Processing
Sources Targets
Trading
Data Processing Solution Accounting
Applications Solution
Processing Nodes
Node1 Node2
File Splitter + Output
Post Trade Load Aggregator
Channels
Files Balancer
Node3 Node4
Risk
Trading Reference Data Management
Applications Solution
11. 11
Post Trade processing with Camel
Data Processing Solution
File Splitter Load Balancer
(Smooks) (Hardware/Software)
Sources Targets
Camel
EIP icons from www.eaipatterns.com
12. 12
Travel portal
Quote Provider
(Airline 1)
Data Processing Solution
Quote Order
Normalizer Manager
Browser
Pricing Portal
Aggregator Engine Server
Quote Provider
(Airline 2)
13. 13
Travel Portal with Camel
Data Processing Solution
Camel
Portal
Quotes
Server
Caching Order Pricing
Framework Database Manager Engine
EIP icons from www.eaipatterns.com
15. 15
Scaling with Camel
• Staged Event Driven Architecture(SEDA)
• Asynchronous API
• Multi-threaded flows
• Load balanced flows
16. 16
SEDA: In memory queues
Securities flow without SEDA Securities flow with SEDA
Receive
Thread 1
Receive
Thread 2
SEDA Queue 1
Validate
Thread 1
Validate
Normalize
Normalize
Enrich
SEDA Queue 2
Split Split Enrich
Thread 3
Route Route
17. 17
Asynch API
Travel portal flow without Asynch API Travel portal flow with Asynch API
Thread 2
Validate Validate
Thread 1
Thread 1
Persist Persist
Thread 3
Normalize Normalize
Send to OM Send to OM
Enrich Enrich
18. 18
Multi-threaded flows(routes)
Travel portal flow: Instance 1 Travel portal flow: Instance 2
Validate Validate
Thread 2
Thread 1
Persist Persist
Normalize Normalize
Send to OM Send to OM
Enrich Enrich
19. 19
Load balanced flows(routes): EIP
Travel portal flow without Load balancer Travel portal flow with Load balancer
Thread 1
Validate Validate
Thread 1
Persist Persist Persist
Thread 3
Thread 2
Normalize Normalize
Send to OM Send to OM
Enrich Enrich
20. 20
Summary
• The Swiss Army Knife of Integration
▫ Lightweight
▫ Multiple container support
▫ Developer friendly
▫ Feature rich(50+ technology adapters)
▫ Scalability
• Easy adoption in enterprises
▫ Development
▫ Testing
▫ Operations friendly
▫ License