Rabu, 25 Februari 2015

SOA

Jika kita pernah mengenal Object Oriented Programming (OOP), kini dunia bisnis dapat berfikir secara service oriented.
SOA adalah solusi yang dapat digunakan untuk efektifitas dalam pengembangan system.
SOA ( Service Oriented Architecture) adalah Arsitektur yang dibangun dengan berorientasi kepada service

Dengan kata lain,SOA adalah sebuah arsitektur kerangka kerja berbasis standar terbuka yang memungkinkan perusahaan-perusahaan untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di markas para pelanggan, mitra, atau pemasok.Dengan kata lain,SOA merupakan arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.(SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda)

Tantangan Perusahaan
Dalam bisnis perusahaan akan selalu mendapatkan tantangan, yang datang dari permintaan pelanggan dan persaingan pasar. Hal ini menuntut perusahaan agar secara cepat merespon dengan membuat inovasi. Namun inovasi ini terbentur dengan teknologi yang sedang berjalan di perusahaan. Hal ini mengakibatkan cost yang besar ketika akan melakukan inovasi. Hal inilah yang akhirnya membatasi perusahaan dalam berinovasi. Dilain pihak tantangan itu tidak akan berhenti. Pelanggan bisa saja tidak loyal dan pesaing melakukan invoasi yang lebih canggih.

Menjawab tantangan
Ketika kita berpikir dengan arsitektur tradisional, tentunya akan sulit dan butuh effort yang besar untuk berinovasi. Bisnis proses yang terlanjur berjalan dengan aplikasi-aplikasi yang ada. Ternyata mempunyai platform dan tempat yang berbeda. Dengan SOA hal ini dapat dipecahkan. Bisnis proses dipecah kedalam service-service. Service adalah bagian dari bisnis proses yang kumpulan fungsi, prosedur atau proses yang memberikan respon jika diminta.Service ini dapat saling berkomunikasi walaupun berbeda platform.

Karakteristik SOA
Seperti yang dideinisikan diatas,SOA adalah suatu cara perancangan aplikasi dengan menggunakan komponen-komponen atau pelayanan yang sudah ada.Dengan kata lain, suatu aplikasi dibangun secara modular. Sebenarnya pendekatan modular ini bukanlah sesuatu yang baru. Teknik - teknik pemrograman masa kini seperti object oriented programming, telah mengedepankan pendekatan modular dalam pembangunan aplikasi. Namun yang membuat SOA berbeda adalah komponen atau service tersebut dibangun dan berinteraksi satu sama lain secara bebas dan lepas (loose coupled). Dengan bersifat loose coupled, sebuah service dapat di-panggil oleh program/service lainnya tanpa program pemanggil tersebut perlu memperhatikan di mana lokasi service yang dipanggil berada dan platform/teknologi apa yang digunakan oleh service tersebut. Loose coupling sangat penting bagi SOA karena dengan demikian pemanggilan sebuah service oleh service lainnya dapat dilakukan pada saat run-time.

Misalnya sebuah aplikasi core banking menyediakan sebuah service Fund Transfer, maka aplikasi-aplikasi banking lainnya seperti treasury, payment gateway, ATM switching dan sebagainya dapat memanggil service Fund Transfer tersebut tanpa perlu memusingkan di mana Fund Transfer tersebut berada di dalam jaringan dan teknik pemanggilan yang harus digunakan.Hal ini kontras dengan pendekatan tight coupling di mana dalam hal ini setiap aplikasi perbankan di atas masing-masing harus mempunyai fungsi Fund Transfer di dalamnya sehingga akan menyulitkan dan membutuhkan biaya/resource besar jika perlu merubah logic dari Fund Transfer ke requirement bisnis yang baru di dalam setiap aplikasinya. Karakteristik lainnya adalah service dalam SOA disusun atas 2 hal: Service Interface dan Service Implementation.

tidak perlu memperdulikan bagaimana sebuah service diimplementasikan. Entah ditulis dengan bahasa Java atau COBOL, yang penting adalah bagaimana service tersebut dapat dipanggil dan memberikan informasi sesuai dengan Service Interface-nya. Karakteristik SOA yang terakhir adalah service tersebut harus business oriented. Dalam arti, setiap service yang didiinisikan harus melakukan suatu aktiitas bisnis tertentu, misalkan Customer Lookup, Fund Transfer, Check Inventory, dan sebagainya. Tidak dapat dipungkiri pula bahwa keberhasilan SOA belakangan ini ikut dimotori oleh tingginya penerimaan teknologi web services di kalangan pengembang aplikasi. Walaupun ide tentang SOA telah ada sebelum web services dilahirkan, web services dan SOA saat ini telah menjadi suatu si-nergi dan bahkan beberapa kalangan menganggap dengan menggunakan web services maka ia telah menerapkan SOA.



Tidak ada komentar:

Posting Komentar