camel overview

Post on 11-Jun-2015

425 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 ChannelsMessage ContructionMessage RoutingMessage TransformationMessage Endpoints danSystem 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 {

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

.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

top related