SlideShare a Scribd company logo
JBoss Fuse 101
Getting Started workshop
Christina Lin
JBoss Technology Evangelist
clin@redhat.com
RED HAT CONFIDENTIAL | ADD NAME2
Message Transformation
RED HAT CONFIDENTIAL | ADD NAME3
Message Transformation
Format / Type
Transformation
Metadata update
Message Content
enrichment/reduction
RED HAT CONFIDENTIAL | ADD NAME4
Data Transformation
XML
CSV
JSON
POJO
Transform
Marshal/Unmarshal
Processor
Bean
Format
FileString
Text
Date
Type
RED HAT CONFIDENTIAL | ADD NAME5
Marshal
Component Component
XML
CVS
JSON
POJO
RED HAT CONFIDENTIAL | ADD NAME6
Marshal
<marshal>
<xmljson/>
</marshal>
<marshal>
<jaxb partClass=“example.TradeOrder”
contextPath=“example"/>
</marshal>
<marshal>
<bindy classtype=”example.Product" type="Csv">
</marshal>
<marshal>
<serialization/>
</marshal>
RED HAT CONFIDENTIAL | ADD NAME7
Unmarshal
Component Component
XML
CVS
JSON
POJO
RED HAT CONFIDENTIAL | ADD NAME8
Unmarshal
<unmarshal>
<xmljson/>
</unmarshal>
<unmarshal>
<jaxb partClass=“example.TradeOrder”
contextPath=“example"/>
</unmarshal>
<unmarshal>
<bindy classtype=”example.Product" type="Csv">
</unmarshal>
<unmarshal>
<serialization/>
</unmarshal>
RED HAT CONFIDENTIAL | ADD NAME9
Transform
Constant
xquery
simple
javascript
Expression
<constant>Harry Potter</constant>
<xquery>
For $/bookstore/book
where $x/price>30
return $x/title
</xquery>
<simple> <books>${in.body} <books>
</simple>
<javaScript>
request.body.toLowerCase()
</javaScript>
RED HAT CONFIDENTIAL | ADD NAME10
Processor
package org.blogdemo.transformation;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class DataProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
String incomingData = exchange.getIn().getBody(String.class);
incomingData = "Hello"+incomingData;
exchange.getIn().setBody(incomingData);
}
}
Processor
RED HAT CONFIDENTIAL | ADD NAME11
Processor
<bean id="DataProcessor" class="org.blogdemo.transformation.DataProcessor"/>
<camelContext trace="false" id="blueprintContext"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="file://somewhere?delete=true"/>
<process ref="DataProcessor"/>
<to uri="file://elsewhere"/>
</route>
</camelContext> Calling processor
RED HAT CONFIDENTIAL | ADD NAME12
Bean
package org.blogdemo.transformation;
public class ConvertBean {
public static String addHello(String inputContent) {
return "Hellp "+inputContent;
}
}
<bean id="ConvertBean" class="org.blogdemo.transformation.ConvertBean"/>
<camelContext trace="false" id="blueprintContext"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="file://somewhere?delete=true"/>
<bean method="addHello" ref="ConvertBean"/>
<to uri="file://elsewhere"/>
</route>
</camelContext>
Calling bean
RED HAT CONFIDENTIAL | ADD NAME13
Bean
RED HAT CONFIDENTIAL | ADD NAME14
META DATA Update
Body
Header
Change or remove
properties here
RED HAT CONFIDENTIAL | ADD NAME15
Message content enrichment
Content Enricher
Resequencer
Claim Check
Content Filter
Normalizer
RED HAT CONFIDENTIAL | ADD NAME16
My 2nd Camel Ride
Stock
purchase
XML
JSON
POJO
Another
Vendor

More Related Content

PDF
JBoss Fuse Workshop 101 part 6
PDF
JBoss Fuse Workshop 101 part 3
PPTX
Jboss Fuse Workshop 101 part 1
PDF
JBoss Fuse Workshop 101 part 5
PDF
Messaging on the cloud with xPAAS
PPTX
Cold fusion is racecar fast
ODP
W-JAX 2011: OSGi with Apache Karaf
PDF
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
JBoss Fuse Workshop 101 part 6
JBoss Fuse Workshop 101 part 3
Jboss Fuse Workshop 101 part 1
JBoss Fuse Workshop 101 part 5
Messaging on the cloud with xPAAS
Cold fusion is racecar fast
W-JAX 2011: OSGi with Apache Karaf
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik

What's hot (20)

PPT
OSGi & Blueprint
PDF
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
PDF
ApacheCon EU 2014: Enterprise Development with Apache Karaf
PDF
A Cassandra driver from and for the Lua community
PDF
What's new in the OSGi Enterprise Release 5.0
ODP
Presentation2
PPT
Presentation2On25June
PPTX
Keynote: Welcome Message/State of Apache HBase
PDF
MySQL on Docker - Containerizing the Dolphin
PDF
Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl
PDF
Microservices OSGi-running-with-apache-karaf
PDF
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
PDF
PBX on a non-specialized distro
PPTX
OSGi Community Update
PDF
Kong in 1.x Territory
PPTX
Introduction to NGINX web server
PDF
ProxySQL - High Performance and HA Proxy for MySQL
PDF
HTTP/2 (2017)
ODP
Under the Hood 11g Identity Management
OSGi & Blueprint
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
ApacheCon EU 2014: Enterprise Development with Apache Karaf
A Cassandra driver from and for the Lua community
What's new in the OSGi Enterprise Release 5.0
Presentation2
Presentation2On25June
Keynote: Welcome Message/State of Apache HBase
MySQL on Docker - Containerizing the Dolphin
Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl
Microservices OSGi-running-with-apache-karaf
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
PBX on a non-specialized distro
OSGi Community Update
Kong in 1.x Territory
Introduction to NGINX web server
ProxySQL - High Performance and HA Proxy for MySQL
HTTP/2 (2017)
Under the Hood 11g Identity Management
Ad

More from Christina Lin (20)

PPTX
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
PDF
Bangalore Meetup - Enable realtime machine learning with streaming data
PDF
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
PDF
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
PDF
Kafka summit apac session
PDF
Serverless integration anatomy
PDF
Day in the life event-driven workshop
PDF
Agile integration cloud native developement
PDF
Dev conf .in cloud native reference architecture .advance
PDF
Camel k Taiwan Java user group
PDF
Devoxxma-API centric microservices Architecture
PDF
JBoss Fuse - Fuse workshop EAP container
PDF
Supercharge Your Integration Services
PDF
Improve business process with microservice integration
PDF
Integrating BPM with Fuse
PDF
Scalable Integration with JBoss Fuse
PDF
JBoss Fuse - Fuse workshop Error Handling
PDF
JBoss Fuse Workshop 101 part 4
PPTX
中間件趨勢 與 Red Hat JBoss
PDF
Taipei – 加速、整合、自動化
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Bangalore Meetup - Enable realtime machine learning with streaming data
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Kafka summit apac session
Serverless integration anatomy
Day in the life event-driven workshop
Agile integration cloud native developement
Dev conf .in cloud native reference architecture .advance
Camel k Taiwan Java user group
Devoxxma-API centric microservices Architecture
JBoss Fuse - Fuse workshop EAP container
Supercharge Your Integration Services
Improve business process with microservice integration
Integrating BPM with Fuse
Scalable Integration with JBoss Fuse
JBoss Fuse - Fuse workshop Error Handling
JBoss Fuse Workshop 101 part 4
中間件趨勢 與 Red Hat JBoss
Taipei – 加速、整合、自動化
Ad

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Encapsulation theory and applications.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
August Patch Tuesday
PPTX
A Presentation on Touch Screen Technology
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A novel scalable deep ensemble learning framework for big data classification...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
TLE Review Electricity (Electricity).pptx
DP Operators-handbook-extract for the Mautical Institute
Heart disease approach using modified random forest and particle swarm optimi...
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A comparative study of natural language inference in Swahili using monolingua...
Web App vs Mobile App What Should You Build First.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
1 - Historical Antecedents, Social Consideration.pdf
Enhancing emotion recognition model for a student engagement use case through...
Encapsulation theory and applications.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Assigned Numbers - 2025 - Bluetooth® Document
August Patch Tuesday
A Presentation on Touch Screen Technology
Chapter 5: Probability Theory and Statistics
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
MIND Revenue Release Quarter 2 2025 Press Release

JBoss Fuse Workshop 101 part 2

  • 1. JBoss Fuse 101 Getting Started workshop Christina Lin JBoss Technology Evangelist clin@redhat.com
  • 2. RED HAT CONFIDENTIAL | ADD NAME2 Message Transformation
  • 3. RED HAT CONFIDENTIAL | ADD NAME3 Message Transformation Format / Type Transformation Metadata update Message Content enrichment/reduction
  • 4. RED HAT CONFIDENTIAL | ADD NAME4 Data Transformation XML CSV JSON POJO Transform Marshal/Unmarshal Processor Bean Format FileString Text Date Type
  • 5. RED HAT CONFIDENTIAL | ADD NAME5 Marshal Component Component XML CVS JSON POJO
  • 6. RED HAT CONFIDENTIAL | ADD NAME6 Marshal <marshal> <xmljson/> </marshal> <marshal> <jaxb partClass=“example.TradeOrder” contextPath=“example"/> </marshal> <marshal> <bindy classtype=”example.Product" type="Csv"> </marshal> <marshal> <serialization/> </marshal>
  • 7. RED HAT CONFIDENTIAL | ADD NAME7 Unmarshal Component Component XML CVS JSON POJO
  • 8. RED HAT CONFIDENTIAL | ADD NAME8 Unmarshal <unmarshal> <xmljson/> </unmarshal> <unmarshal> <jaxb partClass=“example.TradeOrder” contextPath=“example"/> </unmarshal> <unmarshal> <bindy classtype=”example.Product" type="Csv"> </unmarshal> <unmarshal> <serialization/> </unmarshal>
  • 9. RED HAT CONFIDENTIAL | ADD NAME9 Transform Constant xquery simple javascript Expression <constant>Harry Potter</constant> <xquery> For $/bookstore/book where $x/price>30 return $x/title </xquery> <simple> <books>${in.body} <books> </simple> <javaScript> request.body.toLowerCase() </javaScript>
  • 10. RED HAT CONFIDENTIAL | ADD NAME10 Processor package org.blogdemo.transformation; import org.apache.camel.Exchange; import org.apache.camel.Processor; public class DataProcessor implements Processor { @Override public void process(Exchange exchange) throws Exception { String incomingData = exchange.getIn().getBody(String.class); incomingData = "Hello"+incomingData; exchange.getIn().setBody(incomingData); } } Processor
  • 11. RED HAT CONFIDENTIAL | ADD NAME11 Processor <bean id="DataProcessor" class="org.blogdemo.transformation.DataProcessor"/> <camelContext trace="false" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="file://somewhere?delete=true"/> <process ref="DataProcessor"/> <to uri="file://elsewhere"/> </route> </camelContext> Calling processor
  • 12. RED HAT CONFIDENTIAL | ADD NAME12 Bean package org.blogdemo.transformation; public class ConvertBean { public static String addHello(String inputContent) { return "Hellp "+inputContent; } } <bean id="ConvertBean" class="org.blogdemo.transformation.ConvertBean"/> <camelContext trace="false" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="file://somewhere?delete=true"/> <bean method="addHello" ref="ConvertBean"/> <to uri="file://elsewhere"/> </route> </camelContext> Calling bean
  • 13. RED HAT CONFIDENTIAL | ADD NAME13 Bean
  • 14. RED HAT CONFIDENTIAL | ADD NAME14 META DATA Update Body Header Change or remove properties here
  • 15. RED HAT CONFIDENTIAL | ADD NAME15 Message content enrichment Content Enricher Resequencer Claim Check Content Filter Normalizer
  • 16. RED HAT CONFIDENTIAL | ADD NAME16 My 2nd Camel Ride Stock purchase XML JSON POJO Another Vendor

Editor's Notes

  • #3: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #4: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #5: The data format of the message body is transformed from one form to another. For example, a CSV record is formatted as XML.
  • #6: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #7: marshaling process is provided in ready-to-use components known as data formats.
  • #8: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #9: marshaling process is provided in ready-to-use components known as data formats.
  • #10: Scripting languages as expressions in Camel
  • #11: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #12: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #13: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #14: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #15: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)
  • #17: Reduces the pain of integrating disparate applications (on-premise, cloud or hybrid)