Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Tutorial WCF Service Bagian #1

| Comments

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.

  1. 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 dan Pembagian.

    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.

  2. 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

  3. 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

  1. Klik menu File ->New -> Project …

  2. 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

  1. Klik kanan project CalculatorLib -> Add -> New Item…

  2. 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 dan Pembagian.

    Berikut kode lengkapnya :

    Jika kita perhatikan kode di atas, ada tambahan attribute ServiceContract dan OperationContract pada nama interface dan method abstractnya.

    ServiceContract memberikan informasi service/layanan apa saja yang tersedia untuk bisa diakses sedangkan OperationContract digunakan untuk memberikan tanda bahwa method tersebut merupakan operasi atau bagian dari ServiceContract.

    Bagaimana jika kita lupa menambahkan attribut ServiceContract dan OperationContract ? Ya otomatis interface ICalculator berikut method tidak bisa diakses oleh client.

    Untuk menambahkan attribut ServiceContract dan OperationContract kita perlu menambahkan referensi System.ServiceModel.

    Kemudian mendaftarkannya di bagian using

Mengcompile project CalculatorLib

Tujuannya adalah agar project CalculatorLib ini bisa digunakan sebagai referensi oleh aplikasi CalculatorServer dan CalculatorClient

  1. 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 :)

visual c#, wcf

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Membuat Jadwal Backup Database Otomatis Tutorial WCF Service Bagian #2 »

Comments