SOA – Pada zaman sekarang banyak menggunakan Teknologi Informatika (TI) untuk dijadikan pendukung suatu layanan publik atau lainnya. Misalnya organisasi seperti perusahaan atau instansi pemerintah memanfaatkan TI untuk mendukung layanan yang ada di organisasi tersebut.
Salah satu arsitektur TI yang dapat mendukung layanan-layanan organisasi adalah Service Oriented Architecture (SOA). SOA merupakan pendekatan dalam suatu perancangan atau arsitek sistem yang membuat layanan yang ada dalam masing-masing sistem.
Dalam hal ini membuat komponen tersebut dapat menyediakan suatu jenis layanan bisnis untuk sebuah organisasi misalnya, seperti : transfer pembayaran, melakukan pembayaran, mengecek status bank, pendaftaran ktp online, sekolah online dan lain-lain.
Baca Juga : Mengenal Karakteristik Web Service
Table of Contents
Pengertian Service Oriented Architecture (SOA).
Service Oriented Architecture (SOA) adalah salah satu gaya arsitektur Teknologi Informatika (TI) yang berfungsi untuk membuat dan digunakan dalam proses bisnis, dalam bentuk berupa layanan-layanan sepanjang siklus hidupnya. SOA juga dapat menunjang berbagai aplikasi untuk dapat saling bertukar data dan dapat berpartisipasi dalam proses bisnis.
Di sisi lain, SOA memiliki fungsi-fungsi yang tidak berkaitan dengan sistem operasi dan bahasa pemograman yang mendasari perangkat lunak tersebut. Konteks dari SOA merupakan self-contained dan loosely coupled yang berarti suatu layanan yang dapat dipanggil oleh program atau layanan lainnya tanpa ada perangkat lunak pemanggil tersebut.
Oleh karena itu, perlu memperhatikan di mana lokasi untuk memanggil layanan dan menggunakan platform apa layanan tersebut, atau masing-masing interaksi layanan berdiri secara berdiri sendiri.
SOA memiliki peran yang penting dalam suatu organisasi seperti perusahaan dan intansi pemerintahan. Hal ini dikarenakan SOA memiliki sifat yang loosely-coupled yang berarti tingkat kebergantungan antara komponen rendah, highly interoperable yang berarti mudah untuk dioperasikan, reusable yang berarti dapat digunakan kembali, dan interoperability yang berarti dapat berkomunikasi antar platform. Dengan memanfaatkan keempat sifat SOA tersebut, dapat membentuk layanan untuk mendukung tujuan bisnis dalam suatu perusahaan atau instansi pemerintahan.
Komponen – Komponen SOA
Dalam arsitektur Service Oriented Architecture (SOA) memiliki suatu komponen-komponen yang ada di dalamnya, yaitu :
1. Enterprise Service Bus.
Enterprise Service Bus (ESB) berfungsi untuk mengatur aliran pesan yang dilewati suatu perangkat lunak yang berbeda, mengatur komunikasi dan memungkinkan suatu methode untuk dapat mengakses perangkat lunak untuk dapat memesan data. Proses ini bukan untuk integrasi data melaikan mekanisme dalam proses pemesanan data.
2. Business Process Management
Business Process Management (BPM) merupakan prosedur yang digunakan dalam memetakan proses bisnis yang tidak baik dalam berbagai perangkat lunak yang berfungsi sebagai control kerja dari perangkat lunak agar dapat dilakukan pengoptimalisasian proses bisnis.
3. Service
Service merupakan perangkat lunak yang dapat menkordinasikan infrastruktur dari SOA. Sehingga dapat membuat layanan bisnis dapat didukung dan dikelolah sesuai dengan yang didefinisikan dengan Service Level Agrements.
4. SOA Registry
SOA merupakan suatu sumber tunggal untuk meta data yang diperlukan dalam memanfaatkan layanan web dari komponen perangkat lunak dalam lingkungan SOA.
5. Layanan Broker
Layanan Broker merupakan perangkat lunak dalam kerangka SOA yang membawa komponen Bersama-sama menggunakan aturan yang terkait dengan setiap komponen.
Arsitektur Service Oriented Architecture (SOA)
Pada contoh gambar di atas, konsumen meminta layanan dengan mengirimkan pesan. Pesan tersebut biasanya diubah dan diarahkan dalam implementasi layanan yang sesuai dengan keinginannya. Arsitektur layanan ini dapat memberikan beberapa mesin untuk mengikuti aturan bisnis yang memungkinkan bisnis dapat masuk kedalam seluruh layanan.
Arsitektur layanan lainnya juga dapat menyediakan beberapa infrastruktur layanan yang dapat mengelola layanan misalnya, seperti kegiatan audit, penagihan, logging dan dll.
Baca Juga : Pengertian dan keuntungan Restful
Infrastruktur dari SOA
Dalam mengelola atau menjalankan aplikasi SOA, perusahaan atau instansi pemerintah memerlukan infrastruktur SOA yang merupakan bagian dari platform SOA. Infrastruktur SOA diharuskan mendukung smua standar yang relevan dan sesuai dengan runtime containers. Berikut ini adalah interfastruktur SOA yang dapat runtime containers, yaitu :
1. SOAP, WSDL, UUDI
Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), dan Universal Description, Discovery and Integration (UUDI) merupakan potongan-potongan dasar dari infrastrutkur SOA. SOAP berfungsi, sebagai lapisan dalam transport digunakan untuk mengirim pesan antara konsumen dan penyedia layanan. WSDL berfungsi untuk menggambarkan suatu layanan yang tersedia. UUDI berfungsi untuk melakukan pendaftaran dan mencari layanan.
Sehingga SOAP merupakan mekanisme standar dalam layanan web, teknologi alternative yang mencapai jenis mengikat untuk layanan. Seorang konsumen nantinya dapat mencari layanan dari registry UUDI, untuk mendapatkan WSDL untuk layanan yang memiliki deskripsi dan menjalankan layanan dengan menggunakan SOAP.
2. WS-I Basic Profil
Web Services Interoperability Organization menyediakan WS-I Basic Profil yang berubah menjadi potongna-potongna inti lain yang digunakan untuk menguji layanan dan interobilitas. Pada penyedia layanan dapat menggunakan Basic Profil test suite untuk menguji suatu interoperabilitas layanan di seluruh platform dan teknologi yang berbeda.
3. J2EE dan Net
J2EE dan Net merupakan platform pengembang yang paling dominan untuk perangkat lunak SOA, SOA tidak hanya terbatas pada platform ini. Platform seperti J2EE tidak hanya menyediakan suatu kerangka kerja bagi pengembang untuk secara alam dapat beradaptasi dalam SOA, tetapi juga oleh sifat yang melekat pada mereka menjadikan infrastruktur yang matang, sehingga terbukti untuk skalabilitas, keandalan, ketersediaan, dan kinerja pada dunia SOA.
Seperti halnya pada sepesifikasi baru seperti Application Programing Interface (API Java) untuk XML Binding (JAXB), yang digunakan untuk sebuah pemetaan dokumen XML seperti kelas API java untuk XML Registry (JAXR), berfungsi untuk berinteraksi dengan pendaftaran UUDI secara setandar, dan API java untuk berbasis XML Remote Procedure Call (XML-RPC).
Dapat digunakan untuk memanggil layanan terpencil di j2EE 1.4 fasilitas pengembangan dan penyebaran layanan web yang portable di wadah J2EE standar, sementara secara bersamaan interoperasi dengan layanan di seluruh plaform lainnya misalnya, seperti net.
Baca Juga : Application Programing Interface (API)
Manfaat Service Oriented Architecture (SOA)
Berikut ini beberapa manfaat dari Service Oriented Architecture, yaitu :
1. Secara Arsitektur Service Oriented (SOA) Architecture, dalam desain arsitektur perusahaan modern dimana dapat melibatkan beberapa komponen, yaitu :
- Service Oriented.
- Event-Driven.
- Loosly-coupled.
- Selaras dengan Life Cycle Supprot Processes.
- Mendukung suatu Assebly dan integrasi.
- Memanfaatkan perangkat lunak dan infrastruktur yang ada.
2. Service Oriented Architecture (SOA) dapat menawarkan berbagai keuntungan, seperti berikut atas pendekatan tradisional digunakan untuk komputasi terdistribusi, yaitu :
- Dapat menawarkan layanan bisnis di seluruh platform.
- Memberikan kebebasan terhadap lokasi secara independent.
- Menawarkan pendekatan Loosly-Coupled secara lengkap.
- Mendukung otentikasi dan otorisasi di setiap tingkatan.
- Melakukan pencarian dan konektivitas ke layanan lainnya secara dinamis.
3. Beberapa manfaat jangka pendek dari Implementasi Service Oriented Architecture (SOA), yaitu :
- Dapat meningkatkan keandalan.
- Mengurangi biaya akuisisi dari perangkat keras.
- Memanfaatkan suatu development skill yang ada.
- Dapat mempercepat Gerakan standarisasi server dan konsolidasi perangkat lunak.
- Menyediakan jembatan data (data-bridge) antara teknologi yang tidak kompatibel.
4. Manfaat jangka-panjang dari suatu implementasi Service Oriented Architecture (SOA), yaitu :
- Dapat menyediakan kemampuan untuk membangun perangkat lunak komposit.
- Membuat infrastruktur yang seld-healing, sehingga dapat mengurangi biaya manajemennya.
- Dapat menyediakan perangkat lunak pengambilan keputusan secara real-time sesungguhnya.
- Memungkinkan penyusunan terhadap taksonomi yang menyatu, dari informasi antara perusahaan, pelanggan dan mitra.
5. Manfaat dari perpektif nilai bisnis Service Oriented Architecture (SOA), yaitu :
- Pertama Memiliki kemampuan untuk memenuhi lebih cepat permintaan pelanggan atau konsumen.
- Kemudian Dapat menurunkan biaya sehubungan dengan akuisisi dan pemeliharaan teknologi.
- Selanjutnya Melakukan pengelolaan dari fungsi bisnis lebih dekat dengan unit bisnis.
- Selain itu Memanfaatkan investasi yang ada dalam teknologi.
- Terakhir Mengurangi ketergantungan akan pengembangan aplikasi secara kustom.
Baca Juga: Istilah Dalam Jaringan Komputer Beserta Penjelasannya
Contoh SOA Dalam Penagihan
Garis besar dari pemakaian SOA dalam penagihan selalu kita rasakan dalam kehidupan sehari-hari. Dalam suatu proses bisnis bisa jadi akan memanggil lebih dari satu service. Misalnya pada proses order akan memanggil service seperti mencari pelanggan, service buat pesanan, service pengiriman, dan service penagihan.
Kemudian contoh dari aplikasi yang membutuhkan service adalah CRM (Customer Relationship Management). Tentu saja hal ini dikarenakan manajemen membutuhkan service untuk mengetahui suatu hubungan atau pola pada pelanggan. Yang selanjutnya digunakan dalam dunia bisnis sebagai acuan peningkatan pelayanannya. Misalnya pada aplikasi yang khusus menyediakan layanan keluhan pelanggan.
Berikut contoh penerapan SOA dengan arsitketur REST API yang penulis buat ketika Skripsi: