SlideShare a Scribd company logo
1 of 41
Download to read offline
Service Oriented Integration
 With Apache ServiceMix




      William G Henry william_henry@mac.com
 Presentation By Bruce Snyder bsnyder@apache.org
Agenda




            Enterprise Service Bus
            Java Business Integration
            Apache ServiceMix ESB
            Apache Camel (intro)



                                    2
What is
an

ESB?
           3
What is an ESB?



quot;An Enterprise Service Bus (ESB) is a new architecture that exploits Web
services, messaging Service Bus (ESB) is a and transformation. ESBs
 quot;An Enterprise middleware, intelligent routing, new architecture that
act as a lightweight, ubiquitous integration backbone through which software
 exploits Web services, messaging middleware, intelligent
services and application components flow.” (Gartner)
routing, and transformation. ESBs act as a lightweight,
ubiquitous integration backbone through which software
services and application components flow.” (Gartner)




                                                                         4
What is an ESB?


An ESB acts as a shared messaging layer for connecting applications and other
services throughout ana sharedcomputing infrastructure. It supplements its
 An ESB acts as enterprise messaging layer for connecting
core asynchronous messaging backbone with intelligent transformation and
 applications and other services throughout an enterprise
routing to ensure messages are passed reliably. Services participate in the ESB
using either web services messaging supplements its core
 computing infrastructure. It standards or JMS (LooselyCoupled.com)
asynchronous messaging backbone with intelligent
transformation and routing to ensure messages are passed
reliably. Services participate in the ESB using either web
services messaging standards or JMS (LooselyCoupled.com)




                                                                             5
What is an ESB?



An ESB is an open standards, message-based, distributed, integration solution
 An ESB is an open standards, message-based, distributed,
that provides routing, invocation, and mediation services to facilitate the
interactions of disparate distributed information technology resources
 integration solution that provides routing, invocation, and
(applications, services, information, platforms) in a reliable manner. (Brenda
Michelson, Elemental Links) facilitate the interactions of disparate
 mediation services to
distributed information technology resources (applications,
services, information, platforms) in a reliable manner. (Brenda
Michelson, Elemental Links)




                                                                            6
Do I need an ESB?

   ESB Planning Process




                           7
What
is

JBI?
        8
What is JBI?




   JBI defines an architecture that allows the
    construction of integration systems from
    plug-in components, that interoperate
    through the method of mediated message
    exchange.
   (JBI 1.0 Spec)
                                              9
Java Business Integration




                            10
Java Business Integration




                            11
JBI Normalized Message




                         12
JBI Packaging




                13
Apache ServiceMix




http://servicemix.apache.org/

                                14
Apache ServiceMix Architecture




                                 15
ServiceMix Features

   Supports many protocols
        File, FTP, HTTP/S, JMS, SMTP, SOAP, TCP, XMPP
   Support many engines
        Apache Camel, Apache CXF, Apache ODE, Drools,
         OS Workflow, POJOs, Quartz, Scripting, Saxon
         XQuery and XSLT, WS-Notification
   Support for Security
        JAAS, WS-Security
   Web Container/App Server Integration
        Geronimo, JBoss, Jetty, Tomcat, Weblogic,
         Websphere
                                                     16
Apache Software Foundation




Apache
Software
Foundation                   17
Message Routing




                  18
Message Routing




                  19
Example




          20
Configuration




                21
file-poller-su



   <beans xmlns:file='http://servicemix.apache.org/file/1.0'
          xmlns:myApp=quot;http://com.mycompany/myappquot;>

     <file:poller service=quot;myapp:filequot;
                endpoint=quot;pollerquot;
                file=quot;file:///Users/bsnyder/poller/inboxquot;
                targetService=quot;myapp:wiretapquot;
                targetEndpoint=quot;loggerquot; />
   </beans>




                                                             22
eip-wiretap-su



   <beans xmlns:eip=quot;http://servicemix.apache.org/eip/1.0quot;
          xmlns:myapp=quot;http://mycompany.com/myappquot;>

    <eip:wire-tap service=quot;myapp:wiretapquot; endpoint=quot;endpointquot;>
      <eip:target>
        <eip:exchange-target service=quot;myapp:cbrquot; />
      </eip:target>
      <eip:inListener>
        <eip:exchange-target service=quot;myapp:persistquot; />
      </eip:inListener>
    </eip:wire-tap>

   </beans>




                                                              23
camel-persist-su


   public class PersistOrderRoute extends RouteBuilder {
       public void configure() {
      from(quot;jbi:endpoint:http://mycompany.com/persist/orderquot;)
         .convertBodyTo(Order.class)
         .to(quot;jpa:com.mycompany.Order?persistenceUnit=order-
    procquot;)
         .convertBodyTo(Order.class);
       }}


   -------------------------------------------------

   <beans xmlns:camel=”http://activemq.apache.org/camelquot;>
     <camel:camelContext id=quot;camelquot;>
       <package>com.mycompany.persistence</package>
     </camel:camelContext>
   </beans>

                                                             24
eip-cbr-su


   <beans xmlns:eip=quot;http://servicemix.apache.org/eip/1.0quot;
          xmlns:myapp=quot;http://mycompany.com/myappquot;>

     <eip:content-based-router service=quot;myapp:cbrquot;
       endpoint=quot;endpointquot;>
       <eip:rules>
         <eip:routing-rule>
           <eip:predicate>
             <eip:xpath-predicate
               xpath=quot;/message/cheese/text() = 'gouda'quot; />
           </eip:predicate>
           <eip:target>
             <eip:exchange-target service=quot;myapp:queue1quot; />
           </eip:target>
         </eip:routing-rule>
   ...



                                                               25
eip-cbr-su

   ...
         <eip:routing-rule>
           <eip:predicate>
             <eip:xpath-predicate
               xpath=quot;/message/cheese/text() = 'swiss'quot; />
           </eip:predicate>
           <eip:target>
             <eip:exchange-target service=quot;myapp:queue2quot; />
           </eip:target>
         </eip:routing-rule>
         <eip:routing-rule>
           <eip:target>
             <eip:exchange-target service=quot;myapp:queue3quot; />
           </eip:target>
         </eip:routing-rule>
       </eip:rules>
     </eip:content-based-router>


                                                               26
jms-producer-su


   <beans xmlns:jms=quot;http://servicemix.apache.org/jms/1.0quot;
          xmlns:myapp=quot;http://mycompany.com/myapp
          xmlns:amq=quot;http://activemq.org/config/1.0quot;>

      <jms:endpoint service=quot;myapp:queue1quot;
                    endpoint=quot;myProviderquot;
                    role=quot;providerquot;
                    destinationStyle=quot;queuequot;
                    jmsProviderDestinationName=quot;queue1quot;
                    connectionFactory=quot;#connectionFactoryquot; />

      <jms:endpoint service=quot;myapp:queue2quot;
                    endpoint=quot;myProviderquot;
                    role=quot;providerquot;
                    destinationStyle=quot;queuequot;
                    jmsProviderDestinationName=quot;queue2quot;
                    connectionFactory=quot;#connectionFactoryquot;/>


                                                              27
jms-producer-su



   ...
         <jms:endpoint service=quot;myapp:queue3quot;
                       endpoint=quot;myProviderquot;
                       role=quot;providerquot;
                       destinationStyle=quot;queuequot;
                       jmsProviderDestinationName=quot;queue3quot;
                       connectionFactory=quot;#connectionFactoryquot;/>

         <amq:connectionFactory id=quot;connectionFactoryquot;
           brokerURL=quot;tcp://localhost:61616quot; />

   </beans>




                                                              28
JBI Packaging




                29
Distribution of ServiceMix Containers




                                        30
Eclipse IDE Tooling For ServiceMix

   Eclipse SOA Tooling Platform (STP)
    Project
        http://eclipse.org/stp

   IONA FUSE Eclipse Tooling
        http://open.iona.com/wiki/display/ProdInfo/FUSE+Eclipse+Tools

   Spagic
        http://spagic.com/

   Sopera
        http://sopera.de/en/products/sopera-servicemixtools/

                    Eclipse SOA Tools Platform (STP) Project


                                                                         31
Eclipse Tooling




        Eclipse SOA Tools Platform (STP) Project

                                               32
What is Apache Camel?




http://activemq.apache.org/camel/

                                    33
What is EIP?




               34
Example Pattern: Content Based Router




RouteBuilder builder = new RouteBuilder() {
   public void configure() {
     from(quot;seda:aquot;).choice()
      .when(header(quot;fooquot;).isEqualTo(quot;barquot;)).to(quot;seda:bquot;)
      .when(header(quot;fooquot;).isEqualTo(quot;cheesequot;)).to(quot;seda:cquot;)
      .otherwise().to(quot;seda:dquot;);
   }
};

                                                         35
Example Pattern: Content Based Router

<camelContext id=quot;buildSimpleRouteWithChoicequot;
    xmlns=quot;http://activemq.apache.org/camel/schema/springquot;>
  <route>
    <from uri=quot;seda:aquot;/>
    <choice>
      <when>
        <predicate>
          <header name=quot;fooquot;/>
          <isEqualTo value=quot;barquot;/>
        </predicate>
        <to uri=quot;seda:bquot;/>
      </when>
      <when>
        <predicate>
          <header name=quot;fooquot;/>
          <isEqualTo value=quot;cheesequot;/>
        </predicate>
        <to uri=quot;seda:cquot;/>
      </when>
      <otherwise><to uri=quot;seda:dquot;/></otherwise>
    </choice>
  </route>
</camelContext>
                                                              36
What’s Coming in ServiceMix 4.0



Apache
ServiceMix
4.0

                                  37
ServiceMix 4.0 Building Blocks

   Runtime: OSGi (Apache Felix)
        JBI support still intact!
        NMR is a OSGi service
   Message Broker: Apache ActiveMQ
   Web Services: Apache CXF
   Routing Engine: Apache Camel




                                      38
Thank You for Attending!




   Questions?

                           39
Visualization




                40
Camel Makes Routing Much Easier!

                   from(“http://localhost:8080/requests/”).
                       tryBlock().
                           to(“activemq:queue:requests”).
                           setOutBody(constant(“<ack/>”)).
                       handle(Throwable.class).
                           setFaultBody(constant(“<nack/>”));

                   from((“activemq:queue:requests?transacted=true”).
                       process(requestTransformer).
                       to(“http://host:8080/Request”).
                       filter(xpath(“//nack”)).
                       process(nackTransformer).
                       to(“jdbc:store”);

                   from(“http://localhost:8080/responses/”).
                       tryBlock().
                           to(“activemq:queue:responses”).
                           setOutBody(constant(“<ack/>”)).
                       handle(Throwable.class).
                           setFaultBody(constant(“<nack/>”));

                   from(“activemq:queue:responses?transacted=true”).
                       process(responseTransformer).
                       to(“jdbc:store”);

                   from(“http://localhost:8080/pull/”).
                       to(“jdbc:load”);

                                                            41

More Related Content

What's hot

Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 
Syer Monitoring Integration And Batch
Syer Monitoring Integration And BatchSyer Monitoring Integration And Batch
Syer Monitoring Integration And BatchDave Syer
 
JBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerJBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerChristina Lin
 
RESTful Web services using JAX-RS
RESTful Web services using JAX-RSRESTful Web services using JAX-RS
RESTful Web services using JAX-RSArun Gupta
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzJBug Italy
 
Creating And Consuming Web Services In Php 5
Creating And Consuming Web Services In Php 5Creating And Consuming Web Services In Php 5
Creating And Consuming Web Services In Php 5Michael Girouard
 
Implementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixImplementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixAdrian Trenaman
 
HTML5 Server Sent Events/JSF JAX 2011 Conference
HTML5 Server Sent Events/JSF  JAX 2011 ConferenceHTML5 Server Sent Events/JSF  JAX 2011 Conference
HTML5 Server Sent Events/JSF JAX 2011 ConferenceRoger Kitain
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsi krishna
 
Message properties component in Mule
Message properties component in MuleMessage properties component in Mule
Message properties component in MuleKhan625
 
Asynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaJames Falkner
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesikmfrancis
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web ServicesRajarshi Guha
 
Web services in PHP using the NuSOAP library
Web services in PHP using the NuSOAP libraryWeb services in PHP using the NuSOAP library
Web services in PHP using the NuSOAP libraryFulvio Corno
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
 
W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafJerry Preissler
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010Adrian Trenaman
 
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLHTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLUlf Wendel
 

What's hot (20)

Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
Syer Monitoring Integration And Batch
Syer Monitoring Integration And BatchSyer Monitoring Integration And Batch
Syer Monitoring Integration And Batch
 
JBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerJBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP container
 
RESTful Web services using JAX-RS
RESTful Web services using JAX-RSRESTful Web services using JAX-RS
RESTful Web services using JAX-RS
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
Creating And Consuming Web Services In Php 5
Creating And Consuming Web Services In Php 5Creating And Consuming Web Services In Php 5
Creating And Consuming Web Services In Php 5
 
JBoss AS 7
JBoss AS 7JBoss AS 7
JBoss AS 7
 
Implementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixImplementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMix
 
HTML5 Server Sent Events/JSF JAX 2011 Conference
HTML5 Server Sent Events/JSF  JAX 2011 ConferenceHTML5 Server Sent Events/JSF  JAX 2011 Conference
HTML5 Server Sent Events/JSF JAX 2011 Conference
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
Message properties component in Mule
Message properties component in MuleMessage properties component in Mule
Message properties component in Mule
 
HTML5 Refresher
HTML5 RefresherHTML5 Refresher
HTML5 Refresher
 
Asynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and Java
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web Services
 
Web services in PHP using the NuSOAP library
Web services in PHP using the NuSOAP libraryWeb services in PHP using the NuSOAP library
Web services in PHP using the NuSOAP library
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
 
W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache Karaf
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLHTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
 

Similar to Service Oriented Integration with ServiceMix

Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정Arawn Park
 
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Ontico
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practiceaegloff
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyJean-Sebastien Delfino
 
WSF PHP 2 Webinar Sep 2008
WSF PHP 2 Webinar Sep 2008WSF PHP 2 Webinar Sep 2008
WSF PHP 2 Webinar Sep 2008WSO2
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Arun Gupta
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudArun Gupta
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudArun Gupta
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudArun Gupta
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudArun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01MindTree Ltd
 

Similar to Service Oriented Integration with ServiceMix (20)

Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
 
EIP In Practice
EIP In PracticeEIP In Practice
EIP In Practice
 
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practice
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache Tuscany
 
Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
 
WSF PHP 2 Webinar Sep 2008
WSF PHP 2 Webinar Sep 2008WSF PHP 2 Webinar Sep 2008
WSF PHP 2 Webinar Sep 2008
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
 

More from ghessler

Embedded Linux Odp
Embedded Linux OdpEmbedded Linux Odp
Embedded Linux Odpghessler
 
Ajax On S2 Odp
Ajax On S2 OdpAjax On S2 Odp
Ajax On S2 Odpghessler
 
Joomla! Installation
Joomla! InstallationJoomla! Installation
Joomla! Installationghessler
 
Joomla Presentation
Joomla PresentationJoomla Presentation
Joomla Presentationghessler
 
Apache Commons Overview
Apache Commons OverviewApache Commons Overview
Apache Commons Overviewghessler
 
Overview Of Xaware
Overview Of XawareOverview Of Xaware
Overview Of Xawareghessler
 
Gimp In Hollywood
Gimp In HollywoodGimp In Hollywood
Gimp In Hollywoodghessler
 

More from ghessler (8)

Embedded Linux Odp
Embedded Linux OdpEmbedded Linux Odp
Embedded Linux Odp
 
Ajax On S2 Odp
Ajax On S2 OdpAjax On S2 Odp
Ajax On S2 Odp
 
Joomla! Installation
Joomla! InstallationJoomla! Installation
Joomla! Installation
 
Joomla Presentation
Joomla PresentationJoomla Presentation
Joomla Presentation
 
Apache Commons Overview
Apache Commons OverviewApache Commons Overview
Apache Commons Overview
 
Overview Of Xaware
Overview Of XawareOverview Of Xaware
Overview Of Xaware
 
Gimp In Hollywood
Gimp In HollywoodGimp In Hollywood
Gimp In Hollywood
 
JCatapult
JCatapultJCatapult
JCatapult
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Service Oriented Integration with ServiceMix

  • 1. Service Oriented Integration With Apache ServiceMix William G Henry william_henry@mac.com Presentation By Bruce Snyder bsnyder@apache.org
  • 2. Agenda  Enterprise Service Bus  Java Business Integration  Apache ServiceMix ESB  Apache Camel (intro) 2
  • 4. What is an ESB? quot;An Enterprise Service Bus (ESB) is a new architecture that exploits Web services, messaging Service Bus (ESB) is a and transformation. ESBs quot;An Enterprise middleware, intelligent routing, new architecture that act as a lightweight, ubiquitous integration backbone through which software exploits Web services, messaging middleware, intelligent services and application components flow.” (Gartner) routing, and transformation. ESBs act as a lightweight, ubiquitous integration backbone through which software services and application components flow.” (Gartner) 4
  • 5. What is an ESB? An ESB acts as a shared messaging layer for connecting applications and other services throughout ana sharedcomputing infrastructure. It supplements its An ESB acts as enterprise messaging layer for connecting core asynchronous messaging backbone with intelligent transformation and applications and other services throughout an enterprise routing to ensure messages are passed reliably. Services participate in the ESB using either web services messaging supplements its core computing infrastructure. It standards or JMS (LooselyCoupled.com) asynchronous messaging backbone with intelligent transformation and routing to ensure messages are passed reliably. Services participate in the ESB using either web services messaging standards or JMS (LooselyCoupled.com) 5
  • 6. What is an ESB? An ESB is an open standards, message-based, distributed, integration solution An ESB is an open standards, message-based, distributed, that provides routing, invocation, and mediation services to facilitate the interactions of disparate distributed information technology resources integration solution that provides routing, invocation, and (applications, services, information, platforms) in a reliable manner. (Brenda Michelson, Elemental Links) facilitate the interactions of disparate mediation services to distributed information technology resources (applications, services, information, platforms) in a reliable manner. (Brenda Michelson, Elemental Links) 6
  • 7. Do I need an ESB?  ESB Planning Process 7
  • 9. What is JBI?  JBI defines an architecture that allows the construction of integration systems from plug-in components, that interoperate through the method of mediated message exchange.  (JBI 1.0 Spec) 9
  • 16. ServiceMix Features  Supports many protocols  File, FTP, HTTP/S, JMS, SMTP, SOAP, TCP, XMPP  Support many engines  Apache Camel, Apache CXF, Apache ODE, Drools, OS Workflow, POJOs, Quartz, Scripting, Saxon XQuery and XSLT, WS-Notification  Support for Security  JAAS, WS-Security  Web Container/App Server Integration  Geronimo, JBoss, Jetty, Tomcat, Weblogic, Websphere 16
  • 20. Example 20
  • 22. file-poller-su  <beans xmlns:file='http://servicemix.apache.org/file/1.0'  xmlns:myApp=quot;http://com.mycompany/myappquot;>  <file:poller service=quot;myapp:filequot;  endpoint=quot;pollerquot;  file=quot;file:///Users/bsnyder/poller/inboxquot;  targetService=quot;myapp:wiretapquot;  targetEndpoint=quot;loggerquot; />  </beans> 22
  • 23. eip-wiretap-su  <beans xmlns:eip=quot;http://servicemix.apache.org/eip/1.0quot;  xmlns:myapp=quot;http://mycompany.com/myappquot;>  <eip:wire-tap service=quot;myapp:wiretapquot; endpoint=quot;endpointquot;>  <eip:target>  <eip:exchange-target service=quot;myapp:cbrquot; />  </eip:target>  <eip:inListener>  <eip:exchange-target service=quot;myapp:persistquot; />  </eip:inListener>  </eip:wire-tap>  </beans> 23
  • 24. camel-persist-su  public class PersistOrderRoute extends RouteBuilder {  public void configure() {  from(quot;jbi:endpoint:http://mycompany.com/persist/orderquot;)  .convertBodyTo(Order.class)  .to(quot;jpa:com.mycompany.Order?persistenceUnit=order- procquot;)  .convertBodyTo(Order.class);  }}  -------------------------------------------------  <beans xmlns:camel=”http://activemq.apache.org/camelquot;>  <camel:camelContext id=quot;camelquot;>  <package>com.mycompany.persistence</package>  </camel:camelContext>  </beans> 24
  • 25. eip-cbr-su  <beans xmlns:eip=quot;http://servicemix.apache.org/eip/1.0quot;  xmlns:myapp=quot;http://mycompany.com/myappquot;>  <eip:content-based-router service=quot;myapp:cbrquot;  endpoint=quot;endpointquot;>  <eip:rules>  <eip:routing-rule>  <eip:predicate>  <eip:xpath-predicate  xpath=quot;/message/cheese/text() = 'gouda'quot; />  </eip:predicate>  <eip:target>  <eip:exchange-target service=quot;myapp:queue1quot; />  </eip:target>  </eip:routing-rule>  ... 25
  • 26. eip-cbr-su  ...  <eip:routing-rule>  <eip:predicate>  <eip:xpath-predicate  xpath=quot;/message/cheese/text() = 'swiss'quot; />  </eip:predicate>  <eip:target>  <eip:exchange-target service=quot;myapp:queue2quot; />  </eip:target>  </eip:routing-rule>  <eip:routing-rule>  <eip:target>  <eip:exchange-target service=quot;myapp:queue3quot; />  </eip:target>  </eip:routing-rule>  </eip:rules>  </eip:content-based-router> 26
  • 27. jms-producer-su  <beans xmlns:jms=quot;http://servicemix.apache.org/jms/1.0quot;  xmlns:myapp=quot;http://mycompany.com/myapp  xmlns:amq=quot;http://activemq.org/config/1.0quot;>  <jms:endpoint service=quot;myapp:queue1quot;  endpoint=quot;myProviderquot;  role=quot;providerquot;  destinationStyle=quot;queuequot;  jmsProviderDestinationName=quot;queue1quot;  connectionFactory=quot;#connectionFactoryquot; />  <jms:endpoint service=quot;myapp:queue2quot;  endpoint=quot;myProviderquot;  role=quot;providerquot;  destinationStyle=quot;queuequot;  jmsProviderDestinationName=quot;queue2quot;  connectionFactory=quot;#connectionFactoryquot;/> 27
  • 28. jms-producer-su  ...  <jms:endpoint service=quot;myapp:queue3quot;  endpoint=quot;myProviderquot;  role=quot;providerquot;  destinationStyle=quot;queuequot;  jmsProviderDestinationName=quot;queue3quot;  connectionFactory=quot;#connectionFactoryquot;/>  <amq:connectionFactory id=quot;connectionFactoryquot;  brokerURL=quot;tcp://localhost:61616quot; />  </beans> 28
  • 31. Eclipse IDE Tooling For ServiceMix  Eclipse SOA Tooling Platform (STP) Project  http://eclipse.org/stp  IONA FUSE Eclipse Tooling  http://open.iona.com/wiki/display/ProdInfo/FUSE+Eclipse+Tools  Spagic  http://spagic.com/  Sopera  http://sopera.de/en/products/sopera-servicemixtools/ Eclipse SOA Tools Platform (STP) Project 31
  • 32. Eclipse Tooling Eclipse SOA Tools Platform (STP) Project 32
  • 33. What is Apache Camel? http://activemq.apache.org/camel/  33
  • 35. Example Pattern: Content Based Router RouteBuilder builder = new RouteBuilder() { public void configure() { from(quot;seda:aquot;).choice() .when(header(quot;fooquot;).isEqualTo(quot;barquot;)).to(quot;seda:bquot;) .when(header(quot;fooquot;).isEqualTo(quot;cheesequot;)).to(quot;seda:cquot;) .otherwise().to(quot;seda:dquot;); } }; 35
  • 36. Example Pattern: Content Based Router <camelContext id=quot;buildSimpleRouteWithChoicequot; xmlns=quot;http://activemq.apache.org/camel/schema/springquot;> <route> <from uri=quot;seda:aquot;/> <choice> <when> <predicate> <header name=quot;fooquot;/> <isEqualTo value=quot;barquot;/> </predicate> <to uri=quot;seda:bquot;/> </when> <when> <predicate> <header name=quot;fooquot;/> <isEqualTo value=quot;cheesequot;/> </predicate> <to uri=quot;seda:cquot;/> </when> <otherwise><to uri=quot;seda:dquot;/></otherwise> </choice> </route> </camelContext> 36
  • 37. What’s Coming in ServiceMix 4.0 Apache ServiceMix 4.0 37
  • 38. ServiceMix 4.0 Building Blocks  Runtime: OSGi (Apache Felix)  JBI support still intact!  NMR is a OSGi service  Message Broker: Apache ActiveMQ  Web Services: Apache CXF  Routing Engine: Apache Camel 38
  • 39. Thank You for Attending! Questions? 39
  • 41. Camel Makes Routing Much Easier! from(“http://localhost:8080/requests/”). tryBlock(). to(“activemq:queue:requests”). setOutBody(constant(“<ack/>”)). handle(Throwable.class). setFaultBody(constant(“<nack/>”)); from((“activemq:queue:requests?transacted=true”). process(requestTransformer). to(“http://host:8080/Request”). filter(xpath(“//nack”)). process(nackTransformer). to(“jdbc:store”); from(“http://localhost:8080/responses/”). tryBlock(). to(“activemq:queue:responses”). setOutBody(constant(“<ack/>”)). handle(Throwable.class). setFaultBody(constant(“<nack/>”)); from(“activemq:queue:responses?transacted=true”). process(responseTransformer). to(“jdbc:store”); from(“http://localhost:8080/pull/”). to(“jdbc:load”); 41