Apa itu WCF
WCF singkatan dari Windows Communication Foundation, merupakan salah satu teknologi Microsoft untuk membangun aplikasi berbasis layanan (service-oriented applications). Dengan kata lain WCF itu merupakan salah satu alternatif untuk membangun web service dan sistem terdistribusi lainnya menggunakan teknologi Microsoft .NET.
Dalam tutorial ini kita akan lebih banyak membahas hal-hal teknis untuk membuat web service menggunakan WCF. Untuk referensi lebih lanjut mengenai WCF bisa langsung Anda cari menggunakan layanan search engine favorit Anda :-)
WCF merupakan gabungan dari beberapa teknologi RPC lainnya seperti Web Service, .NET Remoting, MSMQ dan COM+
Sumber - WCF Tutorial
Sebagai langkah awal kita akan membuat aplikasi sederhana yang akan menerapkan teknologi WCF. Aplikasi yang akan kita buat yaitu Calculator, walaupun sederhana tetapi aplikasi ini membutuhkan 3 project untuk membuatnya.
CalculatorLib
– Project CalculatorLib dibuat dengan memanfaatkan project bertipe Class Library yang isinya hanya berupa interface ICalculator dengan 4 buah method abstract yaitu :Penambahan
,Pengurangan
,Perkalian
danPembagian
.Project ini nantinya akan dicompile menjadi file dengan ekstensi .dll (CalculatorLib.dll), file CalculatorLib.dll ini akan dishare atau ditambahkan sebagai referensi untuk aplikasi CalculatorServer dan CalculatorClient.
Teknik ini dikenal dengan istilah
Shared Assembly
tujuannya adalah agar aplikasi server dan klien bisa berkomunikasi dengan cara yang sama.CalculatorServer
– Project CalculatorServer dibuat dengan memanfaatkan project bertipe Class Library. Project ini akan dicompile menjadi file dengan ekstensi .dll (CalculatorServer.dll).Project ini nantinya akan mengimplementasikan semua method-method abstract dari project CalculatorLib.
Agar class ini (CalculatorServer.dll) bisa dikenali sebagai WCF service, kita perlu meng-host-kannya terlebih dulu dengan beberapa cara yaitu :
- Hosting in Internet Information Services(IIS)
- Hosting in Windows Activation Services(WAS)
- Hosting in a Console or Desktop application(Self hosting)
- Hosting in a Windows Service
CalculatorClient
– Project CalculatorClient dibuat dengan memanfaatkan project bertipe Windows Application, aplikasi ini hanya memanggil method-method abstract dari project CalculatorLib dengan memanfaatkan objek proxy sehingga method tersebut akan dieksekusi secara remote (dijalankan di sisi server).Sumber - Top WCF Tutorial
Berikut gambaran lengkap project yang akan kita buat
Oke kita sudahi dulu obrolannya dan kita langsung saja mulai dengan pembuatan project CalculatorLib, jangan lupa untuk mengaktifkan terlebih dulu Visual Studio .NET Anda.
Membuat Project CalculatorLib
Klik menu File ->New -> Project …
Pada dialog New Project aktifkan pilihan Visual C# kemudian pada pilihan Templates pilih Class Library
Pada isian Name isikan CalculatorLib, setelah itu klik tombol Ok.
Secara default pada saat pembuatan project sudah otomatis disediakan 1 buah class kosong dengan nama Class1, karena kita akan menambahkan class baru jadi class ini dihapus saja.
Menambahkan Interface ICalculator
Klik kanan project CalculatorLib -> Add -> New Item…
Pada dialog add new item, pilih Interface dan untuk isian Name diisi ICalculator
Setelah itu akan tampil editor code interface ICalculator
Jangan lupa untuk menambahkan access modifier
public
.Selanjutnya kita tinggal menambahkan 4 method abstractnya yaitu
Penambahan
,Pengurangan
,Perkalian
danPembagian
.Berikut kode lengkapnya :
Jika kita perhatikan kode di atas, ada tambahan attribute
ServiceContract
danOperationContract
pada nama interface dan method abstractnya.ServiceContract
memberikan informasi service/layanan apa saja yang tersedia untuk bisa diakses sedangkanOperationContract
digunakan untuk memberikan tanda bahwa method tersebut merupakan operasi atau bagian dariServiceContract
.Bagaimana jika kita lupa menambahkan attribut
ServiceContract
danOperationContract
? Ya otomatis interface ICalculator berikut method tidak bisa diakses oleh client.Untuk menambahkan attribut
ServiceContract
danOperationContract
kita perlu menambahkan referensiSystem.ServiceModel
.Kemudian mendaftarkannya di bagian using
Mengcompile project CalculatorLib
Tujuannya adalah agar project CalculatorLib ini bisa digunakan sebagai referensi oleh aplikasi CalculatorServer dan CalculatorClient
Klik kanan project CalculatorLib -> Build
Setelah itu akan tampil hasil output dari proses Build
Yuph cukup sampai disini, insya Alloh akan kita lanjutkan pada kesempatan berikutnya.
Selamat MENCOBA :)