Belajar Instan Model Driven Architecture


Sama seperti halnya SOA yang tidak murni arsitektur, Model Driven Architecture (MDA) ini juga lebih mengarah kepada strategi untuk mengimplementasikan servis. Ide tentang MDA ini adalah bagaimana menyediakan suatu pendekatan yang terbuka dan netral untuk semua vendor dalam menghadapi tantangan perubahan teknologi dan bisnis. Sesuai namanya, strategi ini memberi perhatian utama pada model. Apa itu model? dalam konteks MDA didefinisikan sebagai Platform Independent Model (PIM) yang digunakan untuk menciptakan fungsionalitas sistem. PIM dibangun menggunakan Unified Modeling Language (UML) atau standar pemodelan Object Management Group (OMG), perintis MDA, lain yang terkait. PIM selanjutnya ditransformasi menjadi Platform Spesific Model (PSM) seperti J2EE/EJB, web service, atau MS VisualStudio yang akan menghasilkan kode program dalam bahasa Java, XML, atau C#. Pemisahan konsep PIM dan PSM inilah yang dimaksudkan untuk menjawab tantangan perubahan, baik teknologi maupun bisnis.

Meskipun tampak menjanjikan, MDA juga memiliki tantangan dalam penerapannya, antara lain:

  • Perubahan bisnis proses mungkin diikutin perubahan platform
  • Perubahan platform itu sendiri, misalnya dari versi 1.1 ke versi 1.2

Solusi dari tantangan tersebut adalah informasi dan proses lojik harus ‘diisolasi’ dari spesifikasi teknologi yang mengimplementasikan sistem. Bahasa kerennya mungkin seperti ini…

Peduli amat mau pake teknologi apa, mau berubah kaya apa, yang penting gue udah punya data dan algoritmanya, udah tau fungsi-fungsi apa aja yang harus ada di dalamnya

Caranya ya dengan membangun model dalam UML dkk., lalu memetakan model tersebut dalam platform yang spesifik (kalo bisa bikin kombinasi di berbagai platform juga boleh :P).

Perhatikan solusi kedua, yaitu memetakan model ke platform yang spesifik. Model menunjuk pada PIM, sedangkan platform menunjuk pada PSM. Pemetaan tersebut mempunyai kendala dalam mendeklarasikan satuan atau kondisi-kondisi tertentu. PSM yang telah berupa J2EE/EJB, MS VisualStudio, COM, atau CORBA tidak dapat menggambarkan hubungan kardinalitas misalnya 0..1 dan 1, atau 0…* dan 1…*, atau kondisi pre/post, seperti halnya sebuah PIM. Bayangkan sebuah diagram kelas pada UML yang saling terhubung, begitulah PIM. Pada garis-garis tersebut dapat ditambahkan kardinalitas, dapat digambarkan hubungan antarkelas dengan tanda panah (bolak-balik/searah) atau garis (dashed/solid/dot), juga dapat dituliskan note berisi keterangan aturan dalam bahasa manusia atau pseudo-code. Gambar berikut semoga membantu menjelaskan:

Begitulah kira-kira ‘cara kerja’ MDA, menggunakan model untuk menspesifikasikan PSM juga. Ohya, PIM sebenarnya bukan hanya UML, contoh lain: Meta Object Facility (MOF) dan Common Warehouse Metamodel (CMW). Keduanya turunan dari UML juga sih sebenarnya. Selain itu ada juga XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), dan Software Process Engineering Metamodel (SPEM).

(bersambung)

Leave a comment

Wait! Don't forget to leave a reply here.. :D

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: