Your SlideShare is downloading. ×
0
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Spring Integration JUG SummerCamp 2013

914

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
914
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Spring  Integra,on  in  Ac,on   Grégory  Boissinot   @gboissinot   20  septembre  2013   Jug  SummerCamp  
  • 2. Grégory  Boissinot   •  Directeur  technique  Zenika  Paris   •  Formateur  cer,fié  Springsource   •  CommiGer  Jenkins  
  • 3. L'intégra,on  avec  des  systèmes   externes  est  un  challenge   Difficulté  d'intégra,on  des   données  et  des  services  
  • 4. Spring  Integra,on   Une  brique  de  messaging  légère   •  "Pipe  and  Filter"  Architecture   – Message  (Data)   – Endpoint  (Filter)   – Channel  (Pipe)   •  Implémenta,on  non  monolithique,  à  base  de   messages   Channel  Endpoint   Message   Message   Endpoint   Source   ?   Target   ?   Endpoint   ...   Channel  
  • 5. Entreprise  Integra,on  PaGerns  (EIP)   •  Transformer   •  Router   •  Filter   •  SpliGer   •  Aggregator   •  ServiceAc,vator   •  Poller   •  etc   Spring  Integra,on  fournit     un  support  des  EIP  
  • 6. External   Business  Partener   Un  usage  intra  et  inter  applica,on   JVM   JVM   `   B2B   •   Business  to  Business  Integra,on  (B2B)   •   Inter  Applica,on  Integra,on  (EAI)   •   Intra  Applica,on  Integra,on   EAI   Core  Messaging   Applica,on  Integra,on  
  • 7. Spring  Integra,on   Une  plateforme  d'intégra,on  à  base   d'adaptateurs   APPLICATION   Adapter   Adapter   Adapter   JMS   Web  Services   RMI   XML   .  .  .  Spring  Integ.   Adapter   ...    hGp://www.springsource.org/extensions/se-­‐sia  
  • 8. Liste  des  adaptateurs   •  AMQP/RabbitMQ   •  HTTP  (REST)   •  Web  services  SOAP   •  JMS   •  JMX   •  JDBC   •  RMI   •  JPA   •  File/Resource   •  FTP  /  SFTP   •  MongoDB   •  Redis   •  XPath   •  TwiGer   •  etc  
  • 9. Exemples  de  cas  d'u,lisa,on  (1/2)   FILE   FILE   FILE   JMS  Queue   JMS  Consumer   JMS  Consumer   Flow  Spring  Integ.   JMS   File   File  Inbound  channel   Adpter   Outbound  channel   Adpter   Infra.  
  • 10. Exemples  de  cas  d'u,lisa,on  (2/2)   REST  API   DataStore   request  response   Flow  Spring  Integ.   Bean  Spring   Publish-­‐Subscribe   Channel   Synchronous  HTTP   Gateway   Endpoint   Outbound  channel   Adpter   Response    Channel   Service   Ac,vator  
  • 11. Un  modèle  de  programma,on  Spring   <!– Fichier Spring Application Context --> <!– Inbound Endpoint --> <int-file:inbound-channel-adapter id="inputChannel" directory="file:${input.directory}"> <int:poller task-executor="pool" fixed-delay="1000"> <transactional /> </int:poller> </int-file:ibound-channel-adapteur> <!– Pool de threads --> <task:executor id="pool" pool-size="10"/> <!– Pollable Channel --> <int:channel id="inputChannel" /> <!– Call Spring Java Bean --> <int:service-activator input-channel="pollableChannel" ref="myServiceBean" /> Dependency  Injec,on   Method   Invoca,on   Task  Scheduling  
  • 12. Déploiement   •  1  simple  librairie  non  invasive   •  Pas  de  container/serveur  (ou  de   broker)   •  Aucune  installa,on   •  Pas  de  configura,on  logicielle    <dependency>     <groupId>org.springframework.integra,on</groupId>     <ar,factId>spring-­‐integra,on-­‐core</ar,factId>     <version>${spring.integra,on.version}</version>   </dependency>   LIB   APPLICATION   Uses   Spring   Integra,on   Library  
  • 13. Spring  Integra,on  comme   "Middleware  Integra,on  plalorm"   AN  INETGRATION  APPLICATION   (with  only  Spring  Integra,on  Jars)   APPLICATION  A   APPLICATION  B   Exis,ng   Vendors   Future   Requirements   Adapter   Adapter   Adapter  Adapter  
  • 14. Le  Channel:  l'élément  central   •  Découple  le  producteur  et  le  consommateur   Producer   Message   Consumer  Message   •  En  mémoire  (Pas  de  broker  &  pas  de  persistance  par  défaut)   •  Facilite  le  "buffering"  et  les  mécanismes  d'intercep,on   •  Se  caractérise  par  ltype  de  "delivery"  et  le  type  de  "handoff"   Synchronous  Handoff   Asynchronous  Handoff   Producer   Consumer   Consumer   Consumer   Point-­‐to  Point  Delivery   Producer   Consumer   Consumer   Consumer   Publish-­‐Subscribe  Delivery  
  • 15. Spring  Integra,on  et  Spring  Batch   File   Spring  Batch  Admin   Spring  Integra,on   Spring  Batch   DB   Batch  Applica,on   Spring  Integra,on  en  tant  que  brique  addi,onnelle  à   Spring  Batch  
  • 16. Spring  Integra,on  et  Spring  Batch   Modèle  de  déléga,on   File   ItemReader   ItemProcessor   ItemWriter   Report   A  Spring  Integra,on  Flow   "Chunk-­‐oriented"   Step1   Step2   Spring  Batch   Gateway  
  • 17. Spring  Batch  et  Spring  Intégra,on   Modèle  par  "Évènement"   File   SI  JobLauncher   Endpoint   File   JobLauncherRequest   Spring  Batch   JobLauncher   Transformer   Spring  Integ.   Spring  Batch   Spring  integ.   Pollable  Inbound   Channel  Adapter  
  • 18. Scaling  Spring  Integra,on  Flow   "Claim  Check  PaGern"   Incoming  Claim   Check  transformer   Original   Object   UUID   Outgoing  Claim   Check  transformer   Original   Object   Message   Store   Original   Object   Generated     Key  ID    (UUID)  
  • 19. High  Availability  (HA)  Architecture   Inbound    Adapter   Inbound    Adapter   SI  Flow   SI  Flow   Compe,,ng  Consumers  Message  Queue   (JMS.,  RabbitMQ,   etc)   A  ac,ve  node    for  a  single     source   Default  is  round-­‐robin  load  balancer  with  failover   Threads   Thread  Pool   Dispatching   Message  
  • 20. Quelques  mots  sur  le  monitoring  
  • 21. Spring  Integra,on  Changelog   •  1.0.0:  Nov.  2008   •  2.0.0:  Nov.  2010     •  2.1.0:  Janv.  2012   •  2.2.0:  Mai  2013   •  ...   •  2.2.5:  Sept.  2013   •  3.3.0M3:  Sept.  2013   Deux  versions  en  //  
  • 22. Les  livres  du  marché  
  • 23. Conclusion   •  Brique  d'intégra,on  légère  à  base  de  messages   – Véritable  boîte  à  ou,ls  pour  la  mise  en  place  des  EIP   •  Extension  du  modèle  Spring   – Simplifie  le  développement   – Le  code  de  plomberie  de  messaging  et  de  threading  est   pris  en  charge   •  Très  simple  à  introduire  dans  son  système   d'informa,on   – Brique  logicielle  non  invasive   – Configura,on  déclara,ve  des  endpoints     •  Solide  plateforme  d'adaptateurs  pour  adresser  les     différentes  complexités  d'intégra,on  

×