Event Collaboration

Dengan menggunakan Event Collaboration. Maka kita akan memperoleh kemudahan dalam menambahkan komponen baru. Meskipun diperlukan sedikit perubahan sudut pandang atau pola berpikir dari request response style. Komunikasi pada event collaboration dilakukan via event. Event muncul jika suatu object memiliki perubahan state. Perubahan state dari object tersebut dicapture dalam domain event dan akan dipublish oleh object yg bersangkutan. Misalnya object mobil memiliki event BensinHabis atau BanPecah dll.

Component yg satu dengan yg lain tidak berkomunikasi dengan memberikan request jika butuh sesuatu. Tetapi masing2 komponen akan membangkitkan event jika terjadi perubahan. Dan object2 yg lain yg perduli terhadap perubahan tersebut akan menerima event tersebut dan memprosesnya.

Pattern ini didasari oleh observer pattern. Event collaboration in dapat diterapkan pada skala yg kecil yaitu komunikasi antar object atau dapat juga pada level integrasi system. Oleh karena itu disarankan memakai istilah komponen.

Agar prinsip loose couple antar komponen dapat dicapai maka kadang kita perlu menyimpan informasi yg dipublish pada event tertentu. Jadi kita memiliki copy dari data tersebut. Sehingga ketika komponen tersebut membutuhkan data tersebut kita tidak perlu lagi menanyakannya terhadap object asal data tersebut. Jadi data tersebut di cache pada object yg membutuhkannya dan sifatnya hanya untuk read saja. Proses update terhadap data local tersebut hanya dapat dilakukan apabila ada event yg baru muncul. Konsep ini merupakan fundamental dari autonomous service pada SOA

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: