Argnesia
ENGINEERING

Sebelum Mengintegrasikan Sistem, Pahami Dulu Alur Kerjanya

Menghubungkan dua aplikasi tidak selalu sesederhana membuat API. Ada alur kerja, struktur data, dan proses yang perlu dipahami terlebih dahulu.

±3 min read

Ketika sebuah perusahaan menggunakan beberapa aplikasi, biasanya akan muncul kebutuhan untuk menghubungkan semuanya.

Misalnya data pegawai ada di satu aplikasi, absensi di aplikasi lain, sementara laporan kehadiran harus tersedia di sistem kepegawaian.

Sekilas terlihat sederhana.

“Tinggal buat API supaya datanya terhubung, kan?”

Secara teknis, mungkin iya. Tetapi dalam praktiknya, menghubungkan dua sistem tidak selalu sesederhana mengirim dan menerima data.

Dua sistem bisa punya cara kerja yang berbeda

Bayangkan ada dua aplikasi yang sama-sama menyimpan data pegawai.

Aplikasi pertama menggunakan NIP sebagai identitas utama. Aplikasi kedua menggunakan ID internal yang dibuat otomatis.

Nama pegawai mungkin sama, tetapi identitas yang digunakan untuk mengenali pegawai tersebut berbeda.

Belum lagi kalau ada data pegawai yang sudah tidak aktif, pindah unit, atau memiliki informasi yang belum diperbarui.

Kalau kedua aplikasi langsung dihubungkan tanpa memahami perbedaan tersebut, masalahnya bisa muncul belakangan.

Data yang seharusnya merujuk pada satu orang bisa dianggap sebagai dua orang berbeda.

Karena itu, sebelum membuat integrasi, kita perlu memahami bagaimana masing-masing sistem menyimpan dan menggunakan data.

Jangan langsung mulai dari API

API memang menjadi salah satu cara yang umum digunakan untuk menghubungkan aplikasi.

Tetapi API hanyalah salah satu bagian dari proses integrasi.

Sebelum membuat endpoint atau menulis kode, ada beberapa hal yang perlu dipahami.

Data apa yang akan dipertukarkan? Sistem mana yang menjadi sumber data utama? Kapan data harus diperbarui? Apa yang terjadi kalau salah satu sistem tidak bisa diakses?

Pertanyaan terakhir sering terlupakan.

Misalnya sistem absensi berhasil mencatat kehadiran, tetapi saat itu sistem kepegawaian sedang mengalami gangguan.

Apakah data absensi harus hilang? Tentu tidak.

Kita perlu menentukan bagaimana data tersebut disimpan sementara dan dikirim kembali ketika sistem tujuan sudah tersedia.

Hal-hal seperti ini sebaiknya dipikirkan sebelum integrasi mulai dibangun.

Tentukan siapa yang menjadi sumber data

Ketika beberapa sistem menyimpan informasi yang sama, kita perlu menentukan dari mana informasi tersebut seharusnya berasal.

Contohnya, data identitas pegawai dikelola oleh sistem kepegawaian.

Aplikasi absensi membutuhkan informasi tersebut, tetapi tidak seharusnya menjadi tempat utama untuk mengubah identitas pegawai.

Dengan pembagian tanggung jawab yang jelas, perubahan data menjadi lebih mudah dikendalikan.

Kalau setiap aplikasi bebas mengubah informasi yang sama, kita bisa menghadapi masalah ketika data antar aplikasi tidak lagi sesuai.

Integrasi juga perlu menangani kegagalan

Dalam pengembangan aplikasi, kita sering fokus pada kondisi ketika semuanya berjalan normal.

Request dikirim, server merespons, lalu data berhasil disimpan.

Padahal, integrasi juga harus siap menghadapi kondisi ketika proses tersebut gagal.

Koneksi internet bisa terputus. Server tujuan bisa mengalami gangguan. Data yang dikirim mungkin tidak sesuai dengan format yang diharapkan.

Karena itu, sistem perlu memiliki mekanisme penanganan kesalahan.

Misalnya dengan mencatat proses yang gagal, menyediakan retry untuk kondisi tertentu, atau memberi informasi yang jelas kepada administrator.

Tidak semua kegagalan harus langsung menyebabkan seluruh proses berhenti.

Keamanan tidak boleh dilupakan

Menghubungkan dua aplikasi berarti membuka jalur pertukaran informasi.

Karena itu, kita perlu memastikan bahwa hanya sistem yang berwenang yang dapat mengakses data tersebut.

Penggunaan autentikasi, pembatasan akses, validasi data, dan pengamanan komunikasi menjadi bagian penting dalam proses integrasi.

Apalagi jika informasi yang dipertukarkan berkaitan dengan identitas pengguna, data keuangan, atau informasi internal organisasi.

Integrasi yang berhasil mengirim data belum tentu sudah aman.

Mulai dari alur, baru teknologinya

Sebelum mengintegrasikan sistem, coba gambarkan terlebih dahulu bagaimana data akan bergerak.

Dari mana data berasal, siapa yang menggunakannya, kapan data berubah, dan bagaimana sistem harus merespons ketika terjadi masalah.

Setelah alurnya jelas, barulah kita menentukan pendekatan teknis yang sesuai.

Bisa menggunakan REST API, webhook, message queue, atau mekanisme lain sesuai kebutuhan.

Tidak semua integrasi membutuhkan arsitektur yang rumit.

Kadang API sederhana sudah cukup. Pada kondisi lain, kita memang membutuhkan mekanisme yang lebih lengkap.

Yang penting, teknologi yang dipilih sesuai dengan proses yang ingin dijalankan.

HAVE SOMETHING TO IMPROVE?

Punya sistem yang mulai
sulit mengikuti kebutuhan?

Tidak selalu harus mulai dari nol. Kita bisa melihat dulu kondisi sistem, data, dan proses yang sudah ada.

Let's Talk