Minggu, 09 Mei 2010

Services Oriented Architecture (SOA)

SOA adalah rancangan untuk menghubungkan bisnis dengan sumberdaya komputasi yang dibutuhkan (Prinsipnya adalah organisasi, aplikasi dan data) untuk mencapai hasil yang diharapkan bagi pelayanan (yang dapat berupa end user atau layanan lainnya. OASIS (The Organization for the Advancement of Structured Information Standards) mendefinisikan SOA sebagai berikut :

“A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.”

Arsitektur yang digunakan tidak tertumpu pada suatu teknologi tertentu. SOA dapat diimplementasikan menggunakan teknologi yang ada. Termasuk REST, RCP, DCOM, CORBA atau Web Services. SOA dapat diimplementasikan menggunakan protokol - protokol tersebut. Sebagai contoh dapat digunakan mekanisme sistem file untuk penyesuaian cara berkomunikasi antar data untuk menentukan spesifikasi interface antara penyesuaian proses terhadap konsep SOA. Kunci pokok dari SOA adalah service yang mandiri dengan interface yang terdefinisi dengan baik yang dapat dipanggil untuk melakukan tugas dan fungsinya berdasarkan standar-standar tertentu, service tersebut tidak memerlukan pengetahuan masa lalu dari aplikasi yang dipanggil, dan aplikasi tidak memerlukan pengetahuan bagaimana service melakukan tugas-tugasnya. Aristektur SOA dan model SOA dapat dilihat pada gambar berikut ini:

Gambar Arsitektur Dan Model SOA


Gambar SOA Meta - Model


SOA dapat dipandang sebagai sebuah gaya arsitektur sistem informasi yang memungkinkan pembuatan aplikasi yang dibuat dengan mengkombinasikan service yang bebas dan penggabungan service. Operasi antar layanan yang ada berbasis pada definisi yang jelas (seperti kontrak atau WSDL) yang mandiri dari platform dan bahasa pemprograman yang mendasarinya.

Definisi interface akan menyembunyikan implementasi dari suatu bahasa pemprograman layanan. Sistem berbasis SOA dapat dikembangkan dari berbagai platform dan teknologi (seperti java dan dot net). Sebagai contoh, Service yang ditulis dengan bahasa C# berjalan di platform Dot Net dan layanan yang ditukis dengan java berjalan di platform java EE. Keduanya dapat digunakan dengan sebuah aplikasi gabungan umum. Aplikasi-aplikasi tersebut berjalan pada masing-masing platform dan tetap dapat menggunakan layanan yang berjalan pada aplikasi lainnya sebagai web service, hal ini memudahkan penggunaan kembali layanan tersebut.

SOA dapat mendukung aktivitas integrasi dan konsolidasi dalam sistem yang kompleks, tetapi SOA tidak diperuntukkan atau menyediakan sebuah metodologi atau kerangka kerja bagi proses pendokumentasian kemampuan atau layanan.

Tidak ada komentar:

Posting Komentar