1. Teori tentang Service Oriented Architecture (SOA)
SOA, sebagai paradigma abstrak, seringkali direpresentasikan sebagai arsitektur dasar terdistribusi tanpa referensi cara untuk mengimplementasikannya. Disandingkan dengan platform layanan Web dan satu set prinsip-prinsip orientasi pelayanan yang umum diterima, SOA telah muncul sebagai platform arsitektur yang berbeda secara eksplisit dari pendahulunya. Hal ini memperkenalkan konsep-konsep baru yang didukung oleh teknologi terpilih yang secara signifikan meningkatkan karakteristik platforms komputasi terdistribusi umum sehingga lingkungan berorientasi-layanan sering kali berakhir mendefinisikan ulang infrastruktur TI.
SOA adalah sebuah kerangka kerja untuk mengintegrasikan proses bisnis dan mendukung infrastruktur teknologi informasi dan menstandarisasi komponen-komponen layanan yang dapat digunakan kembali dan digabungkan sesuai dengan prioritas bisnis. SOA bersifat loosely coupled (tingkat kebergantungan antar komponen rendah), highly interoperable (mudah dioperasikan), reusable (dapat digunakan kembali), dan interoperability (dapat berkomunikasi antar platform).
2. Definisi SOA
Thomas Erl:
"SOA is a form of technology architecture that adheres to the principles of service-orientation. When realized through the Web services technology platform, SOA establishes the potential to support and promote these principles throughout the business process and automation domains of an enterprise".
Judith Hurtwiz, et.al:
"SOA is an architecture for building business applications as a set of loosely coupled black box components orchestrated to deliver a well-defined level of service by linking together business processes".
3. Prinsip-prinsip SOA
- Loose coupling. Layanan menjaga hubungan yang meminimalkan dependensi dan hanya mempertahankan kesadaran akan keberadaan satu sama lain.
- Kontrak layanan. Layanan mematuhi perjanjian komunikasi, seperti yang didefinisikan secara kolektif oleh satu atau lebih deskripsi layanan dan dokumen terkait.
- Otonomi. Jasa memiliki kendali atas logika yang mereka encapsulate.
- Abstraksi. Melampaui apa yang dijelaskan dalam kontrak jasa, layanan menyembunyikan logika dari dunia luar.
- Reusability Logika dibagi menjadi layanan-layanan dengan tujuan mempromosikan penggunaan kembali.
- Koleksi layanan Composability dapat dikoordinasikan dan dirakit untuk membentuk layanan komposit.
- Layanan Statelessness meminimalkan informasi yang tersisa spesifik untuk suatu kegiatan.
- Layanan Discoverability dirancang agar terlihat deskriptif sehingga mereka dapat ditemukan dan digunakan melalui mekanisme penemuan yang tersedia.
4. Keuntungan SOA
Terdapat beberapa keuntungan dalam mengadaptasi SOA. Namun, banyak keuntungan yang dijanjikan oleh SOA tidak terlihat hingga prinsip-prinsip orientasi pada layanan sudah tertanam pada perusahaan.
- Peningkatan integrasi (dan interoperabilitas intrinsik). Biaya dan upaya integrasi lintas-aplikasi yang secara signifikan menurun ketika aplikasi yang terintegrasi adalah SOA-compliant.
- Inherent Use. Membangun layanan yang inherently reusable membutuhkan usaha ekstra dan memerlukan penggunaan standar desain. Selanjutnya meningkatkan penggunaan kembali dalam layanan akan menurunkan biaya dan upaya membangun solusi service-oriented.
- Merampingkan arsitektur dan solusi. Pesan komunikasi berbasis SOA mampu, pada kenyataannya, meningkatkan persyaratan kinerja jika dibandingkan dengan gaya komunikasi RPC dalam arsitektur tradisional terdistribusi.
- Meningkatkan investasi warisan (legacy). Biaya dan upaya mengintegrasikan warisan dan solusi kontemporer diturunkan. Kebutuhan sistem warisan harus diganti berpotensi berkurang.
- Menetapkan standar representasi data XML. Biaya dan upaya pengembangan aplikasi berkurang setelah proliferasi standar representasi data XML dicapai.
- Fokus investasi pada infrastruktur komunikasi. Biaya skala infrastruktur komunikasi berkurang, karena hanya satu teknologi komunikasi diperlukan untuk mendukung bagian federasi dari perusahaan.
- Alternatif "Best-of-breed". Potensi cakupan pemenuhan kebutuhan bisnis meningkat, seperti halnya kualitas
otomatisasi bisnis. - Keleluasaan organisasi. Biaya dan upaya untuk merespon dan beradaptasi dengan perubahan bisnis atau teknologi yang berhubungan berkurang.
Erl, Thomas. Service Oriented Architecture: Concepts, Technology, and Design, S.L.: Prentice Hall PTR, 2005.
Hurtwiz, Judith, et al. Service Oriented Architecture for Dummies. Indianapolis : Wiley Publishing Inc., 2009.