Pembuatan Aplikasi Client Server dengan Arsitektur 3-tier Part 5

Posted by Kamarudin • 1 minute read • Comments

Sebagai penutup postingan berseri ini kita akan bahas bagaimana membuat report menggunakan data-push reporting model (halah opo meneh iki :grin:) dengan model ini report yang dibuat tidak langsung mengakses database tetapi cukup dengan memanfaatkan objek DataSet.

Penggunaan model ini sangat pas dan nyambung dengan postingan berseri ini, dimana aplikasi klien akan memanggil sebuah method secara remote menggunakan objek proxy, method ini akan mengambalikan nilai dalam bentuk objek DataSet, dan untungnya DataSet merupakan turunan dari class MarshalByValueComponent sehingga bisa langsung diserialisasikan dari domain aplikasi yang berbeda dalam hal ini dari aplikasi server ke klien.

Untuk contoh report disini sy menggunakan Active Report .NET dan untuk postingan kali ini sy tidak akan membahas secara rinci bagaimana membuat report menggunakan Active Report .NET.

Oke langsung saja kita aktifkan kembali solution SmartLibrary yang di dalamnya sudah ada tiga proyek yaitu SmartLibraryKlien, SmartLibraryServer dan SmartLibraryLib.

Untuk Active Report .NETnya akan kita tambahkan pada proyek SmartLibraryKlien, tapi sebelumnya akan kita tambahkan terlebih dulu sebuah folder dengan nama Report dan sebuah form dengan nama FrmPreview.

Pada FrmPreview ini akan kita tambahkan komponen Active Report .NET Viewer yang berfungsi sebagai container untuk menampung objek dari report Active Report .NET

Kemudian masuk ke editor code FrmPreview dan tambahkan kode berikut

Nah sampai disini kita sudah bisa menambahkan report untuk SmartLibraryKlien, adapun langkah-langkahnya seperti berikut :

  1. Aktifkan folder Report, kemudian klik kanan pilih menu Add -> New Item

  2. Pilih item ActiveReport 3.0 File dan untuk isian Name diisi dengan ArLapBuku

Nah untuk desain reportnya cukup seperti berikut :

Setelah itu lengkapi kode untuk reportnya seperti berikut :

Yaph sampai disini untuk persiapan reportnya sudah selesai, report ini akan kita panggil dari FrmBuku jadi kita aktifkan terlebih dulu FrmBuku kemudian kita tambahkan satu buah tombol dengan nama btnPreview (Preview).

Adapun untuk kodenya seperti berikut :

pada gambar diatas terlihat objek bukuDao yang merupakan objek proxy memanggil method GetReportAll, ketika sebuah method dipanggil melalui objek proxy maka method tersebut akan dieksekusi di sisi server (SmartLibraryServer), mari kita intip kode methodnya :grin:.

Halah enggak ada kode yg aneh ternyata :grin:

Method GetReportAll di atas mengembalikan nilai berupa objek DataSet, objek DataSet sendiri merupakan turunan dari objek MarshalByValueComponent sehingga bisa langsung diserialisasi dari satu domain ke domain lain.

Oke sy cukupkan sampai disini, sekarang mari kita lihat demonya :)

Selamat MENCOBA :blush:

Comments