2. ● Why = The purpose - What is
you cause? What do you belive
in?
● How = The Process - specifc
actions taken to realize the Why
● What = The result - what do
you do, the result of Why. Proof.
TED, Simon Sinek, May 2010
3. Why do we need
integration?
A integra = include, a (se) îngloba, a (se)
încorpora, a (se) armoniza într-un tot.
4.
5. Why EIP Where does complexity
come from?
Much of the complexity stems from two issues:
● dealing with the specifics of applications and
transports
● coming up with good solutions to integration
problems
6. The Book
● 65 design patterns
● Formalized language
● Covers:
○ Integration Styles
○ Messaging Systems
○ Message Construction
○ Message Routing
○ Message Transformation
○ Messaging Endpoints
○ System Management
7. EIPs in detail (1)
Message
Pipes and Filters
Message translator
Message router
Messaging Systems
8. EIPs in detail (2)
Point to Point channel
Publish Subscribe Channel
Dead letter queue
Guaranteed delivery
Messaging Channels
9. EIPs in detail (3)
Event message
Request reply
Correlation identifier
Return Address
Messaging Construction
10. EIPs in detail (4)
Content based router
Message filter
Dynamic router
Recipient list
Messaging Routing
19. Apache Camel
● java framework for integration and mediation
● rules in multiple DSLs:
○ Fluent Java
○ Spring XML
○ Blueprint XML
○ Scala
● over > 150 out-of-box components
● bean binding and integration with popular
frameworks
● active comunity ~ 900 messages/month
32. Camel ETL - sample
● read files from src/data/ directory
● convert content to PersonDocument class using TypeConvertor system
(JAXB)
● persist to DB using JPA component using TypeConvertor
● read from DB with JPA component as entity class
● convert entity to XML file with JAXB and File component
33. Transactional Client EIP
Make client session with messaging system transactional
● uses Spring transactions
● Transactional endpoints: JMS, ActiveMQ, AMPQ, JPA
Camel also supports Transactional Routes
39. Error Handling - Dead Letter Queue
● exceptions caught by Dead Letter Channel - which
decides either:
○ to redeliver
○ or send to dead letted queue
40. Camel BAM
● business activity monitoring framework
● monitor business processes across multiple exchanges
● works across different endpoints
For every purchase order created by A, B generates an invoice.
42. Tooling: Fuse IDE
● Eclipse based RedHat JBoss product
● build Camel routes graphically (Spring XML
DSL)
● import existing XML routes
● comes with pre-defined EIP building blocks
● view local and remote ActiveMq brokers,
Camel end-points and routes
● trace Camel routes at run-time