Back to IF3140 Sistem Basis Data
Topic
Questions/Cues
Apa itu Interaction Models?
Model 1: Point-to-Point?
Kekurangan Point-to-Point? (s^2 interfaces)
Model 2: Hub-and-Spoke?
Kelebihan Hub-and-Spoke?
Model 3: Publish-and-Subscribe (Pub/Sub)?
Konsep Arsitektur: Application Coupling?
Tight vs Loose Coupling?
Orchestration & Process Control?
Apa itu EAI?
Apa itu Enterprise Service Bus (ESB)?
Apa itu Service-Oriented Architecture (SOA)?
Tujuan SOA? (Black box, independence)
Reference Points
- Slides 25-34
Interaction Models
Ini adalah pola (pattern) arsitektur high-level yang menjelaskan cara membuat koneksi antar sistem untuk mentransfer data.
Model 1: Point-to-Point
Sistem-sistem individu terhubung secara langsung satu sama lain.
Kekurangan: Menjadi sangat kacau (sering disebut “Spaghetti Architecture”) ketika jumlah sistem bertambah banyak.
Masalah Utama:
Jumlah Interface: Jumlah koneksi yang harus dikelola mendekati
s^2(jumlah sistem kuadrat). Jika ada 6 sistem, perlu6*5 = 30interface.Inkonsistensi: Data yang sama bisa memiliki format berbeda di setiap koneksi.
Beban Tinggi: Beban untuk mengelola interface ini bisa lebih besar daripada mengelola sistemnya itu sendiri.
Model 2: Hub-and-Spoke
Model ini mengonsolidasikan data bersama (secara fisik atau virtual) dalam sebuah Hub data pusat.
Sistem lain (Spokes) terhubung ke Hub ini, bukan ke satu sama lain.
Kelebihan:
Jauh mengurangi jumlah interface (Sistem
s=sinterface).Menyediakan pandangan data yang konsisten.
Meminimalkan dampak ke sistem sumber (karena hanya Hub yang mengakses sumber).
Kekurangan: Hub itu sendiri bisa menjadi bottleneck (titik kemacetan) dan single point of failure (jika Hub mati, semua koneksi mati).
Model 3: Publish-and-Subscribe (Pub/Sub)
Sebuah model di mana sistem menerbitkan (publish) data ke “Topik” (seperti papan buletin), tanpa tahu siapa yang akan membacanya.
Sistem lain berlangganan (subscribe) ke topik tersebut dan akan menerima data secara otomatis ketika data baru dipublikasikan.
Kelebihan: Sangat decoupled (terpisah). Publisher dan Subscriber tidak perlu tahu keberadaan satu sama lain.
Konsep Arsitektur: Application Coupling
Coupling (Keterkaitan) adalah istilah yang menggambarkan sejauh mana dua sistem saling terkait atau bergantung.
Tight Coupling (Keterkaitan Erat):
Biasanya menggunakan interface Synchronous (Sinkron).
Satu sistem menunggu respons dari sistem lain.
Resiko: Jika satu sistem down, sistem yang bergantung padanya ikut down. Rencana pemulihan bencana (BCP) harus sama.
Loose Coupling (Keterkaitan Longgar):
Biasanya menggunakan interface Asynchronous (Asinkron).
Data dikirim tanpa menunggu respons.
Keuntungan: Satu sistem bisa down tanpa menyebabkan sistem lain ikut down.
Orchestration & Process Control (Slide 30)
Orchestration: Istilah untuk menggambarkan bagaimana beberapa proses diorganisasi dan dieksekusi secara berurutan dalam sebuah sistem (seperti konduktor orkestra yang memandu musisi).
Process Controls: Komponen (seperti logs, alerts, job charts) yang memastikan pengiriman, ekstraksi, dan pemuatan data berjalan akurat dan lengkap.
Enterprise Application Integration (EAI) (Slide 31)
Sebuah model di mana modul-modul software berinteraksi satu sama lain hanya melalui interface yang terdefinisi dengan baik, yaitu API (Application Programming Interface).
Dalam EAI, aplikasi lain dilarang “mencolek” atau mengakses database aplikasi lain secara langsung. Mereka harus “meminta” data melalui API yang sudah disediakan.
Enterprise Service Bus (ESB) (Slide 32)
ESB adalah sebuah sistem (middleware) yang bertindak sebagai perantara (bus) di antara sistem-sistem lain.
Aplikasi mengirim pesan ke ESB, dan ESB bertanggung jawab untuk routing (mengarahkan), transformasi (jika perlu), dan mengirimkan pesan itu ke aplikasi tujuan. Ini adalah implementasi teknis dari arsitektur Hub-and-Spoke yang canggih.
Service-Oriented Architecture (SOA) (Slide 33-34)
SOA adalah sebuah filosofi atau gaya arsitektur di mana fungsionalitas (seperti mengambil data, update data) disediakan melalui layanan (services) yang independen dan self-contained.
Tujuan Utama: Independensi aplikasi.
Konsep Kunci: Layanan adalah “kotak hitam” (black box). Aplikasi pemanggil tidak perlu tahu bagaimana layanan itu diimplementasikan; ia hanya perlu tahu cara memanggilnya.
SOA dapat diimplementasikan menggunakan berbagai teknologi, termasuk Web Services, RESTful APIs, atau ESB.
Arsitektur integrasi berevolusi dari
Point-to-Point(kacau, s^2 interface) ke modelHub-and-Spoke(terpusat) atauPub/Sub(decoupled via topik). Prinsip desain modern mengutamakanLoose Coupling(asinkron) di atasTight Coupling(sinkron) untuk mengurangi risiko. Ini sering diimplementasikan menggunakan filosofiSOA(Service-Oriented Architecture), di mana fungsionalitas disediakan sebagai layanan “black box”, yang seringkali dihubungkan olehESB(Enterprise Service Bus) sebagai perantara lalu lintas data, dan diakses melaluiEAI(menggunakan API).
Additional Information
Pendalaman Teknis: ESB vs. Pub/Sub
Pub/Sub adalah Pola Arsitektur (Pattern). Ini adalah ide/konsep: satu publisher, banyak subscriber, dipisahkan oleh sebuah “topik”.
ESB adalah Teknologi (Middleware). Ini adalah perangkat lunak (seringkali besar dan kompleks) yang Anda beli dan install.
Sebuah ESB (seperti MuleSoft, TIBCO) seringkali menggunakan pola Pub/Sub di dalamnya, tetapi ESB melakukan lebih banyak hal. ESB adalah “Hub” yang sangat cerdas. Ia bisa melakukan:
Routing: Mengarahkan pesan ke tujuan yang benar.
Transformasi: Mengubah format data (misal: XML ke JSON) di tengah jalan.
Orchestration: Mengelola alur proses yang kompleks (misal: panggil servis A, lalu jika A berhasil, panggil B dan C).
Dalam arsitektur modern (terutama Microservices), ESB yang “gemuk” dan “cerdas” mulai ditinggalkan, digantikan oleh message broker (seperti RabbitMQ atau Kafka) yang “bodoh” (hanya mengantar pesan) yang murni menerapkan pola Pub/Sub, dan membiarkan logic transformasi/orchestration ditangani oleh aplikasi itu sendiri.
Eksplorasi Mandiri
Coba pikirkan Sistem Informasi Akademik (SIAK) di kampus. Anggap ada 4 sistem: Keuangan (cek tagihan), Akademik (cek SKS), Dosen (validasi KRS), dan Mahasiswa (isi KRS).
Bagaimana jika ini diimplementasikan Point-to-Point? (Aplikasi Mhs harus terhubung ke Keuangan, Akademik, Dosen).
Bagaimana jika diimplementasikan Hub-and-Spoke atau ESB? (Aplikasi Mhs hanya kirim 1 request “validasi” ke Hub/ESB, lalu Hub/ESB yang akan mengecek ke 3 sistem lainnya).



