SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Camel Overview
Apa itu Apache Camel?
Apache camel (Fuse Mediation Router) merupakansebuah integrasi framework
opensourceberdasarkan Enterprise Integration Patterns.Apache camel juga
menyediakan bahasa (DSL) untuk mendefinisikan routing.Misalnya,ada file baru di
upload,kemudian parsing,insert ke database lalu kirim notifikasi.Camel menggunakan
URI untuk bekerja secara langsung dengan segala jenis Transportasi atau model
messaging seperti HTTP,ActiveMQ,JMS,JBI,SCA,MINA atau CXF,serta komponen
pluggable dan pilihan formatdata,camel juga merupakan sebuah perpustakaan kecil
dengan defendensi minimal untuk embeding dalam aplikasi java.camel memungkinkan
anda bekerja dengan API yang sama terlepas dari jeis transport yang
digunakan,jadi belajar API sekali dan anda bisa berinteraksi dengan semua
komponen yang di sediaka di out-of-box.Proyek-proyek berikut dapat
memanfaatkan Apache Camel sebagai routing dan mesin mediasi.
- Apache Servicemix -ESB dan JBI kontainer
-Apache ActiveMQ -banyak digunakan sumber broker
-Apache Karaf – runtime OSGI kecil berbasis dimana aplkasi dapat digunakan
-Apache Mina – Kinerja tinggi NIO berbasis Framework jaringan
Enterprise Integration Patterns Dalam Camel Terdiri
                         Dari :




Messaging System
Messaging Channels
Message Contruction
Message Routing
Message Transformation
Message Endpoints dan
System Management
Enterprise Integration Pattern
Integrasi Camel dan EIP




   from(“a”).to(“b”)
from(“a”).choice().when().
  method(“controlBean”,“isOK”).
  to(“x”).end().
pipeline(“b”, “c”, “d”);
                           Meruvian Hunabku Team
Komponen Camel
Endpoint URI

         <component-name>:<component-spec>[?params]

from(“file:/tmp?consumer.delay=1000”)

from(“bean:myBean?methodName=getOrders”)

from(“quickfix-server:server.cfg?log=#loggingFactoryBean”)
Filter Route – Java DSL




 import org.apache.camel.builder.RouteBuilder;

 public class FilterRoute extends RouteBuilder {
public void configure() throws Exception {
from("activemq:queue:quote")
     .filter().xpath("/quote/product =‘widget’")
         .to("mq:quote");
     }
} 
Filter Route – Java DSL


public void configure() throws Exception {
    Endpoint A = endpoint("activemq:queue:quote");
    Endpoint B = endpoint("mq:quote");
    Predicate isWidget = xpath("/quote/product = ‘widget’");
    from(A).filter(isWidget).to(B);
 }
import org.apache.camel.builder.RouteBuilder;
import static org.apache.camel.builder.xml.XPathBuilder.xpath;
public class FilterRoute extends RouteBuilder {
public void configure() throws Exception {
    Endpoint A = endpoint("activemq:queue:quote");
   Endpoint B = endpoint("mq:quote");
    Predicate isWidget = xpath("/quote/product = ‘widget’");
from(A).filter(isWidget).to(B); }
 }
Content Based Router
Content Based Router
Message Filter
Splitter
Bean sebagai Message Translator
Aggregator
Resequencer
Routing Slip
Error Handling
try … catch … finally
Message-Driven POJO
Camel dan ActiveMQ

${ACTIVEMQ_HOME}/conf/activemq.xml

<camelContext id=“camel”
              xmlns=“http://camel.apache.org/schema/spring”>

  <route>
      <!-- you can add routes here -->
  </route>
</camelContext>
ELVISDOTCOM333

Mais conteúdo relacionado

Destaque

Take The Bull By The Horns
Take The Bull By The HornsTake The Bull By The Horns
Take The Bull By The HornsEliana N.
 
Webquest.Com
Webquest.ComWebquest.Com
Webquest.Commollym
 
Nocturnal animals ben d
Nocturnal animals ben dNocturnal animals ben d
Nocturnal animals ben dcaron61
 
Steven's Odd Chapter Painted Cave Timeline
Steven's Odd Chapter Painted Cave TimelineSteven's Odd Chapter Painted Cave Timeline
Steven's Odd Chapter Painted Cave Timelineschung16
 
The truth about Tigers
The truth about TigersThe truth about Tigers
The truth about Tigerstwuniversity
 
Top ten strangest world record
Top ten strangest world recordTop ten strangest world record
Top ten strangest world recordTopten Ofcity
 
Glib superficial charm
Glib superficial charmGlib superficial charm
Glib superficial charmemilycascarino
 
How to properly pet animals
How to properly pet animalsHow to properly pet animals
How to properly pet animalsfovarosibloghu
 
Nocturnal Animals
Nocturnal AnimalsNocturnal Animals
Nocturnal Animalscaron61
 
Bens Bengal Tiger Paragraph
Bens Bengal Tiger ParagraphBens Bengal Tiger Paragraph
Bens Bengal Tiger ParagraphKim Sigismondi
 
2nd qtr 5 adaptation part 1
2nd qtr 5 adaptation part 12nd qtr 5 adaptation part 1
2nd qtr 5 adaptation part 1Shirley Sison
 
Secuencia Tarea CamStudio ArthurTavares
Secuencia Tarea CamStudio ArthurTavaresSecuencia Tarea CamStudio ArthurTavares
Secuencia Tarea CamStudio ArthurTavaresarthurtavares2014
 
Venomous marine
Venomous marineVenomous marine
Venomous marineEM OMSB
 

Destaque (20)

Foxes
FoxesFoxes
Foxes
 
Netesha tiger powerpoint
Netesha tiger powerpointNetesha tiger powerpoint
Netesha tiger powerpoint
 
Take The Bull By The Horns
Take The Bull By The HornsTake The Bull By The Horns
Take The Bull By The Horns
 
Webquest.Com
Webquest.ComWebquest.Com
Webquest.Com
 
Nocturnal animals ben d
Nocturnal animals ben dNocturnal animals ben d
Nocturnal animals ben d
 
Steven's Odd Chapter Painted Cave Timeline
Steven's Odd Chapter Painted Cave TimelineSteven's Odd Chapter Painted Cave Timeline
Steven's Odd Chapter Painted Cave Timeline
 
The truth about Tigers
The truth about TigersThe truth about Tigers
The truth about Tigers
 
Top ten strangest world record
Top ten strangest world recordTop ten strangest world record
Top ten strangest world record
 
Glib superficial charm
Glib superficial charmGlib superficial charm
Glib superficial charm
 
Reef Monitoring 3
Reef Monitoring 3Reef Monitoring 3
Reef Monitoring 3
 
How to properly pet animals
How to properly pet animalsHow to properly pet animals
How to properly pet animals
 
Nocternal Diurnal
Nocternal DiurnalNocternal Diurnal
Nocternal Diurnal
 
Nocturnal Animals
Nocturnal AnimalsNocturnal Animals
Nocturnal Animals
 
Aye aye
Aye aye Aye aye
Aye aye
 
Bens Bengal Tiger Paragraph
Bens Bengal Tiger ParagraphBens Bengal Tiger Paragraph
Bens Bengal Tiger Paragraph
 
2nd qtr 5 adaptation part 1
2nd qtr 5 adaptation part 12nd qtr 5 adaptation part 1
2nd qtr 5 adaptation part 1
 
Aye Aye
Aye AyeAye Aye
Aye Aye
 
Secuencia Tarea CamStudio ArthurTavares
Secuencia Tarea CamStudio ArthurTavaresSecuencia Tarea CamStudio ArthurTavares
Secuencia Tarea CamStudio ArthurTavares
 
Venomous marine
Venomous marineVenomous marine
Venomous marine
 
Animal adaptation
Animal adaptation Animal adaptation
Animal adaptation
 

Semelhante a Camel overview

Meruvian Integration Server - Hunabku v.1.1
Meruvian Integration Server - Hunabku v.1.1Meruvian Integration Server - Hunabku v.1.1
Meruvian Integration Server - Hunabku v.1.1The World Bank
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLI Putu Hariyadi
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterAdi Setiawan
 
Web Service Menggunakan Axis
Web Service Menggunakan AxisWeb Service Menggunakan Axis
Web Service Menggunakan AxisBart Simpsons
 
Tugas 3 0317 hendrie prasetyo 1612510899
Tugas 3 0317 hendrie prasetyo 1612510899Tugas 3 0317 hendrie prasetyo 1612510899
Tugas 3 0317 hendrie prasetyo 1612510899hendrieprasetyo
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
PEMROGRAMAN WEB_laravel.pptx
PEMROGRAMAN WEB_laravel.pptxPEMROGRAMAN WEB_laravel.pptx
PEMROGRAMAN WEB_laravel.pptxssuser09edbf
 
0301_Pertemuan 1.pdf
0301_Pertemuan 1.pdf0301_Pertemuan 1.pdf
0301_Pertemuan 1.pdfyenisianturi4
 
Perkembangan web server di linux
Perkembangan web server di linuxPerkembangan web server di linux
Perkembangan web server di linuxNursaniATakome
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1gung_sono
 
Tugas rekweb 0316 arifmunandar 1312510124
Tugas rekweb 0316 arifmunandar 1312510124Tugas rekweb 0316 arifmunandar 1312510124
Tugas rekweb 0316 arifmunandar 1312510124arief munandar
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpCahya Dwiana SN
 
Service Function Chaining in OpenStack & Demo Scenario
Service Function Chaining in OpenStack & Demo ScenarioService Function Chaining in OpenStack & Demo Scenario
Service Function Chaining in OpenStack & Demo ScenarioMuhammad Luthfi As Syafii
 
Laravel Basic Development
Laravel Basic Development Laravel Basic Development
Laravel Basic Development ssuser1fd02a1
 

Semelhante a Camel overview (20)

Meruvian Integration Server - Hunabku v.1.1
Meruvian Integration Server - Hunabku v.1.1Meruvian Integration Server - Hunabku v.1.1
Meruvian Integration Server - Hunabku v.1.1
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQL
 
FreeBSD Web Server
FreeBSD Web ServerFreeBSD Web Server
FreeBSD Web Server
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniter
 
Web Service Menggunakan Axis
Web Service Menggunakan AxisWeb Service Menggunakan Axis
Web Service Menggunakan Axis
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
Tugas 3 0317 hendrie prasetyo 1612510899
Tugas 3 0317 hendrie prasetyo 1612510899Tugas 3 0317 hendrie prasetyo 1612510899
Tugas 3 0317 hendrie prasetyo 1612510899
 
Tugas 3 0317
Tugas 3 0317Tugas 3 0317
Tugas 3 0317
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
PEMROGRAMAN WEB_laravel.pptx
PEMROGRAMAN WEB_laravel.pptxPEMROGRAMAN WEB_laravel.pptx
PEMROGRAMAN WEB_laravel.pptx
 
0301_Pertemuan 1.pdf
0301_Pertemuan 1.pdf0301_Pertemuan 1.pdf
0301_Pertemuan 1.pdf
 
Perkembangan web server
Perkembangan web serverPerkembangan web server
Perkembangan web server
 
Perkembangan web server di linux
Perkembangan web server di linuxPerkembangan web server di linux
Perkembangan web server di linux
 
05 rw
05 rw05 rw
05 rw
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1
 
Tugas 4
Tugas 4Tugas 4
Tugas 4
 
Tugas rekweb 0316 arifmunandar 1312510124
Tugas rekweb 0316 arifmunandar 1312510124Tugas rekweb 0316 arifmunandar 1312510124
Tugas rekweb 0316 arifmunandar 1312510124
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan php
 
Service Function Chaining in OpenStack & Demo Scenario
Service Function Chaining in OpenStack & Demo ScenarioService Function Chaining in OpenStack & Demo Scenario
Service Function Chaining in OpenStack & Demo Scenario
 
Laravel Basic Development
Laravel Basic Development Laravel Basic Development
Laravel Basic Development
 

Camel overview

  • 2. Apa itu Apache Camel?
  • 3. Apache camel (Fuse Mediation Router) merupakansebuah integrasi framework opensourceberdasarkan Enterprise Integration Patterns.Apache camel juga menyediakan bahasa (DSL) untuk mendefinisikan routing.Misalnya,ada file baru di upload,kemudian parsing,insert ke database lalu kirim notifikasi.Camel menggunakan URI untuk bekerja secara langsung dengan segala jenis Transportasi atau model messaging seperti HTTP,ActiveMQ,JMS,JBI,SCA,MINA atau CXF,serta komponen pluggable dan pilihan formatdata,camel juga merupakan sebuah perpustakaan kecil dengan defendensi minimal untuk embeding dalam aplikasi java.camel memungkinkan anda bekerja dengan API yang sama terlepas dari jeis transport yang digunakan,jadi belajar API sekali dan anda bisa berinteraksi dengan semua komponen yang di sediaka di out-of-box.Proyek-proyek berikut dapat memanfaatkan Apache Camel sebagai routing dan mesin mediasi. - Apache Servicemix -ESB dan JBI kontainer -Apache ActiveMQ -banyak digunakan sumber broker -Apache Karaf – runtime OSGI kecil berbasis dimana aplkasi dapat digunakan -Apache Mina – Kinerja tinggi NIO berbasis Framework jaringan
  • 4.
  • 5. Enterprise Integration Patterns Dalam Camel Terdiri Dari : Messaging System Messaging Channels Message Contruction Message Routing Message Transformation Message Endpoints dan System Management
  • 7.
  • 8. Integrasi Camel dan EIP from(“a”).to(“b”)
  • 9. from(“a”).choice().when(). method(“controlBean”,“isOK”). to(“x”).end(). pipeline(“b”, “c”, “d”); Meruvian Hunabku Team
  • 11. Endpoint URI <component-name>:<component-spec>[?params] from(“file:/tmp?consumer.delay=1000”) from(“bean:myBean?methodName=getOrders”) from(“quickfix-server:server.cfg?log=#loggingFactoryBean”)
  • 12. Filter Route – Java DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } } 
  • 13. Filter Route – Java DSL public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } import org.apache.camel.builder.RouteBuilder; import static org.apache.camel.builder.xml.XPathBuilder.xpath; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } }
  • 18. Bean sebagai Message Translator
  • 22.
  • 24. try … catch … finally
  • 26. Camel dan ActiveMQ ${ACTIVEMQ_HOME}/conf/activemq.xml <camelContext id=“camel” xmlns=“http://camel.apache.org/schema/spring”> <route> <!-- you can add routes here --> </route> </camelContext>