Showing posts with label Oracle Stream Analytic. Show all posts
Showing posts with label Oracle Stream Analytic. Show all posts

Sunday, March 18, 2018

Oracle Stream Analytic - Target HTTP Pub-Sub

Setelah sebelumnya saya membuat introduction tentang Oracel Stream Analytic (OSA) dan melakukan streaming dari media sosial Twitter pada tautan ini :

http://blog.nostratech.com/2017/12/oracle-stream-analytic-twitter-stream.html

Pada kesempatan kali ini, saya akan berbagi tentang bagaimana caranya menghubungkan OSA dengan HTTP Publisher - Suscriber Server atau lebih dikenal dengan HTTP PubSub. Bagi yang belum tahu tentang HTTP PubSub, HTTP PubSub adalah sebuah mekanisme dimana Web Clients melakukan subscribe kepada channels dan selanjutnya melakukan publish kepada channels tersebut secara asynchronous melalui HTTP. Hal ini memungkinkan untuk melakukan request/response dari sebuah aplikasi web yang semua komunikasinya diinisiasikan oleh klien.

Dengan kata lain, dengan adanya HTTP PubSub, hal ini membuat OSA dapat terhubung dengan user interface dari sebuah sistem. Aliran data yang sudah didapat dari OSA dapat direpresentasikan dengan sebuah grafik dan sebagainya berkat adanya HTTP Pubsub.

Untuk dapat menghubungkan OSA dengan HTTP PubSub, ada 2 hal yang harus dipersiapkan, yaitu : 1) Aliran data dari OSA yang dapat dilihat tutorialnya pada tautan di atas dan 2) Channel yang berada di dalah HTTP PubSub.

Dengan menginstak OSA, secara otomatis HTTP PubSub juga sudah terinstal di dalamnya. Cara mengkaksesnya adalah dengan memasukkan tautan seperti di bawah (<IP>:<Port>/wlevs)


Gambar di atas adalah tampilan awal dari WLEVS. Hal pertama yang dilakukan adalah memasukkan username dan password. Karena WLEVS diinstal secara bersamaan dengan OSA, maka username dan password akan sama dengan username dan password untuk OSA.

Jika sudah berhasil melakukan login, maka tahap selanjutnya adalah memilih tree yang ada di sebelah kiri layar, yaitu : OsaDomain > osa.nostratech.com > Services > HTTP Pub-Sub Server


Setelah memilih HTTP Pub-Sub Server, maka selanjutnya adalah memilih server yang sudah tersedia. By default, akan tersedia server bernama "pubsub" seperti pada gambar di bawah :


Double-click pada "pubsub" untuk masuk ke halaman detail dari server tersebut. Jika sudah, tampilan dari halam detail server "pubsub" akan muncul. Hal pertama yang dilakukan pada halaman ini adalah membuat channels baru yang nantinya akan menjadi jalur antara OSA dan HTTP PubSub. Lakukan seperti hal pada gambar di bawah ini :



Dengan ini, channel baru bernama "/kafka" sudah terbuat dan siap untuk dipakai. Hal selanjutnya adalah membuat connection yang bertipe HTTP PubSub pada OSA dan juga membuat target yang bertipe HTTP PubSub berdasarkan connection yang dibuat. Langkah-langkahnya adalah sebagai berikut :




Dengan melakukan langkah diatas, maka connection untuk HTTP PubSub sudah berhasil dibuat. Server URL berisikan URL untuk HTTP PubSub seperti diatas, yaitu <HTTP://><IP>:<Port>/pubsub. Username dan Password sama dengan Username dan Password untuk login ke dalam WLEVS.

Setelah connection terbuat, tahap selanjutnya adalah membuat target yang bertipe HTTP Pub-Sub. Ikuti langkah di bawah untuk membuat target :




Dengan mengikuti langkah di atas, maka target yang bertipe HTTP PubSsub Sudah terbuat. Connection berisikian connection HTTP PubSub "Connection PubSub" yang sudah kita buat sebelumnya dan Channel juga berisikan channel yang sudah dibuat sebelumnya, yaitu "/kafka".

Tahap terakhir adalah menghubungkan antara OSA dengan target HTTP PubSub agar sistem dapat berjalan. Langkah yang harus dilakukan adalah sebagai berikut :




Hal pertama yang kita lakukan untuk menghubungkan OSA dengan target HTTP PubSub adalah dengan masuk ke halaman "explorationi" dari aliran data yang ingin dihubungkan. Selanjutnya adalah click tombol "Configure Target" yang berada di atas halaman dan pilih target "Target PubSub". Setelah berhasil disimpan, langkah terakhir adalah mempublish perubahan yang sudah di buat dengan cara memilih tombol "Action" lalu klik tombol "Publish".

Untuk memastikan aliran data yang dikirim oleh OSA masuk ke dalam channel PubSub, maka anda harus kembail masuk ke halam WLEVS dan lakukan langkah di bawah ini :



Pertama-tama masuk ke halaman View Stream dengan cara mengklik tombol "View Stream" seperti gambar di atas. Jika sudah masuk, klik tombol "initialize client" untuk menjalankan client HTTP PubSub.






Masuk ke tab Subscribe seperti gambar diatas dan pilih channel "/kafka" agar kita dapat melihat isi dari channel tersebut. Hal terakhir adalah klik tombol "Subscribe" untuk memunculkan semua aliran data yang dikirim oleh OSA. Hasilnya akan seperti gambar di bawah ini :


Dengan begini, OSA sudah berhasil terhubung dengan HTTP PubSub. Agar bisa ditampilkan di UI, tim front end harus melakukan subscribe dari link http://<IP>:<Port>/pubsub/<channel>. Jika menggunakan contoh di atas, maka link URLnya adalah http://172.16.121.30/pubsub/kafka.


Oracle Stream Analytic - Target Kafka

Setelah sebelumnya saya sudah membuat introduction tentang apa itu Oracle Stream Analytic (OSA) dan melakukan Streaming dari media sosial Twitter pada tautan http://blog.nostratech.com/2017/12/oracle-stream-analytic-twitter-stream.html, pada kesempatan kali ini saya akan berbagi bagaimana caranya mengirimkan data hasil dari Streaming yang dilakukan oleh OSA ke dalam Kafka.
Bagi yang belum tahu apa itu Kafka, Kafka adalah sebuah distributed streaming platform dimana salah satu tugasnya adalah sebagai Producer dan Subscriber untuk sebuah messaging system. Dengan kata lain, Kafka mampu untuk menyimpan aliran data yang diberikan oleh OSA dan selanjutnya mampu juga untuk mendistribusikan data tersebut kepada sistem lain. Untuk memahami lebih lanjut, silahkan kunjungi tautan berikut https://kafka.apache.org/.
Untuk dapat mengikuti tutorial ini, beberapa hal harus anda siapkan sebagai syarat untuk dapat melakukannya dengan benar. Pertama, anda harus sudah memiliki Kafka yang sudah aktif Zookeeper dan Servernya. Cara melakukannya anda dapat melihat pada tautan berikut https://kafka.apache.org/quickstart. Saya tidak akan menjelaskan detail bagaimana cara melakukan instalasi Kafka dan diasumsikan Kafka sudah siap dipakai.
Jika Kafka sudah terinstal, hal pertama yang harus anda lakukan adalah membuat Topic pada kafka yang sudah terinstal dengan cara menjalankan command berikut :
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic example
Untuk memastikan apakah Topic sudah terbuat atau belum, anda dapat melihatnya menggunakan command berikut :
bin/kafka-topics.sh --list --zookeeper localhost:2181






Dari hasil capture di atas, topic example sudah terbuat dan siap untuk dipakai sebagai Target tempat menyimpan aliran data hasil dari OSA.
Hal kedua yang diperlukan adalah aliran data dari OSA itu sendiri. Jika anda belum membuatnya, silahkan anda melihat tutorial berikut :

http://blog.nostratech.com/2017/12/oracle-stream-analytic-twitter-stream.html

Jika aliran data stream sudah siap, maka hal selanjutnya adalah membuat connection untuk menghubungkan antara OSA dengan Kafka yang sebelumnya sudah kita buat :





Untuk membuat connection, kita harus mendaftarkan connection baru yang bertipe Kafka dan juga mendaftarkan IP dan Port dari Zookeepers dan Kafka Server.

Jika connection sudah siap, maka selanjutnya hal yang harus dibuat adalah Target untuk menentukan aliran data dari OSA akan disimpan di topic yang mana. Karena kita sudah membuat topic bernama "example", maka "example" ini akan menjadi tempat untuk menyimpan aliran data dari OSA. Berikut adalah tata cara membuat Target baru pada OSA :





Target yang dibuat bertipe Kafka dengan connection Kafka yang sudah kita buat sebelumnya yang bernama "kafka" dan topic yang sudah dibuat juga sebelumnya yang bernama "example". Untuk shape, karena pada aliran data berbentuk "Twitter Shape", maka bentuknya pun disamakan. Bentuk ini tergantung dari kebutuhan dan bisa disesuaikan.
Sekarang, kedua aliran data dan juga target Kafka sudah siap diapakai. Hal terakhir adalah dengan menghubungkan kedua entitas tersebut agar sistem dapat berjalan. Hal yang harus dilakukan adalah membuka "exploration" dari aliran data yang sudah ada dan kita set target yang sudah kita buat lalu lakukan publish seperti pada penjelasan berikut :





Kafka" dan klik tombol "Save". Jika sudah, klik tombol "Publish" seperti gambar diatas agar sistem dapat berjalan.

Untuk memastikan apakah OSA mengirimkan lairan data kepada Kafka, dapat dilihat dengan cara memasukkan command berikut untuk melihat aliran data yang masuk ke dalam topic "example" :


bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic example --from-beginning

Friday, December 15, 2017

Oracle Stream Analytic - Twitter Stream Getting Started

Oracle Stream Analytic (OSA) adalah sebuah tool dari Oracle yang bertujuan untuk membaca data secara real-time dan terus menerus atau lebih dikenal dengan istilah Streeam. OSA dapat melakukan Stream untuk twitter berdasarkan akun dan/atau hashtag twitter yang didaftarkan sebagai filter. Stream ini sangat berguna untuk menganalisa trend tweet yang sedang menjadi top list. Dalam blog ini akan dijelaskan bagaimana caranya untuk melakukan Twitter Stream menggunakan OSA.

1. Mendapatkan Consumer Key, Consumer Secret, Access Token dan Access Token Secret dari apps.twitter.com. Caranya adalah dengan login ke tautan tersebut menggunakan akun Twitter yang sudah terdaftar dan melakukan permintaan untuk mendapatkan keempat kode rahasa tersebut.

2. Setelah mendapatkan keempat Key pada tahap 1, masuk ke dalam OSA dan masuk ke katalog seperti gambar di bawah


Untuk melakukan Twitter Stream, dibutuhkan minimal 3 komponen yang berada di dalam dropdown menu Create New Item, yaitu : 1. Connection 2. Stream dan 3. Exploration.

Connection : Pada part ini, koneksi yang dijadikan untuk sumber data stream dibentuk.

Stream : Pada part ini, kita akan mendefinisikan detail stream yang akan kita buat seperti jenis streaming, kata kunci streaming dan bentuk dari output streaming yang diinginkan.

Exploration : Pada part ini hasil streaming yang sudah didefinisikan sebelumnya akan ditampilkan. Kita dapat mengatur kecepatan stream, filtering, dan juga mengatur Business Rule sesuai kebutuhan.

3. Seperti yang sudah dijelaskan pada tahap dua, hal pertama yang dilakukan adalah membuat Connection dengan cara memilih dropdown Create New Item dan pilih Connection dan menu Connection terbuka seperti gambar dibawah :


Name : Diisi dengan nama koneksi yang akan kita buat.

Description : Diisi dengan deksripsi dari koneksi yang akan kita buat.

Tag : Diisi dengan tag untuk mempermudah proses pencarian dengan cara mengelompokkan berdasarkan tag.

Connection type : Jenis koneksi yang berisi beberapa pilihan. Untuk kasus ini kita pilih Twitter.

Selanjutnya kita memasukkan Consumer Key, Consumer Secret, Access Token dan Access Token Secret yang sebelumnya sudah didapatkan di tahap 1. Hal ini berguna untuk mendapatkan akses kedalam Twitter agar kita dapat melakukan streaming data. Setelah terisi semua lalu klik tombol Save.


3. Setelah koneksi sudah terbuat dengan benar, tahap selanjutnya adalah membuat Stream. Caranya sama dengan cara membuat Connection, yaitu klik dropdown Create New Item dan pilih Stream dan menu Stream akan terbuka.


Name : Diisi dengan nama Stream yang akan kita buat.

Description : Diisi dengan deksripsi dari Stream yang akan kita buat.

Tag : Diisi dengan tag untuk mempermudah proses pencarian dengan cara mengelompokkan berdasarkan tag.

Stream type : Jenis Stream yang berisi beberapa pilihan. Untuk kasus ini kita pilih Twitter.

Jika Checkbox kita centang, maka setelah pembuatan Stream ini menu Exploration akan otomatis terbuka tanpa harus kita membukanya manual dengan cara Create New Item.


Connection : Kita pilih koneksi yang sudah kita buat sebelumnya.

Hashtags : Diisi dengan list Hashtag atau String yang akan dijadikan sebagai parameter pencarian streamingnya. Jadi tweet yang akan tersaring adalah tweet yang mengandung kata-kata yang sudah kita definisikan di Hashtags.

Languages : Diisi dengan bahasa yang akan dijadikan sebagai parameter pencarian streaming. Jadi tweet yang akan tersaring adalah tweet yang berbahasa tertentu, jika ingin semua maka Languages tidak perlu diisi.

Users : Diisi dengan User ID yang akan dijadikan sebagai parameter pencarian streaming. Jadi tweet yang akan tersaring adalah tweet yang dibuat oleh akun tersebut.


Pada bagian ini, kita akan memilih Shape atau bentuk dari output streaming yang sudah kita define sebelumnya. Untuk Twitter Streaming, Shape hanya terdiri dari 1 shape yang sudah terdefinisi dan disesuaikan dengan twitter. Jika sudah terisi semua, klik tombol Save.

4. Karena sebelumnya kita mencentang checkbox pada tahap 3, maka menu Exploration akan otomatis terbuka. Jika tidak mencentang, caranya dengan klik dropdown Create New Item dan pilih Exploration.


Name : Diisi dengan nama Exploration yang akan kita buat.

Description : Diisi dengan deksripsi dari Exploration yang akan kita buat.

Tag : Diisi dengan tag untuk mempermudah proses pencarian dengan cara mengelompokkan berdasarkan tag.

Source : Diisi dengan nama Stream yang sudah kita buat sebelumnya.

Jika semua sudah diisi, klik tombol Create dan OSA akan mengarahkan kita ke dalam tampilan detail dari Exploration.



Tabel diatas adalah kumpulan tweet hasil dari Data Stream yang sudah kita definisikan pada tahap 3.