Enterprise	
  Integra-on	
  Pa0erns	
  

Speaker:	
  Oleg	
  Tsal-­‐Tsalko	
  (@tsaltsol)	
  
The	
  Bible	
  	
  
of	
  	
  
Enterprise	
  Integra-on	
  Pa0erns	
  
Integra-on	
  styles	
  
Simplest	
  case	
  
Main	
  building	
  blocks:	
  
•  Endpoint	
  
•  Channel	
  
•  Message	
  
Message	
  types	
  
Message	
  a0ributes	
  
Correla-on	
  id:	
  
Return	
  address:	
  

Expira-on	
  -me:	
  
Main	
  message	
  exchange	
  styles	
  
Messaging	
  endpoints	
  
Messaging	
  Endpoints	
  
Compe-ng	
  consumers:	
  

Service	
  ac-vator:	
  
Message	
  router	
  
Pipes	
  and	
  Filters	
  
Spli0er	
  /	
  Aggregator	
  
Simple	
  Message	
  Transformers	
  
Compound	
  message	
  transformers	
  
System	
  management	
  	
  
Flow	
  intercep-ng	
  
Test	
  message	
  
Messaging	
  it	
  not	
  just	
  JMS	
  
Other	
  popular	
  protocols:	
  
•  AMQP	
  (Advanced	
  Message	
  Queuing	
  
Protocol)	
  
•  STOMP	
  (Simple	
  (or	
  Streaming)	
  Text	
  
Oriented	
  Message	
  Protocol)	
  	
  
…	
  
AMQP	
  
	
  	
  
STOMP	
  
Simple	
  protocol	
  for	
  asynchronous	
  message	
  passing	
  
Originally	
  created	
  for	
  scrip-ng	
  languages	
  (Python,	
  Ruby)	
  
Supported	
  by	
  message	
  brokers	
  
Suited	
  for	
  use	
  on	
  the	
  Web	
  (used	
  iover	
  WebSocket	
  protocol)	
  
Simple	
  stream	
  of	
  frames	
  over	
  TCP	
   Client-­‐to-­‐Server	
  commands:	
  
COMMAND	
  
header1:value1	
  
header2:value2	
  
	
  
Body^@	
  
	
  

SEND	
  
SUBSCRIBE	
  
UNSUBSCRIBE	
  
	
  
Server-­‐to-­‐Client	
  commands:	
  
MESSAGE	
  
ERROR	
  
ACK	
  
NACK	
  
Enterprise	
  Message	
  Brokers	
  
Frameworks	
  that	
  implements	
  EIPs	
  
Thank	
  you!	
  
Oleg	
  Tsal-­‐Tsalko	
  
Email:	
  oleg.tsalko@gmail.com	
  
Twi0er:	
  @tsaltsol	
  
	
  
	
  
	
  

Enterprise Integration Patterns