SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
CamelOne 2013
June 10-11 2013
Boston, MA
Get Cooking with
Apache Camel
Cookbook of Tips and Tricks
Scott Cranton
CamelOne 2013
CamelOne
Who is this Scott Cranton?
Currently at Red Hat - Middleware (technical) sales
Joined FuseSource Feb, 2009 - 4.5 years with Camel
Previously at:
BEA / Oracle, Nexaweb, Object Design / Progress,
MapInfo, OpenMap,TerraLogics / Strategic Mapping
First 10+ years full time coder; last 12+ selling
middleware
https://github.com/FuseByExample
https://github.com/CamelCookbook
2
CamelOne 2013
CamelOne
Why a Camel Cookbook?
Help beginner to intermediate users get productive
by example with references for later reading
Break common Camel tasks into Recipes
Each recipe contains:
Introduction
How to do it (task oriented)
How it works
There’s more
3
CamelOne 2013
CamelOne
How Do I Control Route Startup Order?
Introduction
Sometimes order matters, and routes need to start and stop in a defined order
How to do it
Set route startupOrder attribute
XML DSL - <route startupOrder=“20” routeId=”myRoute”>...</route>
Java DSL - from(“direct:in”).startupOrder(20).routeId(“myRoute”)...;
How it works
Routes started in ascending order, and stopped in descending order
http://camel.apache.org/configuring-route-startup-ordering-and-autostartup.html
There’s more
You can programmatically startup and shutdown routes in response to events
exchange.getContext().startRoute(“myRoute”);
4
CamelOne 2013
CamelOne
Camel Enterprise Integration Cookbook
Topics include:
Structuring Routes, Routing, Split/Join,Transformation,Testing,
Error Handling, Monitoring and Debugging, Extending Camel,
Parallel processing, Security,Transactions, ...
~110 Recipes
Co-Authors: Scott Cranton and Jakub Korab
https://github.com/CamelCookbook/
Welcome feedback, reviews, contributions, ...
5
CamelOne 2013
CamelOne
Camel Cookbook Tasting Menu
Route Design
Routing messages (EIP)
Transformation
Unit Testing
Extending Camel
6
CamelOne 2013
CamelOne
Interconnecting Routes
Camel supports breaking routes up into re-usable
sub-routes, and synchronously or asynchronously
calling those sub-routes.
7
CamelOne 2013
CamelOne
Interconnecting Routes
8
Within
Context
Within JVM
Synchronous Direct Direct-VM
Asynchronous SEDA VM
CamelOne 2013
CamelOne
Interconnecting Routes
9
CamelContext-1
from(“activemq:queue:one”).to(“direct:one”);
from(“direct:one”).to(“direct-vm:two”);
CamelContext-2
from(“direct-vm:two”).log(“Direct Excitement!”);
Run on same thread as caller
direct-vm within JVM, including other OSGi Bundles
Direct and Direct-VM
CamelOne 2013
CamelOne
Interconnecting Routes
10
CamelContext-1
from(“activemq:queue:one”).to(“seda:one”);
from(“seda:one”).to(“vm:two”);
CamelContext-2
from(“vm:two”).log(“Async Excitement!”);
Run on different thread from caller
concurrentConsumers=1 controls thread count
vm within JVM, including other OSGi Bundles
SEDA andVM
CamelOne 2013
CamelOne
Interconnecting Routes
11
from(“activemq:queue:one”).to(“seda:one”);
from(“seda:one?multipleConsumers=true”).log(“here”);
from(“seda:one?multipleConsumers=true”).log(“and there”);
Publish / Subscribe like capability
Each route gets its own copy of the Exchange
Multicast EIP better for known set of routes
SEDA andVM
CamelOne 2013
CamelOne
Wire Tap
To create an asynchronous path from your main
route. Useful for audit and logging operations.
12
CamelOne 2013
CamelOne
Wire Tap
13
from(“direct:start”)
.wiretap(“direct:tap”)
.to(“direct:other”);
from(“direct:tap”)
.log(“something interesting happened”);
from(“direct:other”)
.wiretap(“activemq:queue:tap”)
.to(“direct:other”);
Runs on different thread / thread pool
Default Thread Pool - initial 10; grows to 20
CamelOne 2013
CamelOne
Wire Tap
14
from(“direct:start”)
.wiretap(“direct:tap-mod”)
.delay(constant(1000))
.log(“Oops! Body changed unexpectedly”);
from(“direct:tap-mod”)
.bean(BodyModifier.class, // Modifies message body
“changeIt”);
Message, Header, and Properties passed by reference
CamelOne 2013
CamelOne
Wire Tap
15
from(“direct:start”)
.wiretap(“direct:tap-mod”)
.onPrepare(new DeepCloningProcessor())
.delay(constant(1000))
.log(“Yay! Body not changed.”);
from(“direct:tap-mod”)
.bean(BodyModifier.class, “changeIt”);
onPrepare calls Processor before wiretap endpoint
CamelOne 2013
CamelOne
Throttler
For when you need to limit the number of
concurrent calls made a sequence of actions. For
example, limit calls to a back-end ERP.
16
CamelOne 2013
CamelOne
Throttler
17
from(“direct:start”)
.throttle(constant(5)) // max per period expression
.to(“direct:throttled”) // step(s) being throttled
.end() // end of step(s)
.to(“direct:post-throttle”);
Example limits to 5 messages per 1,000 ms (default)
Should use end() to delimit steps being throttled
CamelOne 2013
CamelOne
Throttler
18
from(“direct:start”)
.throttle(header(“message-limit”)) // expression
.to(“direct:throttled”)
.end()
.to(“direct:post-throttle”);
Example throttles to value in header “message-limit”
Will use last value if Expression evaluates to null
CamelOne 2013
CamelOne
Throttler
19
from(“direct:start”)
.throttle(constant(5))
.timePeriodMillis(2000) // value in milliseconds
.to(“direct:throttled”)
.end()
.to(“direct:post-throttle”);
Example limits to 5 messages per 2,000 ms
CamelOne 2013
CamelOne
Throttler
20
from(“direct:start”)
.throttle(constant(5))
.asyncDelayed()
.to(“direct:throttled”)
.end()
.to(“direct:post-throttle”);
asyncDelayed() causes throttled requests to be queued
for future processing, releasing calling thread (non-
blocking)
CamelOne 2013
CamelOne
XSLT
Camel supports many different ways to transform
data, for example using XSLT to transform XML.
21
CamelOne 2013
CamelOne
XSLT
22
from(“direct:start”)
.to(“xslt:books.xslt”);
Example uses books.xslt on classpath: (default)
Also supports file: and http:
CamelOne 2013
CamelOne
XSLT
23
from(“direct:start”)
.to(“xslt:books.xslt?output=DOM”);
output controls output data type
Supports: string (default), bytes, DOM, and file
output=file writes directly to disk; path must exist
File name controlled by header “CamelXsltFileName”
CamelOne 2013
CamelOne
XSLT
24
from(“direct:start”)
.setHeader(“myParamValue”, constant(“29.99”))
.to(“xslt:books-with-param.xslt”);
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="myParamValue"/>
<xsl:template match="/">
<books>
<xsl:attribute name="value">
<xsl:value-of select="$myParamValue"/>
</xsl:attribute>
<xsl:apply-templates
select="/bookstore/book/title[../price>$myParamValue]">
<xsl:sort select="."/>
</xsl:apply-templates>
</books>
</xsl:template>
...
</xsl:stylesheet>
CamelOne 2013
CamelOne
Mock Endpoints
Camel provides some very powerful Unit Testing
capabilities. Its MockEndpoint class supports complex
expressions to validate your routes.
25
CamelOne 2013
CamelOne
Mock Endpoints
26
from("direct:start")
.filter().simple("${body} contains 'Camel'")
.to("mock:camel")
.end();
public class ContentBasedRouterTest
extends CamelTestSupport {
@Test
public void testCamel() throws Exception {
getMockEndpoint("mock:camel")
.expectedMessageCount(1);
template.sendBody("direct:start", "Camel Rocks!");
assertMockEndpointsSatisfied();
}
...
}
CamelOne 2013
CamelOne
Mock Endpoints
27
MockEndpoint mockCamel = getMockEndpoint("mock:camel");
mockCamel.expectedMessageCount(2);
mockCamel.message(0).body().isEqualTo("Camel Rocks");
mockCamel.message(0).header("verified").isEqualTo(true);
mockCamel.message(0).arrives().noLaterThan(50).millis()
.beforeNext();
mockCamel.allMessages()
.simple("${header.verified} == true");
template.sendBody("direct:start", "Camel Rocks");
template.sendBody("direct:start", "Loving the Camel");
mockCamel.assertIsSatisfied();
Exchange exchange0 = mockCamel.assertExchangeReceived(0);
Exchange exchange1 = mockCamel.assertExchangeReceived(1);
assertEquals(exchange0.getIn().getHeader("verified"),
exchange1.getIn().getHeader("verified"));
CamelOne 2013
CamelOne
Mock Endpoints
28
from("direct:start")
.inOut("mock:replying")
.to("mock:out");
getMockEndpoint("mock:replying")
.returnReplyBody(
SimpleBuilder.simple("Hello ${body}"));
getMockEndpoint("mock:out")
.expectedBodiesReceived(“Hello Camel”);
template.sendBody(“direct:start”, “Camel”);
assertMockEndpointsSatisfied();
Mock Responding
CamelOne 2013
CamelOne
Mock Endpoints
29
from(“direct:start”)
.to(“activemq:out”);
public class ContentBasedRouterTest
extends CamelTestSupport {
@Override
public String isMockEndpoints() {
return “activemq:out”;
}
@Test
public void testCamel() throws Exception {
getMockEndpoint("mock:activemq:out")
.expectedMessageCount(1);
template.sendBody("direct:start", "Camel Rocks!");
assertMockEndpointsSatisfied();
}
}
Auto Mocking
CamelOne 2013
CamelOne
POJO Producing
Camel’s ProducerTemplate is seen mostly in Unit
Tests, and it provides a great way to interact with
Camel from your existing code.
30
CamelOne 2013
CamelOne
POJO Producing
31
public class ProducePojo {
@Produce
private ProducerTemplate template;
public String sayHello(String name) {
return template.requestBody("activemq:sayhello",
name, String.class);
}
}
Send (InOnly) or Request (InOut) to Endpoint or Route
CamelOne 2013
CamelOne
POJO Producing
32
public interface ProxyPojo {
String sayHello(String name);
}
public class ProxyProduce {
@Produce(uri = "activemq:queue:sayhello")
ProxyPojo myProxy;
public String doSomething(String name) {
return myProxy.sayHello(name);
}
}
Proxy template Java interface to make use clearer
CamelOne 2013
CamelOne
Parameter Binding
Camel was designed to work well with calling
POJOs. Parameter Binding allows you to, within the
route, map the message to the method parameters.
This makes it even easier to call POJOs from Camel.
33
CamelOne 2013
CamelOne
Parameter Binding
34
public String myMethod(
@Header(“JMSCorrelationID”) String id,
@Body String message) {
...
}
public String myOtherMethod(
@XPath(“/myDate/people/@id”) String id,
@Body String message) {
...
}
CamelOne 2013
CamelOne
Parameter Binding
35
public class MyBean {
public String sayHello(String name, boolean fanboy) {
return (fanboy) ? ("Hello iPhone")
: ("Hello " + name);
}
}
from("direct:fanboy")
.bean(MyBean.class, "sayHello(${body}, true)");
from("direct:undecided")
.bean(MyBean.class, "sayHello(${body},
${header.fanboy})");
Send (InOnly) or Request (InOut) to Endpoint or Route
CamelOne
CamelOne 2013
Questions?
36
CamelOne 2013
CamelOne
Camel Enterprise Integration Cookbook
Topics include:
Structuring Routes, Routing, Split/Join,Transformation,Testing,
Error Handling, Monitoring and Debugging, Extending Camel,
Parallel processing, Security,Transactions, ...
~110 Recipes
Co-Authors: Scott Cranton and Jakub Korab
https://github.com/CamelCookbook/
Welcome feedback, reviews, contributions, ...
37

Mais conteúdo relacionado

Mais procurados

Workshop apache camel
Workshop apache camelWorkshop apache camel
Workshop apache camelMarko Seifert
 
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface
 
Php classes in mumbai
Php classes in mumbaiPhp classes in mumbai
Php classes in mumbaiaadi Surve
 
Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-IIIprinceirfancivil
 
Primefaces Nextgen Lju
Primefaces Nextgen LjuPrimefaces Nextgen Lju
Primefaces Nextgen LjuSkills Matter
 
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface
 
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...DataStax
 
Advanced moduledevelopment d6_slideshare
Advanced moduledevelopment d6_slideshareAdvanced moduledevelopment d6_slideshare
Advanced moduledevelopment d6_slideshareOpevel
 
What's New in Enterprise JavaBean Technology ?
What's New in Enterprise JavaBean Technology ?What's New in Enterprise JavaBean Technology ?
What's New in Enterprise JavaBean Technology ?Sanjeeb Sahoo
 
Writing Redis in Python with asyncio
Writing Redis in Python with asyncioWriting Redis in Python with asyncio
Writing Redis in Python with asyncioJames Saryerwinnie
 
Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet examplervpprash
 
Azure Day Reloaded 2019 - ARM Template workshop
Azure Day Reloaded 2019 - ARM Template workshopAzure Day Reloaded 2019 - ARM Template workshop
Azure Day Reloaded 2019 - ARM Template workshopMarco Obinu
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVCAcquisio
 
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsRaimonds Simanovskis
 
Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on OracleFast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on OracleRaimonds Simanovskis
 
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developersSoftshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developersMatthew Farwell
 

Mais procurados (20)

Workshop apache camel
Workshop apache camelWorkshop apache camel
Workshop apache camel
 
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Php classes in mumbai
Php classes in mumbaiPhp classes in mumbai
Php classes in mumbai
 
Os Furlong
Os FurlongOs Furlong
Os Furlong
 
Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-III
 
Primefaces Nextgen Lju
Primefaces Nextgen LjuPrimefaces Nextgen Lju
Primefaces Nextgen Lju
 
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
 
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...
 
Os Pruett
Os PruettOs Pruett
Os Pruett
 
Advanced moduledevelopment d6_slideshare
Advanced moduledevelopment d6_slideshareAdvanced moduledevelopment d6_slideshare
Advanced moduledevelopment d6_slideshare
 
What's New in Enterprise JavaBean Technology ?
What's New in Enterprise JavaBean Technology ?What's New in Enterprise JavaBean Technology ?
What's New in Enterprise JavaBean Technology ?
 
Writing Redis in Python with asyncio
Writing Redis in Python with asyncioWriting Redis in Python with asyncio
Writing Redis in Python with asyncio
 
Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet example
 
Azure Day Reloaded 2019 - ARM Template workshop
Azure Day Reloaded 2019 - ARM Template workshopAzure Day Reloaded 2019 - ARM Template workshop
Azure Day Reloaded 2019 - ARM Template workshop
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVC
 
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
 
Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on OracleFast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on Oracle
 
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developersSoftshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
 

Destaque

Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache CamelClaus Ibsen
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011JUG Lausanne
 
Simplify your integrations with Apache Camel
Simplify your integrations with Apache CamelSimplify your integrations with Apache Camel
Simplify your integrations with Apache CamelKenneth Peeples
 
Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Christian Posta
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO Christian Posta
 
Aktualny stan social media
Aktualny stan social mediaAktualny stan social media
Aktualny stan social mediaŁukasz Dębski
 

Destaque (7)

Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache Camel
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011
 
Simplify your integrations with Apache Camel
Simplify your integrations with Apache CamelSimplify your integrations with Apache Camel
Simplify your integrations with Apache Camel
 
Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
 
Aktualny stan social media
Aktualny stan social mediaAktualny stan social media
Aktualny stan social media
 

Semelhante a Get Cooking with Apache Camel

Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix
Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMixEasy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix
Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMixelliando dias
 
Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfClaus Ibsen
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
 
DOSUG Taking Apache Camel For A Ride
DOSUG Taking Apache Camel For A RideDOSUG Taking Apache Camel For A Ride
DOSUG Taking Apache Camel For A RideMatthew McCullough
 
Mazda Use of Third Generation Xml Tools
Mazda Use of Third Generation Xml ToolsMazda Use of Third Generation Xml Tools
Mazda Use of Third Generation Xml ToolsCardinaleWay Mazda
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosJoe Stein
 
Dax Declarative Api For Xml
Dax   Declarative Api For XmlDax   Declarative Api For Xml
Dax Declarative Api For XmlLars Trieloff
 
Taking Apache Camel For a Ride
Taking Apache Camel For a RideTaking Apache Camel For a Ride
Taking Apache Camel For a RideBruce Snyder
 
Red Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsRed Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsJudy Breedlove
 
Introduction To Scala
Introduction To ScalaIntroduction To Scala
Introduction To ScalaPeter Maas
 
Viking academy backbone.js
Viking academy  backbone.jsViking academy  backbone.js
Viking academy backbone.jsBert Wijnants
 
Angular JS in 2017
Angular JS in 2017Angular JS in 2017
Angular JS in 2017Ayush Sharma
 
Xke - Introduction to Apache Camel
Xke - Introduction to Apache CamelXke - Introduction to Apache Camel
Xke - Introduction to Apache CamelAlexis Kinsella
 
Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Matt Raible
 
Introduciton to Apache Cassandra for Java Developers (JavaOne)
Introduciton to Apache Cassandra for Java Developers (JavaOne)Introduciton to Apache Cassandra for Java Developers (JavaOne)
Introduciton to Apache Cassandra for Java Developers (JavaOne)zznate
 
Mule and web services
Mule and web servicesMule and web services
Mule and web servicesvenureddymasu
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Templatehannonhill
 

Semelhante a Get Cooking with Apache Camel (20)

Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix
Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMixEasy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix
Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix
 
Camel as a_glue
Camel as a_glueCamel as a_glue
Camel as a_glue
 
Riding Apache Camel
Riding Apache CamelRiding Apache Camel
Riding Apache Camel
 
Jstl Guide
Jstl GuideJstl Guide
Jstl Guide
 
Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
 
DOSUG Taking Apache Camel For A Ride
DOSUG Taking Apache Camel For A RideDOSUG Taking Apache Camel For A Ride
DOSUG Taking Apache Camel For A Ride
 
Mazda Use of Third Generation Xml Tools
Mazda Use of Third Generation Xml ToolsMazda Use of Third Generation Xml Tools
Mazda Use of Third Generation Xml Tools
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 
Dax Declarative Api For Xml
Dax   Declarative Api For XmlDax   Declarative Api For Xml
Dax Declarative Api For Xml
 
Taking Apache Camel For a Ride
Taking Apache Camel For a RideTaking Apache Camel For a Ride
Taking Apache Camel For a Ride
 
Red Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsRed Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop Labs
 
Introduction To Scala
Introduction To ScalaIntroduction To Scala
Introduction To Scala
 
Viking academy backbone.js
Viking academy  backbone.jsViking academy  backbone.js
Viking academy backbone.js
 
Angular JS in 2017
Angular JS in 2017Angular JS in 2017
Angular JS in 2017
 
Xke - Introduction to Apache Camel
Xke - Introduction to Apache CamelXke - Introduction to Apache Camel
Xke - Introduction to Apache Camel
 
Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015
 
Introduciton to Apache Cassandra for Java Developers (JavaOne)
Introduciton to Apache Cassandra for Java Developers (JavaOne)Introduciton to Apache Cassandra for Java Developers (JavaOne)
Introduciton to Apache Cassandra for Java Developers (JavaOne)
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Template
 

Último

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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 MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Último (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Get Cooking with Apache Camel