SlideShare a Scribd company logo
1 of 43
Download to read offline
Architecting cloud-enabled
               applications using Spring-
                    Integration 2.x
                                 Edson Yanaga
                             Desenvolvedor e Consultor
                              www.yanaga.com.br
                             edson@yanaga.com.br
                                @edsonyanaga


Wednesday, December 14, 11
Edson Yanaga
                 •      Bacharel em Ciência da Computação/UEM
                 •      Mestre em Engenharia Elétrica/UTFPR
                 •      Desenvolvedor Java desde 1997
                 •      Administrador Unix desde 1999
                 •      Oracle Certified Professional, Java Platform, Enterprise
                        Edition 6 Enterprise JavaBeans Developer
                 •      Certified ScrumMaster
                 •      Sun Certified Developer for Java Web Services 5
                 •      Sun Certified Specialist for NetBeans IDE
                 •      Sun Certified Web Component Developer for J2EE 1.4
                 •      Sun Certified Programmer for Java 2 Platform 1.4


Wednesday, December 14, 11
O que é
       Enterprise
      Integration?
         Tarefa de fazer com
           que aplicações
        separadas trabalhem
        juntas para fornecer
         uma funcionalidade



Wednesday, December 14, 11
Critérios de integração
                 • Acoplamento
                 • Simplicidade
                 • Tecnologia
                 • Formato dos dados
                 • Sazonalidade dos dados
                 • Assincronicidade

Wednesday, December 14, 11
Opções de integração
Wednesday, December 14, 11
Cloud
           Computing
            Integração e
          portabilidade de
             aplicações



Wednesday, December 14, 11
“O Livro”
Wednesday, December 14, 11
Aplicação




Wednesday, December 14, 11
Aplicação        Splitter   Router




Wednesday, December 14, 11
Aplicação        Splitter   Router




Wednesday, December 14, 11
Aplicação        Splitter   Router




Wednesday, December 14, 11
Aplicação        Splitter   Router




Wednesday, December 14, 11
Aplicação        Splitter   Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Splitter               Router




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Router                      Aggregator




Wednesday, December 14, 11
Outros Endpoints

                 • Filter: decide se a mensagem continua ou não
                 • Transformer: transforma o conteúdo de uma
                        mensagem de um formato para outro formato

                 • Delayer: atrasa a entrega da mensagem
                 • ...



Wednesday, December 14, 11
Spring Integration


                 • É a implementação
                      dos Enterprise
                      Integration Patterns
                      fornecida pela
                      SpringSource




Wednesday, December 14, 11
<XML/>
           Configuração
          através de XML




Wednesday, December 14, 11
XML na dose
       certa
      Quanto uma criança
      ganha um martelo,
        o mundo inteiro
       torna-se pregos...



Wednesday, December 14, 11
AWS
        Plataforma de
       cloud computing
      (IaaS) da Amazon



Wednesday, December 14, 11
Principais Serviços


                 • S3 (Simple Storage Service)
                 • EC2 (Elastic Compute Cloud)
                 • SQS (Simple Queue Service)
                 • ...



Wednesday, December 14, 11
DEMO



Wednesday, December 14, 11
#javaonebrasil




Wednesday, December 14, 11
Transformer
     #javaonebrasil
                             (JSON -> POJO)




Wednesday, December 14, 11
Transformer     Splitter
                     (JSON -> POJO)    (urls)




Wednesday, December 14, 11
Splitter       Filter
                   (urls)    (idempotente)




Wednesday, December 14, 11
Filter         ServiceActivator
          (idempotente)           (SQS)




Wednesday, December 14, 11
ServiceActivator
                                   (S3)




Wednesday, December 14, 11
Let the code begin...



Wednesday, December 14, 11

More Related Content

Viewers also liked

Viewers also liked (11)

JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers
 
High Performance Data Storage in a Microservices Environment
High Performance Data Storage in a Microservices EnvironmentHigh Performance Data Storage in a Microservices Environment
High Performance Data Storage in a Microservices Environment
 
Containers: Under The Hood (Vincent Batts)
Containers: Under The Hood (Vincent Batts)Containers: Under The Hood (Vincent Batts)
Containers: Under The Hood (Vincent Batts)
 
MicroServices for Java Developers
MicroServices for Java Developers MicroServices for Java Developers
MicroServices for Java Developers
 
Kubernetes for Java Developers
 Kubernetes for Java Developers Kubernetes for Java Developers
Kubernetes for Java Developers
 
DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)
 
The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B and Canary
The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B and CanaryThe Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B and Canary
The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B and Canary
 
Reactive Distributed Applications with Vert.x
Reactive Distributed Applications with Vert.xReactive Distributed Applications with Vert.x
Reactive Distributed Applications with Vert.x
 
Java and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with ContainersJava and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with Containers
 
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
 
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
 

Similar to Architecting cloud-enabled applications using Spring-Integration 2.x

OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
Theo Schlossnagle
 
Design process
Design processDesign process
Design process
Tim Wright
 
TripCase Unit Testing with Jasmine
TripCase Unit Testing with JasmineTripCase Unit Testing with Jasmine
TripCase Unit Testing with Jasmine
Stephen Pond
 
Prince Building Tech Talk 12102012
Prince Building Tech Talk 12102012Prince Building Tech Talk 12102012
Prince Building Tech Talk 12102012
Andy Parsons
 

Similar to Architecting cloud-enabled applications using Spring-Integration 2.x (20)

SEMLIB Final Conference | Net7 presentation
SEMLIB Final Conference | Net7 presentationSEMLIB Final Conference | Net7 presentation
SEMLIB Final Conference | Net7 presentation
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
 
Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5
 
Design process
Design processDesign process
Design process
 
CloudFoundry and MongoDb, a marriage made in heaven
CloudFoundry and MongoDb, a marriage made in heavenCloudFoundry and MongoDb, a marriage made in heaven
CloudFoundry and MongoDb, a marriage made in heaven
 
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Grids
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet Design
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)
 
Empowering the Social Web with Apache Shindig
Empowering the Social Web with Apache ShindigEmpowering the Social Web with Apache Shindig
Empowering the Social Web with Apache Shindig
 
Questions sur le Cloud à Sacha Labourey
Questions sur le Cloud à Sacha LaboureyQuestions sur le Cloud à Sacha Labourey
Questions sur le Cloud à Sacha Labourey
 
Fast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browserFast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browser
 
Cartoset
CartosetCartoset
Cartoset
 
TripCase Unit Testing with Jasmine
TripCase Unit Testing with JasmineTripCase Unit Testing with Jasmine
TripCase Unit Testing with Jasmine
 
Using Apache Cassandra: What is this thing, and how do I use it?
Using Apache Cassandra: What is this thing, and how do I use it?Using Apache Cassandra: What is this thing, and how do I use it?
Using Apache Cassandra: What is this thing, and how do I use it?
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPress
 
Software Libraries And Numbers
Software Libraries And NumbersSoftware Libraries And Numbers
Software Libraries And Numbers
 
Prince Building Tech Talk 12102012
Prince Building Tech Talk 12102012Prince Building Tech Talk 12102012
Prince Building Tech Talk 12102012
 
Big app design for Node.js
Big app design for Node.jsBig app design for Node.js
Big app design for Node.js
 
NATO IST Symposium 2013
NATO IST Symposium 2013NATO IST Symposium 2013
NATO IST Symposium 2013
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Architecting cloud-enabled applications using Spring-Integration 2.x

  • 1. Architecting cloud-enabled applications using Spring- Integration 2.x Edson Yanaga Desenvolvedor e Consultor www.yanaga.com.br edson@yanaga.com.br @edsonyanaga Wednesday, December 14, 11
  • 2. Edson Yanaga • Bacharel em Ciência da Computação/UEM • Mestre em Engenharia Elétrica/UTFPR • Desenvolvedor Java desde 1997 • Administrador Unix desde 1999 • Oracle Certified Professional, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer • Certified ScrumMaster • Sun Certified Developer for Java Web Services 5 • Sun Certified Specialist for NetBeans IDE • Sun Certified Web Component Developer for J2EE 1.4 • Sun Certified Programmer for Java 2 Platform 1.4 Wednesday, December 14, 11
  • 3. O que é Enterprise Integration? Tarefa de fazer com que aplicações separadas trabalhem juntas para fornecer uma funcionalidade Wednesday, December 14, 11
  • 4. Critérios de integração • Acoplamento • Simplicidade • Tecnologia • Formato dos dados • Sazonalidade dos dados • Assincronicidade Wednesday, December 14, 11
  • 6. Cloud Computing Integração e portabilidade de aplicações Wednesday, December 14, 11
  • 9. Aplicação Splitter Router Wednesday, December 14, 11
  • 10. Aplicação Splitter Router Wednesday, December 14, 11
  • 11. Aplicação Splitter Router Wednesday, December 14, 11
  • 12. Aplicação Splitter Router Wednesday, December 14, 11
  • 13. Aplicação Splitter Router Wednesday, December 14, 11
  • 14. Splitter Router Wednesday, December 14, 11
  • 15. Splitter Router Wednesday, December 14, 11
  • 16. Splitter Router Wednesday, December 14, 11
  • 17. Splitter Router Wednesday, December 14, 11
  • 18. Splitter Router Wednesday, December 14, 11
  • 19. Splitter Router Wednesday, December 14, 11
  • 20. Splitter Router Wednesday, December 14, 11
  • 21. Router Aggregator Wednesday, December 14, 11
  • 22. Router Aggregator Wednesday, December 14, 11
  • 23. Router Aggregator Wednesday, December 14, 11
  • 24. Router Aggregator Wednesday, December 14, 11
  • 25. Router Aggregator Wednesday, December 14, 11
  • 26. Router Aggregator Wednesday, December 14, 11
  • 27. Router Aggregator Wednesday, December 14, 11
  • 28. Router Aggregator Wednesday, December 14, 11
  • 29. Router Aggregator Wednesday, December 14, 11
  • 30. Outros Endpoints • Filter: decide se a mensagem continua ou não • Transformer: transforma o conteúdo de uma mensagem de um formato para outro formato • Delayer: atrasa a entrega da mensagem • ... Wednesday, December 14, 11
  • 31. Spring Integration • É a implementação dos Enterprise Integration Patterns fornecida pela SpringSource Wednesday, December 14, 11
  • 32. <XML/> Configuração através de XML Wednesday, December 14, 11
  • 33. XML na dose certa Quanto uma criança ganha um martelo, o mundo inteiro torna-se pregos... Wednesday, December 14, 11
  • 34. AWS Plataforma de cloud computing (IaaS) da Amazon Wednesday, December 14, 11
  • 35. Principais Serviços • S3 (Simple Storage Service) • EC2 (Elastic Compute Cloud) • SQS (Simple Queue Service) • ... Wednesday, December 14, 11
  • 38. Transformer #javaonebrasil (JSON -> POJO) Wednesday, December 14, 11
  • 39. Transformer Splitter (JSON -> POJO) (urls) Wednesday, December 14, 11
  • 40. Splitter Filter (urls) (idempotente) Wednesday, December 14, 11
  • 41. Filter ServiceActivator (idempotente) (SQS) Wednesday, December 14, 11
  • 42. ServiceActivator (S3) Wednesday, December 14, 11
  • 43. Let the code begin... Wednesday, December 14, 11