Arsitektur Berorientasi Layanan (SOA)
Arsitektur Berorientasi Layanan (SOA) adalah pola desain untuk membangun sistem terdistribusi yang menyediakan layanan ke aplikasi lain melalui protokol. SOA adalah konsep yang tidak terbatas pada bahasa pemrograman atau platform tertentu.
Apa itu Layanan?
Layanan adalah fungsi yang terdefinisi dengan baik dan mandiri yang mewakili satu unit fungsionalitas. Layanan dapat bertukar informasi dengan layanan lain dan menggunakan model komunikasi berbasis pesan yang longgar untuk berkomunikasi dengan aplikasi dan layanan lainnya.
Koneksi Layanan
Konsumen layanan mengirim permintaan layanan ke penyedia layanan, dan penyedia layanan mengirim respons layanan ke konsumen layanan. Koneksi layanan ini dapat dipahami oleh kedua belah pihak.
Terminologi Berorientasi Layanan
- Layanan: Entitas logis yang didefinisikan oleh satu atau lebih antarmuka yang dipublikasikan.
- Penyedia layanan: Entitas perangkat lunak yang mengimplementasikan spesifikasi layanan.
- Konsumen layanan: Pihak yang memanggil layanan penyedia, bisa berupa layanan lain atau aplikasi pengguna akhir.
- Pencari layanan: Penyedia layanan yang bertindak sebagai registry, memeriksa antarmuka dan lokasi penyedia layanan.
- Broker layanan: Penyedia layanan yang meneruskan permintaan layanan ke penyedia layanan tambahan.
Karakteristik SOA
- Longgar (loosely coupled)
- Mendukung interoperabilitas
- Transparan lokasi
- Mandiri
Komponen SOA
SOA dibagi menjadi dua aspek utama: aspek fungsional dan aspek kualitas layanan.
Aspek Fungsional
- Transportasi: Mengangkut permintaan dan respons layanan.
- Protokol Komunikasi Layanan: Memungkinkan komunikasi antara penyedia dan konsumen layanan.
- Deskripsi Layanan: Menjelaskan layanan dan data yang diperlukan untuk memanggilnya.
- Layanan: Layanan aktual.
- Proses Bisnis: Kelompok layanan yang dipanggil dalam urutan tertentu untuk memenuhi kebutuhan bisnis.
- Registry Layanan: Mengandung deskripsi data yang digunakan oleh penyedia layanan untuk mempublikasikan layanan mereka.
Aspek Kualitas Layanan
- Kebijakan: Protokol yang digunakan penyedia layanan untuk membuat dan menyediakan layanan.
- Keamanan: Protokol yang dibutuhkan untuk identifikasi dan otorisasi.
- Transaksi: Menjamin hasil yang konsisten.
- Manajemen: Atribut yang digunakan untuk mengelola layanan.
Keuntungan SOA
- Mudah diintegrasikan
- Mengelola kompleksitas
- Independensi platform
- Pengembangan paralel
- Tersedia dan andal
//TC