Anda di halaman 1dari 6

30/3/2021 Pengenalan Apache Camel - Google Slides

Pengenalan Apache
Camel
Java User Group Indonesia 2014-2, 7 Febuari.
Yudhi Karunia Surtan

Perkenalkan saya adalah ...

Nama: Yudhi Karunia Surtan


Nick: Joni(work), Parto(school)
Email: breakthrough.brain@gmail.com
Blog: http://www.brainmasterexperience.com

Sebelum memulai ...


● Pembaca atau peserta diharapkan telah mempelajari framework spring dan
maven sebagai bekal memahami demo.
● Sesi tanya jawab hanya akan diadakan di penghujung presentasi untuk
mengoptimalkan waktu pembahasan.
https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 1/6
30/3/2021 Pengenalan Apache Camel - Google Slides

● Pembicara lebih suka menggunakan cara informal dalam menyampaikan


pertanyaan atau jawaban.

Harapan Pembicara nih..


● Pembaca dan pendengar dapat memahami bagaimana menggunakan framework
camel.
● Pembaca dapat mempelajari lebih lanjut dan mengimplementasikannya pada
kasus sehari hari.
● Pembaca dapat membagikan pengetahuan mengenai framework ini kepada
teman teman yang lain.

Langsung contoh kasus aja yee..


Joni berkerja pada sebuah online shop, dimana perusahaan tersebut telah menggunakan ERP ternama sebagai
aplikasi utama perusahaan. Pada awalnya joni hanya membuat sebuah web portal dimana nantinya rekap data
penjualan akan di-export dari aplikasi joni yang kemudian joni akan meng-import rekapan data tadi ke dalam
aplikasi ERP ternama tersebut.

Namun seiring dengan perkembangan bisnis, divisi pembelian merasa kesulitan untuk menangani para supplier
yang terus bertambah dan menjual barangnya ke toko tersebut, kemudian Joni diminta untuk membuat 1 buah
portal aplikasi lagi untuk menangani supplier dan toko, dimana nantinya joni akan meng-export dan import lagi
seperti aplikasi sebelumnya. Joni memperoleh kepercayaan diri karena polanya sudah mulai terlihat, sehingga
apabila nanti ada aplikasi baru joni tinggal mengimport ke dalam ERP data rekapannya tersebut.

Tidak lama, management memutuskan untuk berkerja sama dengan sebuah bank, lalu tidak lama lagi berkerja
sama dengan provider seluler, lalu tidak lama lagi berkerja sama dengan kartu kredit, lalu tidak lama lagi berkerja
sama dengan bioskop, lalu tidak lama lagi berkerja, akhirnya joni stress dan menyadari ada yang salah dengan
cara seperti ini.

https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 2/6
30/3/2021 Pengenalan Apache Camel - Google Slides

Bagaimana cara membantu joni, jon ?


Perlu memperkenalkan Apache camel kepada joni.

Apa itu apache camel?


Sebuah framework yang mengatur mengenai routing dan aturan-aturan yang
terdapat dalam routing tersebut.

Beberapa Features apache camel

● Alur aplikasi mudah dibaca dan dipahami.


● Component-component yang didukung sangat banyak dan bervariasi.
● Mudah di embed pada aplikasi yang menggunakan framework spring.
● Community-nya sangat mendukung unit testing.

Terminology dalam camel (bagian 1)


1. Route (org.apache.camel.Route)
tempat dimana kita mendefinisikan bagaimana alur kerja integrasi dan aturan aturan
terhadap alur tersebut

https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 3/6
30/3/2021 Pengenalan Apache Camel - Google Slides

2. Endpoint (org.apache.camel.Endpoint)
component-component yang didefinisikan didalam route, bisa sebagai pengirim atau
bisa juga sebagai penerima

3. Predicate (org.apache.camel.Predicate)
sebuah kondisi/logic untuk menentukan aturan aturan dalam pendefinisian sebuah
route

Terminology dalam camel (bagian 2)


4. Processor (org.apache.camel.Processor)
biasanya digunakan untuk memproses sebuah exchange message dimana prosesnya
membutuhkan layer atau kelas lainnya pada aplikasi, misalnya service layer, helper, dll.

5. Exchange (org.apache.camel.Exchange)
sebuah interface yang di-passing dan digunakan untuk pertukaran data atau pesan
antara endpoint yang didefinisikan.

Lebih dalam tentang exchange

https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 4/6
30/3/2021 Pengenalan Apache Camel - Google Slides

Demo Aplikasi Untuk Joni


https://github.com/yudhik/jug-camel-demo

Flow Rekapan CSV to XML

Route, Predicate dan Endpoint


https://raw.github.com/yudhik/jug-camel-
demo/master/src/main/java/org/jug/id/brainmaster/camel/route/RekapPenjualanRou
teBuilder.java

https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 5/6
30/3/2021 Pengenalan Apache Camel - Google Slides

Processor dan Exchange


https://raw.github.com/yudhik/jug-camel-
demo/master/src/main/java/org/jug/id/brainmaster/camel/processor/XmlTransforme
rProcessor.java

Questions??

https://docs.google.com/presentation/d/1qASYWgLwxz1vu4ys0os7ZGN8GdY4Z_nBKCuOuSoaYAY/htmlpresent 6/6

Anda mungkin juga menyukai