Service oriented architecture atau biasa disingkat SOA merupakan salah satu topik hangat di para kalangan IT dan manajemen. Konon perusahaan raksasa seperti Oracle, IBM, Microsoft, HP, SAP pun sering menyebutkannya. Terkadang para vendor-vendor (termasuk nama-nama yang disebutkan tadi) karena terlalu sering mempromosikannya, sehingga membuat banyak orang bingung. Sebenarnya apa itu SOA? Dan buat apa sih?
Secara sederhana SOA merupakan pendekatan baru membangun sistem IT. Banyak orang mengganggap karena dia berorientasi “service”, jadi SOA pasti adalah web-service. Pemikiran ini sebetulnya kurang benar. Sebelum menjelaskan SOA, penulis akan menyajikan sebuah cerita sederhana yang terinspirasi dari Service Oriented Architecture for Dummies oleh Hurwitz dan Bloor.
Perusahaan SOS yang sudah puluhan tahun bergerak di bidang pendidikan. Perusahaan ini sudah menerapkan IT pada usahanya supaya mampu bersaing dengan perusahaan lain. Melihat persaingan yang kian hari kian brutal, manajerial pun mulai memutar otak bagaimana bisa selamat dalam dunia bisnis ini. Akhirnya mereka berhasil menemukan ide yang sangat hebat, ide ini bakal membuat SOS berjaya. Para manajer girang. Namun dari IT menyelutuk “sebenarnya kami cukup setuju ide ini, hanya saja ada ‘sedikit’ masalah.”
“Proses bisnis perusahaan ini bergantung pada aplikasi yang sudah ada. Kalian tahu sistem kita terdiri dari berbagai aplikasi yang bekerja dan saling terhubung. Kalau kita menjalankan ide itu berarti harus melakukan perubahan besar pada sistem, yang artinya kami harus mengubah aplikasi sana sini, dan itu artinya harus mengeluarkan uang lebih dan menunggu sekitar 1-2 tahun. Saya khawatir 1-2 tahun kemudian strategi ini sudah tidak bisa diterapkan” papar IT.
Masalah perusahaan SOS cukup besar, sistem aplikasi mereka terlalu terikat satu sama lain (dalam istilah pemograman, coupling yang terlalu tinggi). Akibatnya ketika misalnya akan dibuat departemen baru, maka sistem di departemen lain harus ikut diperbaiki atau bahkan ditulis ulang!
SOA merupakan jawabannya. Ketika mendirikan sistem berasitektur SOA maka kita akan memecahkan fungsi bisnis menjadi sangat modular dan kecil. Masing-masing modul ini akan diletakkan dalam web-service tersendiri.
Misalnya aplikasi akuntansi ingin mengakses data customer maka web service yang berhubungan dengan customer yang memberi jawaban. Setiap departemen akan hanya menggunakan service itu untuk mengakses data customer. Kalau suatu saat terjadi perubahaan peraturan pada data customer, IT tahu yang harus diganti adalah sistem web service customer, bukan bagian lain.
Demikianlah, SOA hanyalah sebuah konsep dan web service sendiri adalah bagian dari SOA. Oh ya, mengenai nasib perusahaan SOS apakah mereka harus membuang semuanya demi mendirikan arsitektur baru ini? Jawabannya tidak, mereka bisa memanfaatkan sistem yang sudah ada, merancang business service, menghubung-hubungkan antar service dan mereka akan menikmati keuntungan SOA dalam waktu singkat. Bukankah ini sebuah ending yang paling bagus?
[...] http://www.computesta.com/blog/2011/02/apa-itu-soa/#.UVXnM1dsNog [...]