Salah satu dari dua pendekatan dalam memenuhi kebutuhan integrasi di dalam perusahaan adalah Integrasi Antar Aplikasi. Secara umum di dalam Integrasi Antar Aplikasi terdapat 4 arsitektur integrasi yaitu Point to point, Hub and Spoke, Distributed Integration, dan SOA (Service Oriented Architecture).
Point to point Integration Architecture
Solusi Point-to-point seringkali lebih cepat dan efisien. Namun disisi lain, arsitektur integrasi ini memiliki kekurangan yaitu ketika sistem sedikit maka koneksi relatif lebih mudah, namun jika sistem mengalami peningkatan jumlah aplikasi, maka kompleksitas lingkungan juga meningkat. Dengan meningkatnya kompleksitas akan mengakibatkan tingginya biaya pemeliharaan dan kurangnya fleksibilitas ketika perubahan dibutuhkan.
Hub and Spoke Integration Architecture
Arsitektur integrasi ini bertindak sebagai pusat kontrol “hub” yang berurusan dengan semua pemrosesan pesan termasuk routing, spiltting, dan menggabungkan pesan serta memetakan dan lainnya. Implementasu Hub dan Spoke dapat memisahkan aplikasi pengiriman dan peneriamaan. Tidak seperti Point-to-point, aplikasi pada kesua sisi hub dapat dimodifikasi secara mandiri dari yang lain. Karena aplikasi tidak perlu melakukan data mapping, maka difinisi terpusat dan kontrol proses bisnis dapat dilakukan dengan lebih mudah.
Keuntungan menggunakan integrasi arsitektur ini adalah dapat mengurangi komplesitas integrasi. Jika pada Point-to-point akan makin rumit seiring dengan pertambahan koneksi, Hub and Spoke tetap sederhana karena seluruj sambungan adalah dari dan ke hub. Kelemahannya adalah bila mengalami banyak proses yang terjadi pada hub pusat,Hub and Spoke memiliki overhead tinggi. Proses dalam hum seringkali membutuhkan kekuatab pemprosesan yang tinggi dan ukuran disk yang besar.
Distributed Integration Architecture
Salah satu solusi untuk masalah scalability Hub and Spoke adalah dengan melakukan penerjamahan, routing, pemisahan, dan penyatuan pesan lebih dekat pada sistem sumber dan terget dengan menggunakan computer yang lebih kecil disebut “agents”. Computer agent disambung hanya ke satu sistem dan mengurangi beban pemprosesan pada sistem tersebut. Agen mengambil informasi dari aplikasi yang tersambung dengan mereka, memproses dan mengirim informasi tersebut ke aplikasi target apapun yang berkepentingan menerima informasi tersebut. Hasil akhirnya adalah Distributed Architecture. Hal ini juga disebut arsitektur Peer to Peer.
Kebanyakan proses dilakukan pada prosesor agen yang ditempatkan dekat dengan aplikasi sumber dan target. Selain keuntungan dari efisiensi proses dengan mendistribusikan beban kerja ke seluruh prosesor yang dikhususkan untuk itu, suatu Distributed Architecture dapat tumbuh dengan lebih mudah. Kekurangannya, pada saat memilih satu teknologi mungkin pada akhirnya hanya menyediakan solusi terdistribusi untuk sebagian dari organisasi karena campuran sistem yang digunakan. Ketika organisasi perlu berubah atau meluas arsitektur sistem menjadi masalah yang lebih dari sekedar memilih salah satu dari teknologi terdistribusi dan mengimplementasikannya.
SOA (Service Oriented Architecture)
Pada intinya SOA adalah versi perbaikan dari Distributed Architecture. Integrasi arsitektur ini satu langkah lebih maju dari arsitektur sebelumnya, dengan menyediakan lingkungan terintegrasi yang menyebarkan beban kerja, meruntuhkan “gudang” fungsi bisnis dan membuka prosesnya untuk aplikasi lain.
Satu cara untuk memandang SOA adalah seperti set lego. Suatu set lego lebih dari sekedar blok individu; potongan besar yang khusus untuk pembuatan sesuatu yang lebih rumit juga tersedia. Sama dengan SOA, suatu aplikasi dapat mengubah suatu potongan individu atau “layanan” yang ia gunakan. Menggunakan konsep ini, aplikasi berbasis komponen yang besar dan rumit dapat dikembangkan.
Dengan konsep SOA waktu pengembangan cukup berkurang karena penggunaan kembali aplikasi sebelumnya dan meningkatkan leverage aset eksisting alih-alih membangun produk baru dari awal tanpa menggunakan yang telah ada. Hal tersebut juga mengurangi siklus pengembangan software dan biaya yang dibutuhkan, yang berarti time-to-market yang lebih cepat. kelemahannya yaitu :
- Arsitektur SOA tidak akan cocok untuk aplikasi dengan fungsi GUI
- Aplikasi tersebut akan menjadi lebih rumit jika mereka menggunakan arsitektur SOA yang memerlukan pertukaran data yang berat
- Aplikasi-aplikasi yang memerlukan komunikasi yang tidak sinkron tidak akan bisa menggunakan SOA.
- Dalam kasus implementasi aplikasi yang berdiri sendiri dan berumur singkat, SOA akan menjadi beban tambahan.(**)