SlideShare une entreprise Scribd logo
1  sur  20
Apache Camel, Twitter e
Enterprise Integration Patterns
                      @brunoborge
                        05/07/201
                         #TDC201
Agenda


 O que é o Camel (resumo)
 Enterprise Integration Patterns
 Scala DSL
 Camel Twitter
    Demo
 Camel CDI
    Demo
O que é?




           Framework de Integração
            Implementação de EIPs
EIP ?!?!

  Por que precisamos de Integração?
  Por que é tão difícil?
  Arquiteturas de Mensagens
     Assíncronas
  Como os padrões podem ajudar?
Apache Camel: resumão


  Endpoints
     Consumers
     Producers
     Processors
Apache Camel

                     Filtrar
                    Mensagen
                        s




                               MQ
                                B
               MQ
                A
Apache Camel

                      Filtrar
                     Mensagen
                         s




                                MQ
                                 B
               MQ
                A



         From MQ A    Filtrar   To MQ B
Apache Camel

                       Filtrar
                      Mensagen
                          s




                                  MQ
                                   B
                MQ
                 A



          from(mqA)    filter()   to(mqB)
Scala DSL

        "direct:a" when(_.in == "<hello/>") to("direct:b")

        "direct:b" ==> {
          when(_.in == "<hallo/>") {
            to ("mock:c")
          } otherwise {
            to ("mock:e")
          }
          to ("mock:d")
        }
Apache Camel


  Enterprise Integration Patterns
  Roteamento de Mensagens
  DSLs: java, xml, scala
  Endpoints
  URIs
  Predicados e Expressões
  Uma penca de componentes
     JMS, HTTP, MINA, JDBC, FTP, WebService, EJB,
       Hibernate/JPA, IRC, JCR, AS/400, LDAP,
       Mail, Nagios, POP, Impressoras, Quartz,
       Restlet, RMI, RSS, Scalate, XMPP... (como
       falei: uma penca)
Apache Camel


  Muito
     mais padrões



www.eaipatterns.com

camel.apache.org
Twitter
Twitter
Twitter
Camel Twitter


  Features
     Enviar e ler DMs
     Tuitar (óbvio!)
     Pesquisar
         REST ou Streaming
     Timeline
         Home
                             * a partir da versão 2.10.0
         Mentions
         Public
         Retweets for me
Camel Twitter

                  "jms:queue:tweetingQueue0" to """twitter://timeline/user?
Criar um             consumerKey=[s]&
                     consumerSecret=[s]&
Status Update        accessToken=[s]&
                     accessTokenSecret=[s]"""

                  "jms:queue:tweetingQueue1" to "twitter://timeline/user”




Ler uma           "twitter://timeline/home?type=polling&delay=5" ==> {
                    to("log:homeTweets")
Timeline          }




                "direct:doSearch" to "twitter://search?keywords=TDC2012"
Fazer buscas
                "direct:doSearch" ==> {
fixas ou          setHeader("CamelTwitterKeywords", "TDC2012")
dinâmicas         to("twitter://search")
                }
Camel CDI


                         Java EE 6




            * a partir da versão 2.10.0
Camel CDI


  Features
     Permite usar o contexto CDI para injeção de dependências
     Não é mais necessário usar o Spring (exceto se quiser usar o XML
       DSL)
     Não é mais necessário usar um módulo Web (WAR) para inicializar
       o contexto do Camel (independente se usa ou não, Spring)
     Inicialização com @Singleton @Startup


     Ainda em “beta”, apesar de estar no 2.10.0
Obrigado




            Bruno Borges
           bruno.borges@oracle.com
               brunoborges.com
                @brunoborges
We Develop!

                      Inovação

 Processo Ágil                           Tecnologia



  Cloud                                     Internet
Computing


                                   Computação
 Mobilidade
                                    Avançada
                 Rede Sociais


                  www.wdev.com.b

Contenu connexe

Similaire à Apache Camel, EIPs e Twitter

Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsBruno Borges
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Adriano Tavares
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelAlessandro Kieras
 
Net::RabbitMQ(::Simple)
Net::RabbitMQ(::Simple)Net::RabbitMQ(::Simple)
Net::RabbitMQ(::Simple)Thiago Rondon
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelPedro Oliveira
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e ArquitetosVictor Osorio
 
Apache Camel
Apache CamelApache Camel
Apache CamelPT.JUG
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
Introducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsIntroducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsKaton Agência Digital
 
Dicas de Deploy, DevOps e APIs na Amazon Web Services
Dicas de Deploy, DevOps e APIs na Amazon Web ServicesDicas de Deploy, DevOps e APIs na Amazon Web Services
Dicas de Deploy, DevOps e APIs na Amazon Web ServicesAmazon Web Services LATAM
 
Tendências do Mercado de Internet
Tendências do Mercado de InternetTendências do Mercado de Internet
Tendências do Mercado de InternetVanessa Oliveira
 
Exchange Web Services API - Introducao
Exchange Web Services API - IntroducaoExchange Web Services API - Introducao
Exchange Web Services API - IntroducaoComunidade NetPonto
 
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkDesenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkAmazon Web Services LATAM
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Luciano Condé
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudAmazon Web Services LATAM
 

Similaire à Apache Camel, EIPs e Twitter (20)

Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration Patterns
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache Camel
 
Net::RabbitMQ(::Simple)
Net::RabbitMQ(::Simple)Net::RabbitMQ(::Simple)
Net::RabbitMQ(::Simple)
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache Camel
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
AWS
AWS AWS
AWS
 
Introducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsIntroducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com Rails
 
Dicas de Deploy, DevOps e APIs na Amazon Web Services
Dicas de Deploy, DevOps e APIs na Amazon Web ServicesDicas de Deploy, DevOps e APIs na Amazon Web Services
Dicas de Deploy, DevOps e APIs na Amazon Web Services
 
Tendências do Mercado de Internet
Tendências do Mercado de InternetTendências do Mercado de Internet
Tendências do Mercado de Internet
 
Istio service mesh
Istio service meshIstio service mesh
Istio service mesh
 
Exchange Web Services API - Introducao
Exchange Web Services API - IntroducaoExchange Web Services API - Introducao
Exchange Web Services API - Introducao
 
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkDesenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 

Plus de Bruno Borges

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesBruno Borges
 
[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on KubernetesBruno Borges
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsBruno Borges
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless ComputingBruno Borges
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersBruno Borges
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudBruno Borges
 
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...Bruno Borges
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemBruno Borges
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudBruno Borges
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXBruno Borges
 
Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Bruno Borges
 
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Bruno Borges
 
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Bruno Borges
 
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Bruno Borges
 
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Bruno Borges
 
Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Bruno Borges
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXBruno Borges
 
Integrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsIntegrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsBruno Borges
 

Plus de Bruno Borges (20)

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless Computing
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure Cloud
 
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
 
Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?
 
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
 
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
 
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
 
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
 
Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
 
Integrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsIntegrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSockets
 

Apache Camel, EIPs e Twitter

  • 1. Apache Camel, Twitter e Enterprise Integration Patterns @brunoborge 05/07/201 #TDC201
  • 2. Agenda O que é o Camel (resumo) Enterprise Integration Patterns Scala DSL Camel Twitter Demo Camel CDI Demo
  • 3. O que é? Framework de Integração Implementação de EIPs
  • 4. EIP ?!?! Por que precisamos de Integração? Por que é tão difícil? Arquiteturas de Mensagens Assíncronas Como os padrões podem ajudar?
  • 5. Apache Camel: resumão Endpoints Consumers Producers Processors
  • 6. Apache Camel Filtrar Mensagen s MQ B MQ A
  • 7. Apache Camel Filtrar Mensagen s MQ B MQ A From MQ A Filtrar To MQ B
  • 8. Apache Camel Filtrar Mensagen s MQ B MQ A from(mqA) filter() to(mqB)
  • 9. Scala DSL "direct:a" when(_.in == "<hello/>") to("direct:b") "direct:b" ==> { when(_.in == "<hallo/>") { to ("mock:c") } otherwise { to ("mock:e") } to ("mock:d") }
  • 10. Apache Camel Enterprise Integration Patterns Roteamento de Mensagens DSLs: java, xml, scala Endpoints URIs Predicados e Expressões Uma penca de componentes JMS, HTTP, MINA, JDBC, FTP, WebService, EJB, Hibernate/JPA, IRC, JCR, AS/400, LDAP, Mail, Nagios, POP, Impressoras, Quartz, Restlet, RMI, RSS, Scalate, XMPP... (como falei: uma penca)
  • 11. Apache Camel Muito mais padrões www.eaipatterns.com camel.apache.org
  • 15. Camel Twitter Features Enviar e ler DMs Tuitar (óbvio!) Pesquisar REST ou Streaming Timeline Home * a partir da versão 2.10.0 Mentions Public Retweets for me
  • 16. Camel Twitter "jms:queue:tweetingQueue0" to """twitter://timeline/user? Criar um consumerKey=[s]& consumerSecret=[s]& Status Update accessToken=[s]& accessTokenSecret=[s]""" "jms:queue:tweetingQueue1" to "twitter://timeline/user” Ler uma "twitter://timeline/home?type=polling&delay=5" ==> { to("log:homeTweets") Timeline } "direct:doSearch" to "twitter://search?keywords=TDC2012" Fazer buscas "direct:doSearch" ==> { fixas ou setHeader("CamelTwitterKeywords", "TDC2012") dinâmicas to("twitter://search") }
  • 17. Camel CDI Java EE 6 * a partir da versão 2.10.0
  • 18. Camel CDI Features Permite usar o contexto CDI para injeção de dependências Não é mais necessário usar o Spring (exceto se quiser usar o XML DSL) Não é mais necessário usar um módulo Web (WAR) para inicializar o contexto do Camel (independente se usa ou não, Spring) Inicialização com @Singleton @Startup Ainda em “beta”, apesar de estar no 2.10.0
  • 19. Obrigado Bruno Borges bruno.borges@oracle.com brunoborges.com @brunoborges
  • 20. We Develop! Inovação Processo Ágil Tecnologia Cloud Internet Computing Computação Mobilidade Avançada Rede Sociais www.wdev.com.b

Notes de l'éditeur

  1. Aplicacoes isoladas Usuarios querem acesso a todas as funcoes e dados. Nao importa onde estejam. Requer aplicacoes integradas. Nao existe receita de bolo para integrar aplicacoes, nem a solucao ideal. Se a arquitetura escolhida foi boa ou nao, só com o tempo pra saber. Solucoes de fornecedores sao metodologias e praticas voltadas a produtos. Arquiteturas de mensagens assincronas mostram ser a melhor opcao por desacoplar diferentes sistemas. Padroes de integracao sao voltados a problemas especificos de design. Criados a partir de solucoes que se repetiram e mostraram ter resultado positivo