Service Oriented Architecture : Persfektif Bisnis dan Teknologi
SOA atau Service Oriented Architecture merupakan istilah yang menjadi trend dalam teknologi terbaru di dunia TI. Mngacu kepada nama Service Oriented Architecture merupakan sebuah pendekatan dalam merancang (arsitek) sistem dimana service yang ada dalam masing-masing sistem yang ada. Dalam hal ini, komponen-komponen tersebut memberikan suatu jenis layanan bisnis (service) tertentu seperti antara lain: melakukan pembayaran, transfer pembayaran, mengecek status akun bank, dan lain sebagainya.
Gambar 1. SOA komponen (Sumber : Paul C. Brown, “Implementing SOA: Total Architecture in Practice”, 2008, Addison Wesley Professional, ISBN-10: 0-321-50472-0 ISBN-13: 978-0-321-50472-2.)
Secara umum bisa dikatakan bahwa SOA adalah sebuah arsitektur kerangka kerja berbasis standar yang terhubung yang memungkinkan sistem-sistem untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di berbagai lokasi atau sumber. 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).
Gambar dibawah ini memberikan gambaran secara khuss tetang proses dan absyraksi dari SOA
Gambar 2. : SOA Abstraksi dan Proses (Sumber : Norbert Bieberstein, et al., “Executing SOA: A Practical Guide for the Service-Oriented Architect”, 2008, IBM Press, ISBN-10: 0-13-235374-1 ISBN-13: 978-0-13-235374-8. )
Dalam Gambar diatas, SOA absraksi merupakan bagan yang sangat penting dalam proses pengembangan SOA. Secara umum sistem yang terhubung dengan SOA terdiri dari Sistem saat ini, sistem yang berhubungan dengan Customer Service, ERP dan juga Web.Dalam pendekatan diatas dapat disimpulkan bahwa Web Service Component dan Web Service API akan terhubung dengan SOA Absraksi.
Komteks SOA adalah loose coupled yang artinya 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.
Gambar 3. : Ilustrasi dari SOA Service (Sumber : 2. Paul C. Brown, “Succeeding with SOA: Realizing Business Value through Total Architecture”, 2007, Addison Wesley Professional, ISBN-10: 0-321-50891-2 ISBN-13: 978-0-321-50891)
Misalnya sebuah aplikasi core Penerbangan menyediakan sebuah service ticket booking, maka aplikasi-aplikasi lainnya seperti flight schedule, payment gateway, Flight Detail dan sebagainya dapat memanggil service flight booking tersebut tanpa perlu mengetahui di mana flight schedule 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 penerbangan di atas masing-masing harus mempunyai fungsi flight schedule di dalamnya sehingga akan menyulitkan dan membutuhkan biaya/resource besar jika perlu merubah logic dari flight schedule ke requirement bisnis yang baru di dalam setiap aplikasinya.
Dapat disimpulkan bahwa SOA menjadi solusi dari beragamnya platform serta permintaan untuk interopability dari sistem.