Top Banner
Camel Overview
27

Camel overview

Jun 11, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Camel overview

Camel Overview

Page 2: Camel overview

Apa itu Apache Camel?

Page 3: Camel overview

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

Page 4: Camel overview
Page 5: Camel overview

Enterprise Integration Patterns Dalam Camel Terdiri Dari :

Messaging System Messaging ChannelsMessage ContructionMessage RoutingMessage TransformationMessage Endpoints danSystem Management

Page 6: Camel overview

Enterprise Integration Pattern

Page 7: Camel overview
Page 8: Camel overview

Integrasi Camel dan EIP

from(“a”).to(“b”)

Page 9: Camel overview

from(“a”).choice().when().

method(“controlBean”,“isOK”).

to(“x”).end().

pipeline(“b”, “c”, “d”);

Meruvian Hunabku Team

Page 10: Camel overview

Komponen Camel

Page 11: Camel overview

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”)

Page 12: Camel overview

Filter Route – Java DSL

import org.apache.camel.builder.RouteBuilder;

public class FilterRoute extends RouteBuilder {public void configure() throws Exception {

.filter().xpath("/quote/product =‘widget’") from("activemq:queue:quote")

.to("mq:quote"); } } 

Page 13: Camel overview

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); } }

Page 14: Camel overview

Content Based Router

Page 15: Camel overview

Content Based Router

Page 16: Camel overview

Message Filter

Page 17: Camel overview

Splitter

Page 18: Camel overview

Bean sebagai Message Translator

Page 19: Camel overview

Aggregator

Page 20: Camel overview

Resequencer

Page 21: Camel overview

Routing Slip

Page 22: Camel overview
Page 23: Camel overview

Error Handling

Page 24: Camel overview

try … catch … finally

Page 25: Camel overview

Message-Driven POJO

Page 26: Camel overview

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>

Page 27: Camel overview

ELVISDOTCOM333