Pembuatan Aplikasi Client Server dengan Arsitektur 3-tier Part 3
Melanjutkan postingan sebelumnya, kita langsung saja menambahkan kode untuk membuat koneksi ke database dalam hal ini sy menggunakan database Ms Access.
Aktifkan class BukuDao setelah itu tambahkan kode berikut dibagian constructor default (constructor tanpa parameter).
Alasan sy menggunakan constructor default untuk membuat koneksi ke database adalah karena remote object dari class BukuDao akan diaktifkan menggunakan mode SingleCall, dengan kata lain mode SingleCall hanya bisa memanggil constructor default.
Penjelasan tentang mode SingleCall bisa anda cek disini di bagian “Server Side Object Activation. SingleCall”.
Sebelumnya kita akan melakukan testing terlebih untuk memastikan bahwa class BukuDao sudah bekerja dengan baik.
Untuk melakukan testing ada beberapa cara yang bisa kita lakukan, yang pertama dan sangat dianjurkan kita bisa menggunakan tool testing semisal NUnit, atau dengan cara yang lebih simple dengan memanfaatkan program console.
Untuk menyederhanakan pembahasan sy memilih opsi kedua tetapi sebelumnya kita harus mengeset terlebih dulu agar project SmartLibraryServer sebagai StartUp Project.
Caranya dengan mengklik kanan project SmartLibraryServer -> Set as StartUp Project.
Aktifkan class Program, setelah itu kita akan melakukan testing satu persatu semua method yang dimiliki oleh class BukuDao, berikut kode lengkapnya.
Menambahkan data buku
Mengedit data buku
Untuk mengedit data buku sama seperti menambahkan buku baru, hanya saja yang dipanggil adalah method Update
Menghapus data buku
Menampilkan data buku
Sedikit beda dengan method Save, Update dan Delete untuk menampilkan data buku kita membutuhkan class Collection menampung kumpulan objek buku.
Semua kode diatas diketik pada method Main dari class Program
Menjadikan project RetailManagerServer sebagai host untuk menghandle remote object
Setelah selesai melakukan testing terhadap class BukuDao saatnya untuk menghostkan remote object dari class ini.
Remote object tidak bisa berdiri sendiri sehingga membutuhkan aplikasi lain yang bertindak sebagai host yang akan mengekspose remote object sehingga bisa diakses secara remote (diluar domainnya).
Ada beberapa cara untuk bisa menghostkan remote object bisa menggunakan aplikasi console, aplikasi windows form, mendaftarakan sebagai windows service atau menggunakan web service IIS.
Pada postingan ini sy menggunakan solusi termudah yaitu menggunakan aplikasi console .
Tapi sebelumnya karena class Program akan mengakses class-class yang berhubungan dengan fitur .NET Remoting maka kita harus menambahkan terlebih dulu referensi library .NET Remoting.
-
Klik kanan node References -> Add Reference …
-
Aktifkan tab .NET kemudian pilih System.Runtime.Remoting
-
Jika langkah sebelumnya berhasil akan ketambahan 1 buah node dengan nama System.Runtime.Remoting pada folder References.
Kembali ke class Program kemudian lengkapi kodenya seperti gambar berikut :
Perhatikan gambar diatas terutama yang diberi penanda merah, kode tersebut akan menjadi alamat dari remote object.
Ketika aplikasi klien ingin mengakses remote object yang ada di server, maka alamat url yang harus diakses menggunakan format berikut :
Dan berdasarkan kasus yang kita bahas maka nilai-nilai diatas disesuaikan seperti berikut :
- Channel/protocol = tcp
- Machine Name = localhost
- Port = 1234
- Object URI = SmartLibraryServer.BukuDao atau SmartLibraryServer.PenerbitDao
Sampai disini selesai sudah pembahasan tentang project SmartLibraryServer, kita bisa mencoba project ini dengan menekan tombol F5
Project terakhir yaitu SmartLibraryClient akan kita bahas pada kesempatan berikutnya insyaAllah :)
Selamat MENCOBA
Comments