Pembuatan Aplikasi Client Server dengan Arsitektur 3-tier Part 4
Melanjutkan postingan sebelumnya, tetapi kita akan review sedikit beberapa project yang sudah kita buat :
SmartLibraryLib dibuat dengan memanfaatkan project bertipe Class Library yang isinya hanya berupa interface IDao dan class Model.
Hasil compile project ini akan menjadi file dengan ekstensi .dll (SmartLibraryLib.dll), file SmartLibraryLib.dll ini akan dishare atau ditambahkan sebagai referensi untuk aplikasi SmartLibraryServer dan SmartLibraryKlien.
Teknik ini dikenal dengan istilah “Shared Assembly” tujuannya adalah agar aplikasi server dan klien bisa berkomunikasi dengan cara yang sama.
SmartLibraryServer dibuat dengan memanfaatkan project bertipe Console Application, implementasi aslinya biasanya aplikasi server bisa dijadikan sebuah service (Windows Service) atau di hostnya menggunakan web service IIS.
Aplikasi inilah yang akan mengimplementasikan semua method-method abstract dari project SmartLibraryLib.
Adapun project penutup kita adalah SmartLibraryKlien, project ini dibuat dengan memanfaatkan project bertipe Windows Application yang isinya hanya berupa Form berikut komponen-komponen pendukungnya (Label, TextBox, Button, ListView dll) :
Project SmartLibraryKlien tidak langsung mengakses database untuk proses CRUDnya melainnya hanya mengakses objek-objek dari project SmartLibraryServer secara remote, jadi project SmartLibraryServer inilah yang sudah menghandle semua proses CRUDnya.
Oke kita langsung saja mengaktifkan kembali solution SmartLibrarynya dimana didalamnya sudah terdapat project SmartLibraryLib dan SmartLibraryServer.
-
Klik kanan Solution SmartLibrary -> Add -> New Project
-
Pada dialog Add New Project aktifkan pilihan Visual C# kemudian pada pilihan Templates pilih Windows Application
Pada isian Name isikan SmartLibraryKlien untuk isian Location dibiarkan saja setelah itu klik Ok.
Jika langkah sebelumnya berhasil maka pada solution SmartLibrary akan ketambahan satu project baru yaitu SmartLibraryKlien.
Secara default pada saat pembuatan project dengan tipe Windows Application sudah otomatis disediakan 1 buah form kosong dengan nama Form1, kita akan menambahkan form baru jadi form ini dihapus saja.
Menambahkan folder View
Folder disini digunakan untuk mengelompokkan class sesuai dengan fungsinya, contoh kita akan menambahkan folder View yang di dalamnya terdapat class FrmBuku dan FrmAddEditBuku.
-
Klik kanan project SmartLibraryKlien -> Add -> New Folder
Menambahkan FrmBuku dan FrmAddEditBuku
-
Klik kanan folder View -> Add -> Windows Form …
-
Pada dialog Add New Item – SmartLibraryKlien, isikan FrmBuku pada isian Name
-
Jika sudah berhasil menambahkan FrmBuku, ulangi langkah sebelumnya untuk menambahkan FrmAddEditBuku
Berikut hasil akhir sementara dari langkah-langkah sebelumnya
Setelah itu kita desain tampilkan FrmBuku dan FrmAddEditBuku seperti berikut :
Menambahkan Library SmartLibraryLib
Sama seperti aplikasi server (SmartLibraryServer) yang membutuhkan library SmartLibraryLib, aplikasi klien (SmartLibraryKlien) juga membutuhkan library ini, tujuannya adalah agar aplikasi server dan klien bisa berkomunikasi dengan cara yang sama.
Oke berikut langkah-langkahnya :
-
Klik kanan folder References -> Add Reference…
-
Aktifkan tab Projects kemudian pilih SmartLibraryLib
-
Jika langkah sebelumnya berhasil akan ketambahan 1 buah node dengan nama SmartLibraryLib pada folder References
Sampai disini kita tinggal melengkapi kode FrmBuku dan FrmAddEditBuku.
Berikut ringkasan kodenya.
Kode diatas perlu ditambahkan agar FrmBuku bisa mengakses semua interface dan class model yang ada di dalam library SmartLibraryLib.
Objek bukuDao merupakan objek dari interface IBukuDao yang berfungsi sebagai proxy dari remote object class BukuDao.
Sebuah method jika dipanggil melalui objek proxy maka akan dieksekusi secara remote.
Kode diatas adalah sebuah constructor dan seharusnya kita sudah tidak asing lagi dengan yang satu ini.
Constructor adalah method khusus yang akan dipanggil pada saat menciptakan objek dari sebuah class.
Penjelasan dari mana datangnya nilai locahost, 1234 dan SmartLibraryServer.BukuDao pada kode di atas bisa Anda lihat disini.
Menampilkan Data
Menyimpan dan Mengupdate Data
Menghapus Data
Menjalankan dua project secara bersamaan
Secara defaut pada saat kita menjalankan program (F5) hanya satu project yang akan dijalankan dalam satu waktu, sedangkan untuk mencoba aplikasi ini kita harus menjalankan project SmartLibraryServer dan SmartLibraryKlin secara bersamaan.
Untuk merubah setting ini berikut langkah-langkahnya :
-
Klik kanan solution -> Set Startup Projects
-
Pada dialog Solution aktifkan pilihan Multiple startup projects kemudian atur urutan eksekusinya (server dulu kemudian klien)
Setelah itu kita bisa langsung menekan tombol F5
Pada gambar diatas terlihat setiap kali aplikasi klien mengakses method CRUD, prosesnya akan dijalankan di sisi server, ini dibuktikan dengan muncul pesan “Method
Selamat MENCOBA
Comments