Apakah itu yang disebut layanan? Sebuah layanan adalah sistem otonom yang menerima request dan memberikan response melalui sekumpulan interface yang telah didefinisikan dan dipublikasikan. Sebuah layanan adalah komponen software yang bisa digunakan ulang dan berdiri sendiri, yang disediakan oleh penyedia layanan dan dipakai oleh peminta layanan.

Apakah itu yang dimaksud dengan Service Oriented / Service Orientation? Pengertian service orientation berupa strategi pemodelan yang digerakkan oleh bisnis sehingga mendefinisikan fungsionalitas bisnis dari segi sistem / layanan-layanan bisnis otonom yang masing-masing layanan tidak saling bergantung satu sama lain dan pertukaran informasi berdasarkan pada pesan.

 Service Oriented Architechture (SOA) merupakan semacam arsitektur yang menggunakan layanan-layanan sebagai blok bangunan untuk memfasilitasi integrasi enterprise dan penggunaan ulang komponen secara loosely coupling. SOA merupakan suatu bentuk arsitektur dan dalam implementasinya SOA dibangun dengan sekumpulan layanan yang terdefinisi dengan baik (Pathak dkk., 2011).

Dalam membangun sistem berbasis SOA, ada beberapa prinsip-prinsip kunci SOA yang harus diperhatikan (Vasiliev dkk., 2007), antara lain :

  1.  Loosely coupling berarti kode program yang mendasari layanan SOA dapat berubah dengan minimal atau hampir tanpa dampak terhadap layanan lain yang disediakan dalam SOA yang sama.
  2.  Service contract merupakan deskripsi layanan dan dokumen lain yang dapat menjelaskan bagaimana suatu layanan dapat diakses melalui program. Sebagai contoh, pada SOAP web service terdapat WSDL sedangkan pada OData terdapat CSDL dan service document.
  3.  Abstraksi adalah sifat dimana layanan hanya mengekspos ke public pada logic yang dideskripsikan di dalam service contract serta menyembunyikan detil implementasinya dari pengguna layanan.
  4.  Autonomy berarti suatu layanan hanya mengontrol logic yang di enkapsulasi layanan tersebut saja, bersifat mandiri, berdiri sendiri, dan bertindak secara independen di semua aspek.
  5.  Reusability adalah prinsip suatu logic dapat dipakai ulang yang mana dapat dicapai dengan memecah kode program aplikasi ke dalam fungsi layanan sehingga setiap layanan dapat digunakan lebih dari satu pengguna layanan.
  6.  Discoverability adalah mekanisme standar memungkinkan dokumen deskripsi layanan ditemukan oleh peminta layanan.
  7.  Statelessness adalah sifat suatu layanan tidak mengurusi kondisi layanan terhadap sesi aktivitas tertentu, sehingga setiap request harus mengandung semua informasi yang diperlukan sesuai deskripsi layanan agar layanan dapat memberikan response.
  8.  Interoperability adalah prinsip yang dapat dicapai sepanjang pengguna layanan dan penyedia layanan berinteraksi satu sama lain melalui antarmuka yang independen terhadap platform dan independen terhadap implementasi.

Sebagai bentuk arsitektur teknologi, implementasi SOA dapat terdiri dari berbagai kombinasi teknologi, produk, API, ekstensi dari infrastruktur yang mendukung. SOA membentuk model arsitektur yang bertujuan untuk meningkatkan efisiensi, agiliti, dan produktivitas dari enterprise dengan memposisikan layanan sebagai inti utama gol strategis dari enterprise. SOA dirancang untuk memungkinkan integrasi sistem-sistem yang berbeda dalam enterprise tanpa perlu memperhatikan implementasi masing-masing sistem tersebut. SOA menyediakan fungsionalitas melalui interface standar dan memiliki deskripsi layanan sehingga sistem lain dapat menggunakan fungsi pada layanan tersebut dengan mudah tanpa perlu tahu bagaimana penyedia layanan mengimplementasikan service tersebut dan tanpa perlu tahu kode dan teknologi yang digunakan.

Berikut adalah keuntungan dari service oriented architechture :

  1. Meningkatkan interoperabilitas, SOA menyediakan jalan untuk berkomunikasi terlepas dari penyedia solusi.
  2. Meningkatkan federasi
  3. Meningkatkan pilihan diversifikasi bagi vendor
  4. Meningkatkan penyelarasan dalam domain bisnis dan domain teknologi
  5. Meningkatkan return of investment, dapat memanfaatkan fungsi komponen yang telah dibangun tanpa perlu membangun dari awal
  6. Meningkatkan agiliti dari organisasi, pemodelan layanan memberikan kemampuan dan fitur yang netral terhadap teknologi, sehingga perusahaan dapat bereaksi lebih cepat dan sedikit upaya ketika ada perubahan kebutuhan.
  7. Mengurangi beban IT
  8. Loose coupling, ketergantungan yang rendah antar komponen.
  9. Skalabilitas, SOA dapat diterapkan pada berbagai kondisi mulai dari jaringan kecepatan tinggi hingga komunikasi yang lambat, peralatan dengan daya rendah maupun PC, serta peralatan yang selalu terhubung jaringan hingga jaringan nirkabel yang buruk.

Referensi:

Pathak, N., 2011, Pro WCF 4: Practical Microsoft SOA Implementation, Second Edition, Apress, America.

Vasiliev, Y., 2007, SOA and WS-BPEL : Composing Service-Oriented Solutions with PHP and ActiveBPEL, Packt Publishing, United Kingdom.



Leave a Reply

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

Search

Welcome

Bayu Pratama R N is a lonely programmer who is very enthusiastic about .NET. He just try to live a life of a programmer life and write a blog post when he is so sick about love.

Gallery