Event-driven Architecture atau EDA adalah pola desain perangkt lunak yang memungkinkan sebuah organisasi untuk mendeteksi suatu events (peristiwa) atau moment bisnis yang penting (Transaksi, site visit, shopping cart dll) dan bertindak atas events tersebut secara real time. Apa itu event? Event adalah setiap kejadian atau perubahan signifikan pada perangkat keras atau perangkat lunak sistem. Suatu event tidak sama dengan peristiwa notification, yaitu suatu pesan yang dikirimkan oleh sistem untuk memberitahukan bagian lain dari sistem bahwa telah terjadi suatu event. Sumber suatu peristiwa dapat berasal dari input internal atau eksternal. Event dapat dihasilkan dari pengguna, seperti klik mouse atau penekanan tombol. sumber eksternal, seperti keluaran sensor, atau berasal dari sistem, seperti memuat program.

Pola arsitektur event-driven terdiri dari dua topologi utama, event mediator dan event broker. - Topologi Event Mediator biasanya digunakan ketika Anda perlu mengatur beberapa langkah dalam suatu peristiwa melalui mediator pusat,
- Topologi Event Broker digunakan ketika Anda ingin merangkai peristiwa bersama-sama tanpa menggunakan mediator pusat.

Ada empat jenis komponen arsitektur utama dalam topologi mediator: - Event Queue – bertanggung jawab untuk mengatur antrian dari berbagai events
- Event Mediator – bertanggung jawab untuk mengatur langkah langkah yang di perlukan yang terdapat di event awal. Event mediator tidak menjalankan logika bisnis
- Event Channel – digunakan untuk meneruskan pemrosesan tertentu dan dapat berupa antrian pesan.
- Event Processor – berisi logika bisnis menghitung pajak penjualan, memproses klaim asuransi
Contoh : Pada aplikasi perdagangan Saham, yang mengharuskan memvalidasi perdagangan terlebih dahulu, kemudian memeriksa persyaratan dan privasi perdagangan saham tersebut terhadap berbagai aturan perdagangan saham, menetapkan perdagangan ke broker, menghitung komisi, dan akhirnya menempatkan perdagangan dengan pialang itu.

Ada dua jenis komponen arsitektur utama dalam topologi broker: - Broker Component - Komponen broker dapat dipusatkan atau digabungkan dan berisi semua event channels. Event channels yang terdapat dalam broker component dapat berupa antrian pesan, topik pesan, atau kombinasi keduanya
- Event Processor - berisi logika bisnis dari sistem
Contoh pada aplikasi saham mengubah alamat pelanggan
|