24
Enterprise Integra-on Pa0erns Speaker: Oleg TsalTsalko (@tsaltsol)

Enterprise Integration Patterns

Embed Size (px)

DESCRIPTION

Slides from my talk about Enterprise Integration Patterns for Kiev JUG, Fall 2013.

Citation preview

Page 1: Enterprise Integration Patterns

Enterprise  Integra-on  Pa0erns  

Speaker:  Oleg  Tsal-­‐Tsalko  (@tsaltsol)  

Page 2: Enterprise Integration Patterns

The  Bible    of    

Enterprise  Integra-on  Pa0erns  

Page 3: Enterprise Integration Patterns
Page 4: Enterprise Integration Patterns

Integra-on  styles  

Page 5: Enterprise Integration Patterns

Simplest  case  Main  building  blocks:  •  Endpoint  •  Channel  • Message  

Page 6: Enterprise Integration Patterns

Message  types  

Page 7: Enterprise Integration Patterns

Message  a0ributes  

Return  address:  

Expira-on  -me:  

Correla-on  id:  

Page 8: Enterprise Integration Patterns

Main  message  exchange  styles  

Page 9: Enterprise Integration Patterns

Messaging  endpoints  

Page 10: Enterprise Integration Patterns

Messaging  Endpoints  Compe-ng  consumers:   Service  ac-vator:  

Page 11: Enterprise Integration Patterns

Message  router  

Page 12: Enterprise Integration Patterns

Pipes  and  Filters  

Page 13: Enterprise Integration Patterns

Spli0er  /  Aggregator  

Page 14: Enterprise Integration Patterns

Simple  Message  Transformers  

Page 15: Enterprise Integration Patterns

Compound  message  transformers  

Page 16: Enterprise Integration Patterns

System  management    

Page 17: Enterprise Integration Patterns

Flow  intercep-ng  

Page 18: Enterprise Integration Patterns

Test  message  

Page 19: Enterprise Integration Patterns

Messaging  it  not  just  JMS  

Other  popular  protocols:  •  AMQP  (Advanced  Message  Queuing  Protocol)  •  STOMP  (Simple  (or  Streaming)  Text  Oriented  Message  Protocol)    

…  

Page 20: Enterprise Integration Patterns

AMQP  

   

Page 21: Enterprise Integration Patterns

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  

COMMAND  header1:value1  header2:value2    Body^@  

 

STOMP  

Client-­‐to-­‐Server  commands:  SEND  SUBSCRIBE  UNSUBSCRIBE    Server-­‐to-­‐Client  commands:  MESSAGE  ERROR  ACK  NACK  

Page 22: Enterprise Integration Patterns

Enterprise  Message  Brokers  

Page 23: Enterprise Integration Patterns

Frameworks  that  implements  EIPs  

Page 24: Enterprise Integration Patterns

Thank  you!  

Oleg  Tsal-­‐Tsalko  Email:  [email protected]  Twi0er:  @tsaltsol