Service Oriented Architecture ( SOA )
Service Oriented Architecture ( SOA ) adalah suatu gaya
arsitektur sistem yang membuat dan menggunakan proses bisnis dalam bentuk
paket layanan sepanjang siklus hidupnya. SOA juga mendefinisikan
dan menentukan arsitektur teknologi informasi (TI) yang dapat
menunjang berbagai aplikasi untuk saling
bertukar data dan berpartisipasi dalam proses bisnis. Fungsi-fungsi ini tidak
terikat dengan sistem operasi dan bahasa
pemrogramanyang mendasari
aplikasi-aplikasi tersebut. SOA membagi fungsi-fungsi menjadi unit-unit yang
berbeda (layanan), yang dapat didistribusikan melalui suatu jaringan dan
dikombinasikan serta digunakan ulang untuk membentuk aplikasi bisnis.
Layanan-layanan ini saling berkomunikasi dengan mempertukarkan data antar
mereka atau dengan mengkoordinasikan aktivitas antara dua atau lebih layanan.
Konsep SOA sering dianggap didasari atau berkembang dari konsep-konsep yang
lebih lama dari komputasi terdistribusi dan pemrograman modular .
Arsitektur Berorientasi menyediakan layanan yang lebih
komprehensif dan tangkas cara untuk mengintegrasikan sistem informasi dan
proses bisnis lebih dari integrasi pendekatan tradisional. Perusahaan perlu
reskill staf mereka untuk memanfaatkan metodologi baru ini. Dengan SOA,
aplikasi-aplikasi tidak lagi dibangun bersifat monolitik, SOA dibentuk dengan
merangkai berbagai service modular. Suatu service bisa berupa satu fungsi dari
sebuah piranti lunak, misalnya fungsi GetAccountBalance atau CancelOrder.
Fungsi tersebut bisa dieksekusi atas permintaan sistem apapun, tanpa memandang
platform sistem operasinya, bahasa pemrogramannya, maupun lokasi geografisnya.
Implementasinya SOA dewasa ini, dalam bentuk web services , boleh dibilang
merevolusi pengembangan piranti lunak. Dulu memang sudah ada distributed
software architecture , yang juga menjanjikan agility dan penggunaan kembali
komponen, namun cara itu memiliki kelemahan. Untuk melakukan integrasi, seluruh
komponen harus menggunakan object model atau bahasa pemrograman yang sama. Nah,
web services menghilangkan halangan itu dan sanggup beroperasi melampaui batas
yang memisahkan platform Microsof dari Unix, atau .Net dari J2EE,
Singkatnya, SOA bisa membantu menyederhanakan integrasi
aplikasi dan manajemen proses. Jika ingin memiliki proses bisnis yang lebih
fleksibel dan adaptif, pindahkan aplikasi-aplikasi TI ke SOA.
Kelebihan SOA :
Implementasi SOA pada perusahaan relative membutuhkan
biaya yang cukup besar. Akan tetapi, dengan perencanaan yang baik, SOA dapat
memberikan keuntungan yang lebih besar. Keuntungan dapat dirasakan dari segi
biaya dan waktu, antara lain:
n Penghematan
Dengan membangun suatu koleksi services, penghematan
dapat dimulai. Jika pada proyek yang pertama, waktu dan tenaga yang dihabiskan
paling besar, maka proyek selanjutnya, usaha yang dikeluarkan akan makin kecil
karena sudah banyak tersedia services sebagai hasil dari proyek sebelumnya yang
dapat di-reuse.
n Kecepatan
Dalam SOA, proses bisnis dipecah dan disederhanakan dalam
bentuk service yang lebih kecil. Ketergantungan yang ada antar service harus
diminimalisir. Sehingga apabila terjadi perubahan pada suatu proses bisnis,
cukup service yang berkaitan saja yang mengalami perubahan. Tidak perlu seluruh
sistem. Dengan begini, sistem dapat merespon perubahan dengan cepat.
n Real-time responsive
Dalam service-service tersimpan business rules dan
batasan-batasan dalam bisnis. Dan service-service ini disimpan dan dikelola
dalam sebuah server aplikasi yang disebut ESB. Sehingga berbagai jenis aplikasi
dapat mengakses business rules tersebut. Apabila terjadi suatu perubahan
terhadap business rules, ESB akan mengelolanya secara otomatis. Sehingga
business rules yang baru akan berlaku saat itu juga.
n Channel independent
Bisnis berkaitan dengan banyak pihak, Baik pelanggan
maupun supplier. Berbagai pihak yang behubungan dengan organisasi tentu saja
memungkinkan adanya berbagai jenis aplikasi yang berbeda-beda. Dengan adanya
service dan ESB, memungkinkan untuk berbagai aplikasi tersebut untuk mengakses
business rules yang telah kita definisikan. Sehingga pihak-pihak yang berkaitan
dengan organisasi tidak tergantung lagi terhadap suatu aplikasi tertentu yang
telah kita definisikan.
n Waktu pengembangan yang lebih singkat
Dalam SOA, bisnis proses yang dipecah dalam bentuk
service yang lebih kecil memungkinkan perubahan dan pengembangan pada service
yang tertentu saja. Karena pengembangan dilakukan secara terfokus, waktu yang
dibutuhkanpun menjadi lebih sedikit.
n Mengurangi duplikasi
Service dalam SOA dikelola dalam server aplikasi yang
disebut ESB. Karena service dikelola secara terpusat, hal ini akan mengurangi
kemungkinan adanya duplikasi sistem. Selain itu, bentuk service yang
memungkinkan reuseability juga mengurangi adanya fungsi yang sama yang ada
didalam sebuah sistem.
Kekurangan / Kegagalan SOA
n Kegagalan dalam membuat businness case untuk SOA
Bagian IT seringkali membuat kesalahan dengan menganggap
proyek SOA sebagai proyek IT. Padahal SOA bukanlah proyek yang dapat dikerjakan
IT sendiri. Tetapi harus mencakup seluruh departmen dalam organisasi. Proses
bisnis dimiliki dan dijalankan oleh tiap-tiap departmen. Oleh karena itu
diperlukan keterlibatan setiap departmen untuk mendapatkan pengertian yang
lebih mendalam dalam setiap proses bisnis yang akan diolah.
n Menyerahkan proyek SOA sepenuhnya ke vendor
Terkadang perusahaan mempercayakan sepenuhnya proyek SOA
kepada vendor, dan bergantung hanya kepada teknologi. Padahal SOA bukan hanya
masalah teknologi, dan pengembangannyapun tidak dapat diserahkan sepenuhnya
kepada pihak luar. Yang mengetahui secara detail mengenai proses bisnis yang
ada dalam perusahaan hanyalah orang-orang yang ada dalam perusahaan tersebut.
Oleh karena itu tidak sebaiknya prosesnya sepenuhnya diserahkan kepada vendor
diluar perusahaan.
n Kegagalan dalam rencana dan eksekusi awal dalam
implementasi
SOA akan membawa banyak perubahan dalam perusahaan.
Karena itu perlu waktu yang tepat untuk melakukan implementasi, agar tidak
menimbulkan resiko yang tinggi. Perencanaan perlu dilakukan secara matang. Dan
perencanaan dan waktu yang tepat untuk implementasi tidak dapat dialihkan
tanggungjawabnya kepada vendor.
Tidak ada komentar:
Posting Komentar