meruvian integration server - hunabku v.1.1

51
Hunabku Hunabku Meruvian Integration Meruvian Integration Server Server

Upload: meruvian

Post on 16-Nov-2014

916 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Meruvian Integration Server - Hunabku v.1.1

HunabkuHunabku

Meruvian Integration ServerMeruvian Integration Server

Page 2: Meruvian Integration Server - Hunabku v.1.1

AgendaAgenda

Hunabku Camel

Hunabku Mix (ESB)

HunabkuMQ (Broker)

OSGI

JMS

Page 3: Meruvian Integration Server - Hunabku v.1.1

Hunabku CamelHunabku Camel

Page 4: Meruvian Integration Server - Hunabku v.1.1

Hunabku CamelHunabku Camel

• Hunabku camel (Fuse Mediation Router) merupakan sebuah integrasi framework opensource berdasarkan Enterprise Integration Patterns.Apache camel juga menyediakan bahasa (DSL) untuk mendefinisikan routing.

• 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.

Page 5: Meruvian Integration Server - Hunabku v.1.1

Arsitektur CamelArsitektur Camel

Page 6: Meruvian Integration Server - Hunabku v.1.1

Komponen Apache CamelKomponen Apache Camel

Page 7: Meruvian Integration Server - Hunabku v.1.1

Enterprise Integration Pattern(EIP)Enterprise Integration Pattern(EIP)

Enterprise Integration Pattern merupakan beberapa pola desain untuk penggunaan integrasi aplikasi enterprise dan message berorientasi middleware.

Page 8: Meruvian Integration Server - Hunabku v.1.1

Hunabku Camel - EIPHunabku Camel - EIP

Adapun EIP didalam Hunabku Camel meliputi :

• Messaging System,

• Messaging Channels,

• Message Contruction,

• Message Routing,

• Message Transformation,

• Message Endpoints, dan

• System Management

Page 9: Meruvian Integration Server - Hunabku v.1.1

Contoh Pattern (EIP) -1Contoh Pattern (EIP) -1

Page 10: Meruvian Integration Server - Hunabku v.1.1

Contoh Pattern (EIP) - 2Contoh Pattern (EIP) - 2

Page 11: Meruvian Integration Server - Hunabku v.1.1

Integrasi Hunabku Camel - EIPIntegrasi Hunabku Camel - EIP

A Bfrom(A).filter(isWidget).to(B);

Endpoint A = endpoint("activemq:queue:quote");

Endpoint B = endpoint("mq:quote");

Predicate isWidget = xpath("/quote/product = ‘widget’ ");

from(A).filter(isWidget).to(B);

Page 12: Meruvian Integration Server - Hunabku v.1.1

Integrasi Hunabku Camel - EIPIntegrasi Hunabku Camel - EIP

A B C D

control

X

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

method(“controlBean”,“isOK”).

to(“x”).end().

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

Page 13: Meruvian Integration Server - Hunabku v.1.1

Contoh Pattern : Konten Dasar RouterContoh Pattern : Konten Dasar Router

Page 14: Meruvian Integration Server - Hunabku v.1.1

Konten Dasar Router – CamelContext.xmlKonten Dasar Router – CamelContext.xml

Page 15: Meruvian Integration Server - Hunabku v.1.1

Message FilterMessage Filter

Page 16: Meruvian Integration Server - Hunabku v.1.1

SplitterSplitter

Page 17: Meruvian Integration Server - Hunabku v.1.1

TranslatorTranslator

Page 18: Meruvian Integration Server - Hunabku v.1.1

AgregatorAgregator

Page 19: Meruvian Integration Server - Hunabku v.1.1

Routing Slip (Serial Line Internet Protocol)Routing Slip (Serial Line Internet Protocol)

Page 20: Meruvian Integration Server - Hunabku v.1.1

Routing dengan CamelRouting dengan Camel

Page 21: Meruvian Integration Server - Hunabku v.1.1

Endpoint URIEndpoint URI

Endpoint merupakan komponen dari service yang berkomunikasi dengan client dan menyediakan operasi operasi dari service. Sebuah service memiliki paling sedikit satu endpoint. Setiap endpoint memiliki address / alamat nya sendiri yang berbeda dengan endpoint yang lain.

<component-name>:<component-spec>[?params]from(“file:/tmp?consumer.delay=1000”)

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

from(“quickfix-server:server.cfg?log=#loggingFactoryBean”)

Page 22: Meruvian Integration Server - Hunabku v.1.1

Sample Code (FilterRoute.java)Sample Code (FilterRoute.java)

import org.apache.camel.builder.RouteBuilder; 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); }}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"); }}

Page 23: Meruvian Integration Server - Hunabku v.1.1

Hunabku Mix Hunabku Mix

Page 24: Meruvian Integration Server - Hunabku v.1.1

Hunabku MixHunabku Mix

Hunabku Mix merupakan implementasi dari Enterprise Service Bus (ESB) yaitu web server open source yang terintegrasi menjadi satu seperti Apache ActiveMQ, Camel, CXF, ODE dan KARAF.

Page 25: Meruvian Integration Server - Hunabku v.1.1

Fitur Hunabku MixFitur Hunabku Mix

• Support protokol (File,FTP,HTTP/S,MS,SMTP,SOAP,TCP,XMPP)

• Support engine Apache (Camel, CXF, ODE, Drools, OS Workflow, POJOs, Quartz, Scripting Saxon, Xquery, XSLT, WS-Notifikasi)

• Support keamanan atau security (JAAS,WS-Security)

• Web server integrasi (Geronimo,JBoss,Jetty,Tomcat,Weblogic,Websphere)

Page 26: Meruvian Integration Server - Hunabku v.1.1

Arsitektur Service MixArsitektur Service Mix

Page 27: Meruvian Integration Server - Hunabku v.1.1

Keuntungan ESBKeuntungan ESB

Mengurangi total biaya kepemilikan melalui standar berbasis SOA - JBI

Mengurangi kompleksitas integrasi dan biaya Ekstrim kinerja dan skalabilitas terbatas Peningkatan kontrol dan visibilitas Leverage aset yang ada dan informasi dalam cara-cara baru Konfigurasi untuk mendukung integrasi code Menyederhanakan tugas pemrograman yang rumit Menyeimbangkan solusi untuk enterprise-wide deployment (bus

didistribusikan) Pemantauan Terpadu, Tracing dan Logging

Page 28: Meruvian Integration Server - Hunabku v.1.1

Sekilas Mengenai Enterprise Service BusSekilas Mengenai Enterprise Service Bus

Enterprise Service Bus (ESB) adalah perangkat lunak atau software sebagai perantara atau middleware masalah integrasi data seperti masalah integrasi antar webservice, tingkat keamanan dan kontrol dari komunikasi antar webservice.

Page 29: Meruvian Integration Server - Hunabku v.1.1

Arsitektur ESBArsitektur ESB

Page 30: Meruvian Integration Server - Hunabku v.1.1

OSGIOSGI

Page 31: Meruvian Integration Server - Hunabku v.1.1

OSGIOSGI

• OSGI merupakan suatu komponen yang dapat melakukan proses deploy, update, start, stop tanpa harus melakukan proses reboot pada sistem.

• Teknologi ini berawal dari suatu pemikiran bagaimana cara merubah suatu program tanpa membongkar code.Misal : Kita mau menambahka sebuah library jar kedalam source,jika menggunakan OSGI Kita tinggal masukin ,lalu OSGI akan bekerja untuk me-load secara otomatis beda halnya jika Kita menggunakan Tomcat.Jika di Tomcat Kita harus Stop server dulu kemudian masukin jar baru restart server.

Page 32: Meruvian Integration Server - Hunabku v.1.1

Arsitektur OSGIArsitektur OSGI

Page 33: Meruvian Integration Server - Hunabku v.1.1

Manfaat Penerapan OSGIManfaat Penerapan OSGI

• Mengurangi kompleksitas (Reduced Complexity)

• Reuse

• Real World

• Easy Development

• Dynamic Updates

• Simple

Page 34: Meruvian Integration Server - Hunabku v.1.1

Implementasi OSGIImplementasi OSGI

Page 35: Meruvian Integration Server - Hunabku v.1.1

Fitur OSGIFitur OSGI

• Menyediakan komponen untuk membangun aplikasi seperti IDE (Eclipse)

• Aplikasi Server (Glassfish, IBM Websphere, Oracle/BEA Weblogic, Jonas, Jboss)

• Framework (Spring, Guice)

• Otomatisasi industri gateway, telepon

Page 36: Meruvian Integration Server - Hunabku v.1.1

Apa itu Apache Karaf?Apa itu Apache Karaf?

Apache Karaf merupakan runtime kecil berbasis OSGi yang menyediakan media untuk menampung berbagai komponen dan aplikasi yang dapat digunakan.

Sebagai Servicemix Kernel Project

Berkembang di dalam Apache Felix Project

Page 37: Meruvian Integration Server - Hunabku v.1.1

Arsitektur KarafArsitektur Karaf

Page 38: Meruvian Integration Server - Hunabku v.1.1

Support HunabkuMQ, Hunabku Mix, Camel, CXF Support HunabkuMQ, Hunabku Mix, Camel, CXF

Page 39: Meruvian Integration Server - Hunabku v.1.1

HunabkuMQHunabkuMQ

Page 40: Meruvian Integration Server - Hunabku v.1.1

HunabkuMQHunabkuMQ

HunabkuMQ (Fuse Message Broker) merupakan salah satu implementasi Queue atau message broker untuk aplikasi. Jadi HunabkuMQ ini berperan sebagai ruang tunggu (broker)dari aplikasi yang akan memprosesnya.

Page 41: Meruvian Integration Server - Hunabku v.1.1

Fitur HunabkuMQFitur HunabkuMQ

• Suport Berbagai bahasa seperti Java, C, C++, C#, Ruby, Perl, Python dan PHP

• Support Berbagai Protocol TCP, SSLNIO, JMS, REST, UDP, Multicast, Jgroups.

• Desain Sesuai Enterprise Integration Pattern

Page 42: Meruvian Integration Server - Hunabku v.1.1

ActiveMQ ArsitekturActiveMQ Arsitektur

Client connectKe broker

menggunakanSimple

url

TOPIC DAN QUEUE

DI TULIS DINAMIS

KontrolKonektor JaringanReplikasi Failover

Dan clustering

Spring based

FILE DAN JDBC DIDUKUNG BERDASARKAN STORE

MESSAGE

Page 43: Meruvian Integration Server - Hunabku v.1.1

Java Messaging Service (JMS) Java Messaging Service (JMS)

Page 44: Meruvian Integration Server - Hunabku v.1.1

Java Messaging Service (JMS)Java Messaging Service (JMS)

• Messaging adalah suatu metode komunikasi diantara komponen-komponen software atau aplikasi

• Java Message Service (JMS) memberikan sebuah standar interface berbasis Java untuk pelayanan message dari Message Oriented Middleware (MOM) beberapa provider.

Page 45: Meruvian Integration Server - Hunabku v.1.1

Arsitektur JMSArsitektur JMS

Page 46: Meruvian Integration Server - Hunabku v.1.1

Tipe JMS (Tipe JMS (Publish-Subscribe MessagingPublish-Subscribe Messaging))

Page 47: Meruvian Integration Server - Hunabku v.1.1

Tipe JMS (point-to-point)Tipe JMS (point-to-point)

Page 48: Meruvian Integration Server - Hunabku v.1.1

Reflikasi Broker Tempat berbagi message

Replikasi,Clustering dan failoverReplikasi,Clustering dan failover

Page 49: Meruvian Integration Server - Hunabku v.1.1

Jaringan Master-SlaveJaringan Master-Slave

Page 50: Meruvian Integration Server - Hunabku v.1.1

Kombinasi ActiveMQ + Camel + ESBKombinasi ActiveMQ + Camel + ESB

REGIONALNETWORK BROKER

SMX4 - Master

SMX4 – Slave

Page 51: Meruvian Integration Server - Hunabku v.1.1

Meruvian

[email protected]