Layer Arsitektur Model Aplikasi

Layer User Interface

Sebelum kita membahas lebih jauh mengenai teknis dalam pembuatan XML web services, kita perlu mengerti betul mengenai ketiga layer dalam model three-tier, yang selanjutnya dapat dikembangkan menjadi model N-tier.
Layer user interface merupakan bagian dari aplikasi kita yang akan berinteraksi dengan user. Layer ini menampilkan semua data yang diperlukan menggunakan objek-objek window. Layer ini juga menerima input dan modifikasi user terhadap data dengam menggunakan objek-objek window.

Apa yang sebaiknya termasuk dalam Layer User Interface ?

􀂃 Menerima event. Layer ini mempunyai respon setiap terjadi event seperti pada saat, tombol ditekan, pergerakan mouse, dll.

􀂃 Bertindak setiap kali terjadi perubahan dalam user interface, seperti menangktifkan, menon-aktifkan control-control yang ada dalam user interface.

􀂃 Memproses transaksi yang ada dengan cara mengirim data-data yang diterima dari user dan mengirimkannya ke komponen lain (business service) yang akan melakukan proses bisnis di dalamnya.

Apa yang sebaiknya tidak termasuk dalam Layer User Interface ?
Untuk membuat sistem yang scalable, kita perlu menghilangkan kebiasaan yang sering kita buat di saat pembuatan layer user interface :

􀂃 Code yang secara langsung mengakses database

􀂃 Memproses bisnis logis, seperti penghitungan pajak dan validasi hasilnya.

Layer Business Service

Layer business service adalah salah satu bagian yang ada dalam aplikasi client/server. Business service mengontrol semua data yang diakses dan mengupdate data yang ada dalam database. Layer ini biasanya dapat digunakan (reusable) oleh modul-modul yang ada dalam aplikasi.

Apa yang sebaiknya termasuk dalam Layer Business Service ?

􀂃 Membuat query. Business service bertanggung jawab terhadap implementasi dari bisnis rules suatu aplikasi, salah satunya adalah membangun suatu query yang akan mempengaruhi database.

􀂃 Menjamin proses bisnis. Business Service bertanggung jawab terhadap proses transaksi bisnis. Layer ini merupakan suatu pusat dimana semua operasi terjadi.

􀂃 Menghandle kesalahan yang terjadi dari proses external, seperti contoh pada saat terjadi error karena write permissions, business service harus mampu menjaga kesalahan yang muncul.

Apa yang sebaiknya tidak termasuk dalam Layer Business Service ?

Karena layer ini merupakan ‘otak’ dari aplikasi kita, biasanya digunakan untuk mengontrol fungsionalitas dari komponen-komponen yang lain. Namun perlu diingat untuk tidak menggunakan business service mengontrol area-area seperti :

􀂃 Mengatur presentation logic. Business Service tidak digunakan untuk menjaga bagaimana data ditampilkan dalam user interface.

􀂃 Melakukan operasi terhadap data seperti mengurutkan array dan memformat tampilan dari data (format mata uang, tanggal, dsb).

Layer Data Provider

Layer data provider merupakan tempat dimana aplikasi selesai melakukan proses manipulasi terhadap data. Layer ini bertanggungjawab terhadap penyimpanan data dan menyediakan data yang akan diberikan ke layer user interface.

Apa yang sebaiknya termasuk dalam Layer Data Provider ?

􀂃 Mengurutkan, memvalidasi dan memformat data. Ketika user interface meminta data, tanggung jawab dari data provider untuk mengurutkan data sebelum ditampilkan ke client. Hal ini biasanya dilakukan dengan mengirimkan parameter dari client.

􀂃 Menjamin integritas data. Layer ini bertanggung jawab terhadap integritas data yang ada di dalamnya, artinya setiap kali transaksi terjadi, data provider perlu melakukan verifikasi terhadap data yang ada.

Apa yang sebaiknya tidak termasuk dalam Layer Data Provider ?

Keberhasilan dari aplikasi dengan pendekatan N-tier bergantung bagaimana disiplinnya kita dalam mendefinisikan tanggung jawab setiap komponen. Untuk itu kita perlu mengetahui apa saja yang sebaiknya tidak termasuk dalam layer data provider.
􀂃 Melakukan proses bisnis dan mengatur jalannya program. Layer Data provider sebaiknya tidak mengatur bagaimana alur suatu program atau mempengaruhi bagaimana jalannya program. Layer ini hanya membantu business service dengan menyediakan data yang diperlukan oleh business logic dalam menentukan alur program.

Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.