Sistem terintegrasi merupakan tantangan menarik dalam software development karena pengembangannya harus terus mengacu pada konsistensi sistem, agar sub-sub sistem yang sudah ada dan tetap dimanfaatkan secara operasional masih tetap berfungsi sebagaimana mestinya baik ketika proses mengintegrasikan sistem maupun setelah terintegrasi. Tantangannya adalah bagaimana merancang sebuah mekanisme mengintegrasikan sistem-sistem tersebut dengan effort paling minimal – bahkan jika diperlukan, tidak harus melakukan refactoring atau re-developing lagi sistem-sistem yang sudah ada.
- Vertical Integration, merupakan proses mengintegrasikan sub-sub sistem berdasarkan fungsionalitas dengan menghubungkan sub-sub sistem yang sudah ada tersebut supaya bisa berinteraksi dengan sistem terpusat dengan tetap berpijak pada arsitektur sub sistem yang lama. Metode ini memiliki keuntungan yaitu dapat dilakukan dengan cepat dan hanya melibatkan beberapa entitas development yang terkait dalam proses pembuatan sistem lama. Kelemahannya, metode ini tidak memungkinkan untuk mengimplementasikan fungsi-fungsi baru atau proses bisnis baru ke dalam sub-sistem yang sudah ada – karena effort lebih tinggi ada di proses “mempelajari” arsitektur sistem lama dan menjadikannya acuan untuk membuat sistem terintegrasi. Untuk menghadirkan ekspansi fungsionalitas atau proses bisnis baru adalah harus membuat sub-sistem baru.
- Star Integration, atau lebih dikenal sebagai spaghetti integration, adalah proses mengintegrasikan sistem dengan cara menghubungkan satu sub sistem ke semua sub-sub sistem lainnya. Sebuah fungsi bisnis yang diimplementasikan dalam sebuah sub sistem akan di-broadcast ke semua sub-sub sistem lain yang dependen terhadap fungsi bisnis tersebut supaya dapat dipergunakan sebagaimana mestinya. Untuk integrasi sistem dengan ruang lingkup kecil atau menengah dan dengan pemisahan fungsi bisnis yang jelas dan spesifik, metode integrasi ini layak untuk dipertimbangkan. Namun jika fungsi bisnis banyak terlibat di beberapa sub sistem secara dependen, pada akhir proses integrasi sistem akan terlihat sedikit “kekacauan” dalam diagram – proses interkoneksi antar sub sistem akan tampak seperti spaghetti. Efeknya, biaya perawatan dan ekspansi sistem di masa yang akan datang akan memerlukan effort yang sangat berat untuk mempelajari skema integrasi sistem berikut dependency-nya.
- Horizontal Integration, atau ada yang mengistilahkan dengan Enterprise Service Bus (ESB), merupakan sebuah metode yang mengintegrasikan sistem dengan cara membuat suatu layer khusus yang berfungsi sebagai interpreter, dimana semua sub-sub sistem yang sudah ada akan berkomunikasi ke layer tersebut. Model ini lebih menawarkan fleksibilitas dan menghemat biaya integrasi, karena yang perlu difokuskan dalam implementasi proses pengintegrasian hanya layer interpreter tersebut. Untuk menangani ekspansi proses bisnis juga hanya perlu diimplementasikan di layer interpreter itu juga, dan sub sistem baru yang akan menangani interface dari proses bisnis ekstensi tersebut akan berkomunikasi langsung ke layer dan layer akan menyediakan keperluan-keperluan data/interface untuk sub sistem lain yang memerlukannya.
- Lebih cepat dalam melakukan penyesuaian dengan sistem yang telah ada
- Meningkatkan fleksibilitas, mudah untuk diperbaharui mengikuti perubahan keperluan sistem (system requirements)
- Membuat standar sistem sehingga bisa diaplikasikan di sub sistem mana pun
- Porsi pekerjaan software development lebih banyak di “konfigurasi” daripada “menulis code” untuk integrasi
- Dapat diterapkan mulai ruang lingkup kecil hingga di level enterprise
- Pembuatan standar sistem dalam Enterprise Message Model banyak berkutat di aspek analisis dan manajerial, biaya analisis benar-benar tinggi karena perlu berkolaborasi dengan analis-analis yang bertanggung jawab terhadap arsitektur dan desain sistem-sistem yang telah ada.
- Secara khusus memerlukan perangkat keras (hardware) yang spesifik, seperti misalnya business-logic-server yang independen dan tidak integral dengan salah satu atau sebagian dari sub sistem yang telah ada.
- Perlu tambahan tenaga (SDM) berupa Middleware Analyst yang akan mengkonfigurasi, merawat, dan mengoperasikan layer Enterprise Service Bus.
- Karena biasanya ESB mempergunakan XML sebagai bahasa komunikasi antar sistem, tentu akan memerlukan resources dan komputasi berlebih untuk melakukan parsing-reparsing dalam komunikasi data.
- Memerlukan effort yang cukup tinggi dalam mengimplementasikan ESB karena cukup banyak layer/tingkatan aplikasi yang harus ditangani, tidak hanya aplikasi-aplikasi interface dari sub-sub sistem saja, melainkan juga layer interpreter yang juga memiliki karakteristik sebagai aplikasi juga.
_______________________
Rizky Prihanto
Software Architect PT Cinox Media Insani