Berkenalan dengan SOA (Service Oriented Architecture)

Sebagian dari teks ini saya tulis berdasarkan presentasi saya ke manajemen departemen ICT di pabrik yang dilanjutkan dengan workshop singkat kepada teman-teman satu tim di acara Sharing Session, 17 November 2011.

Saya sudah cukup lama meng-eksplorasi ranah teknologi SOA, mungkin sejak artikel XML-RPC ini, tetapi baru akhir-akhir ini saya mendapatkan kesempatan untuk mempraktikkannya di dunia persilatan. Pabrik tempat saya bekerja telah mengakuisisi lisensi Oracle Fusion SOA Suite Middleware dan mencoba mengimplementasikannya dengan proses bisnis yang sudah ada.

Jadi, SOA bukanlah sebuah produk. SOA adalah sebuah pendekatan, atau cara berpikir, dalam melihat sebuah sistem. “Sistem” dalam hal ini tidak melulu teknologi, tetapi juga bisa tentang proses bisnis, organisasi, dll. SOA melihat sistem yang saling berinteraksi dan berkolaborasi dalam menyediakan dan menggunakan “service” (layanan). Untuk memenuhi hal itu, SOA harus memenuhi syarat-syarat: loosely coupled (independen), menggunakan protokol standar yang telah disepakati, dan cross-platform (lintas platform — sistem operasi, bahasa pemrograman, lintas organisasi, bahkan hingga lintas budaya). SOA hanya fokus pada layanan apa yang tersedia, bagaimana cara menggunakannya, dan bagaimana layanan itu bisa bermanfaat. Apa yang ada di balik layanan itu, SOA tidak perlu ambil pusing.

Kita memakai jasa pesawat, dalam dunia SOA, kita sudah bisa disebut sebagai service consumer dimana penyedia layanan pesawat disebut sebagai service producer. Yang kita perlu tahu adalah bagaimana cara memesan tiket, check-in ketika sampai di bandara, dan memasuki ruang boarding untuk masuk pesawat. Padahal, di balik layanan pesawat, ada puluhan atau bahkan ratusan service-service yang saling terhubung untuk dapat menyediakan layanan ini.

Amazon.com, bisa dikatakan adalah perusahaan besar yang hanya bermodal dengkul, eh, merangkai banyak service. Amazon.com tidak melakukan semuanya sendiri, tetapi dikerjakan oleh pihak lain. Toko buku, gudang, payment gateway, layanan kargo, dll. Banyak layanan itu dirangkai (istilah SOA-nya di-orchestrate) menjadi satu kesatuan service yang bisa kita nikmati.

Web Service dan Oracle SOA Suite Middleware

Implementasi SOA dalam ranah teknologi informasi mendasarkan diri pada XML sebagai standar. Dan yang umum dipakai sebagai ujung tombak komunikasi (end point) adalah Web Service. Ada dua madzab besar implementasi web service, yaitu SOAP dan RESTful. SOAP adalah sebuah protokol khusus web service yang berjalan di atas protokol HTTP. SOAP menyediakan banyak spesifikasi standar yang bisa digunakan dalam komunikasi antar web service. Sedangkan RESTful sifatnya lebih lightweight. Ia adalah webservice yang bisa diakses melalui protokol HTTP biasa — jadi operasinya murni melalui manipulasi URL.

Oracle SOA Suite Middleware adalah produk implementasi SOA keluaran Oracle. Barang aslinya adalah Aqualogic milik BEA. Karena BEA diakuisisi Oracle, maka Aqualogic menjadi roh dari Oracle SOA Middleware ini.Di dunia open source, kita mungkin mengenal Glashfish ESB yang juga merupakan salah satu implementasi dari SOA.

Ini adalah paket lengkap yang lebih dari cukup untuk mengimplementasikan pendekatan SOA di bidang IT. Dia menyediakan banyak adapter ke berbagai macam aplikasi seperti Database Adapter, Oracle EBS Adapter, Spring Context Adapter dll. Ia juga mendukung penuh fitur messaging (event-based service — lihat spesifikasi Java Messaging Service). Dan tentu saja, ia menyediakan fitur BPEL (Business Process Execution Language) sebagai bahasa dasar untuk merangkai dan meng-orchestrate banyak service untuk menjadi sebuah composite application. Fitur menarik lainnya adalah Oracle Service Bus (produk enterprise service bus-nya Oracle) yang digunakan untuk service virtualization, dan Oracle BAM (Business Activity Monitoring) untuk kebutuhan monitoring dan reporting. Semua itu dibundel dalam kardus yang harga lisensinya sangat mahal (sekitar USD 200 ribu).

Buat saya sebuah kehormatan bisa mencoba dan mempelajari “Ferrari” ini. Demikian. Mohon maaf saya tidak bisa men-share bahan presentasi karena ada banyak materialnya yang sangat spesifik tentang sistem di pabrik tempat saya bekerja ini.

Author: Galih Satriaji

Bookaholic, Workaholic. Chubby. That's me!

2 thoughts

Leave a Reply

Your email address will not be published. Required fields are marked *