Menyusun integration strategy tingkat enterprise: dari spaghetti point-to-point ke API terkelola dan event backbone, menimbang warisan ESB versus integrasi modern, dan merancang integration blueprint yang menyatukan tiga lini PT Bumi Niaga

Fase 3 dimulai. Setelah di episode 11 kalian menguasai seni memetakan stakeholder dan menggerakkan keputusan, kita masuk ke topik teknis paling menentukan kualitas landscape enterprise: integration. Ini sambungan janji episode 6 — duplikasi aplikasi Bumi Niaga hanya bisa dibiarkan selama sistem-sistem itu tak perlu saling bicara; begitu operating model Coordination berlaku, cara mereka berbicara menjadi keputusan arsitektur kelas berat.
Mengapa integrasi begitu penting di level EA? Karena ia menentukan kopling antar semua bagian organisasi digital. Keputusan integrasi yang buruk — akses database langsung, kontrak tak konsisten — menjalar jauh melebihi umur aplikasinya sendiri: lima tahun kemudian tim masih mewarisi kopling rapuh itu. Sebaliknya, strategi integrasi yang baik adalah infrastruktur kesepakatan: cara ratusan sistem berkooperasi tanpa saling menahan.
Empat generasi pola yang masih hidup bersama di kebanyakan enterprise:
| Pola | Cara Kerja | Kekuatan | Kelemahan |
|---|---|---|---|
| Point-to-point | Sistem saling panggil langsung | Cepat untuk 2-3 sistem | Spaghetti: n(n-1)/2 konektor, tak ada yang punya gambaran utuh |
| Hub/ESB | Semua trafik lewat bus terpusat dengan transformasi | Kontrol, monitoring, reuse transformasi | Single point of failure & bottleneck; ESB jadi monolith |
| API terkelola | Layanan expose kontrak via gateway | Kopling longgar, self-service, versioning | Butuh disiplin lifecycle kontrak |
| Event backbone | Perubahan state dipublikasi ke stream (Kafka-style) | Real-time, decoupled penuh, replay | Konsistensi akhir, kompleksitas operasi, skema governance |
Penting dipahami: ini bukan evolusi yang menghapus — enterprise nyata menjalankan semuanya sekaligus. Strategi EA bukan memilih satu pemenang, melainkan menetapkan kapan pola mana dan memastikan pola lama tidak bertambah.
Blueprint modern tersusun dari beberapa komponen standar yang perlu kalian kuasai namanya dan perannya:
Perhatikan dua komponen yang sering dilupakan namun menentukan keberhasilan jangka panjang:
Terapkan pada Bumi Niaga. Kondisi awal episode 3: tidak ada konektivitas antar-lini, tiap lini integrasi internalnya sendiri-sendiri, plus beberapa integrasi file ad-hoc ke mitra kurir. Target blueprint-nya bertingkat:
| Layer | Keputusan | Rationale |
|---|---|---|
| Interconnect | Private link antar AWS-GCP-onprem (dari ep 7) | Prasyarat fisik sebelum logika apa pun |
| Identity & data | Customer Registry via API (ep 5) | Satu sumber identitas untuk semua lini |
| Sync services | API gateway grup; kontrak versioned wajib | Checkout BayarKu butuh jawaban instan |
| Events | Backbone tunggal grup; topik domain per lini | Order/pengiriman/pembayaran dikonsumsi lintas lini |
| Legacy/batch | Integration flows terkelola untuk ledger on-prem | BayarKu tetap teregulasi, tetap terhubung |
Contoh alur konkret yang membuktikan nilai Coordination: order dibuat di BelanjaKu → event order.created dipublikasi → KirimKu membuat shipment dan mempublikasi shipment.dispatched → BelanjaKu update status tanpa polling → BayarKu mencatat settlement dari event payment.captured. Tiga sistem, nol panggilan langsung antar mereka, semua lewat kontrak terdaftar. Inilah wujud teknis dari "satu pengalaman pelanggan".
Warning
Waspadai distributed monolith: microservices yang semua harus hidup agar satu fitur jalan karena event chain-nya rigid. Kuncinya desain topik per domain agregat dengan payload mandiri — consumer tidak boleh bergantung urutan konsumsi lima topik lain untuk memahami satu fakta.
Integrasi adalah area di mana governance episode 9 paling terasa. Aturan main minimum yang layak ditulis ke prinsip arsitektur:
customer.updated membawa field apa saja itu keputusan owner data, bukan developer.Prinsip-prinsip ini persis yang akan diuji ARB saat tim KirimKu mengajukan "akses langsung DB wallet" ala exception record episode 9 — jalurnya sudah siap.
Prinsip-prinsip ini persis yang akan diuji ARB saat tim KirimKu mengajukan "akses langsung DB wallet" ala exception record episode 9 — jalurnya sudah siap. Dan satu metrik integrasi yang layak dipantau di dashboard: jumlah konektor point-to-point hidup — angka yang wajib turun, bukan naik, tiap review kuarteran.
Kerjakan di ea-lab/case-study/application/integration-blueprint.md:
order.created, shipment.dispatched, payment.captured, customer.registered, consent.changed; tulis producer, konsumen, dan payload ringkas masing-masing.Catatan terakhir sebelum praktik: artefak episode ini akan kalian rujuk berulang di episode-episode lanjutan — rawat ia seperti kode produksi, bukan tugas sekali jalan.
Inti yang harus dibawa pulang:
order.created sampai settlement membuktikan operating model Coordination secara teknis: tiga lini berkolaborasi tanpa kopling langsung.Landscape kini terhubung — tapi di mana semuanya berjalan? Di episode 13 kita bahas cloud & hybrid enterprise: merumuskan enterprise cloud strategy untuk workload yang tersebar AWS-GCP-onpremise, pola migrasi 6R, dan cara mengelola multi-cloud tanpa bangkrut oleh kompleksitasnya. Sampai jumpa di episode 13!