Tutorial WCF Service Bagian #3

Posted by Kamarudin • 2 minute read • Comments

Web service itu seperti parasit, tidak bisa hidup mandiri sehingga membutuhkan sebuah wadah (host) untuk kelangsungan hidupnya. Begitu juga dengan web service yang dibuat menggunakan WCF tetap membutuhkan sebuah wadah (host).

Ada beberapa cara yang bisa digunakan untuk menempatkan web service ke dalam wadahnya (host) 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

Kita akan menggunakan cara yang pertama yaitu, hosting WCF service di IIS, berikut langkah-langkahnya :

1. Install Internet Information Services (IIS)

Untuk langkah-langkahnya bisa Anda ikuti disini

2. Membuat Folder Baru di wwwroot

Tambahkan folder baru di C:\ C:\inetpub\wwwroot, dengan nama Calculator, kemudian tambahkan juga folder bin di dalamnya

Folder wwwroot sama seperti folder htdocs-nya Apache.

3. Build Project CalculatorServer

Aktifkan kembali project Calculator, kemudian lakukan proses Build project CalculatorServer

Cek hasil build di bagian Output

Kemudian buka folder hasil build

Di dalamnya ada dua file dengan tipe DLL yaitu CalculatorLib.dll dan CalculatorServer.dll. File CalculatorLib.dll di hasilkan dari project CalculatorLib sedangkan file ` CalculatorServer.dll dihasilkan dari project CalculatorServer`

Dua file ini akan kita copykan ke folder C:\inetpub\wwwroot\Calculator\bin

4. Membuat File Text dengan Format .svc

File .svc merupakan file text biasa yang mirip dengan file .asmx (ASP.NET web service). Dengan kata lain WCF service yang di-host-kan ke dalam IIS direpresentasikan oleh sebuah file khusus dengan format .svc.

File ini berisi informasi agar WCF service bisa berjalan dengan sukses. Adapun informasinya terdiri dari :

  • Pilihan bahasa (C# atau VB)
  • Nama service (namaspace + class)
  • Lokasi kode service

Contoh isi file .svc

<%@ ServiceHost Language="C#" Service="CalculatorServer.Calculator" %>

Setelah mengetahui fungsi dari file .svc, berikutnya kita akan membuat file .svc dengan nama ServiceCalculator.svc di folder C:\inetpub\wwwroot\Calculator

Kemudian copas skrip berikut :

<%@ ServiceHost Language="C#" Service="CalculatorServer.Calculator" %>

Dari skrip di atas, coba perhatikan bagian Service="CalculatorServer.Calculator"

CalculatorServer adalah nama namespace, sedangkan Calculator adalah nama class servicenya. Informasi ini kita dapatkan dari struktur project CalculatorServer

5. Membuat File web.config

File web.config adalah file xml yang berisi konfigurasi dari aplikasi web berbasis ASP.NET. Karena WCF service ini akan kita host-kan ke dalam IIS, jadi kita juga perlu membuat file web.config untuk menyimpan konfigurasi dari web service.

File web.config ini akan kita buat di folder C:\inetpub\wwwroot\Calculator, satu folder dengan file ServiceCalculator.svc

Kemudian copas skrip berikut

Dari skrip di atas, coba perhatikan bagian <services>

Di bagian ini kita mendaftarkan service apa saja yang bisa diakses oleh aplikasi klien.

  • Service name = diisi dengan nama service
  • Contract = diisi dengan interface dari nama service

Di dalam WCF, bagian ini dikenal dengan istilah EndPoint, dan berhubung di postingan ini tidak membahas masalah EndPoint, sebagai referensi bisa Anda baca disini.

6. Mendaftarkan Service Calculator ke IIS

Sebagai langkah terakhir, kita aktifkan Internet Information Services(IIS), kemudian expand node Sites -> Default Web Site

Kemudian klik kanan Calculator -> Convert to Application

Setelah itu akan tampil window Add Application kemudian klik tombol Select

Pilih ASP.NET v4.0

Jika berhasil icon folder Calculator akan berganti menjadi

7. Testing Web Service Calculator

Untuk mengetes apakah service Calculator ini berjalan dengan sukses, silahkan akses alamat : http://localhost/Calculator/ServiceCalculator.svc

Seharusnya anda mendapatkan tampilan seperti berikut yang menandakan konfigurasi WCF service berhasil.

Tampilan jika diakses dari WCF Test Client

Yuph sampai disini saja untuk postingan kali ini, insyaAlloh akan kita lanjutkan pada kesempatan berikutnya.

Selamat MENCOBA :blush:

Comments