Introduction to Windows Communication Foundation (WCF)

by Agus Kurniawan 19. August 2009 06:19

Beberapa tahun lalu Microsoft meluncurkan suatu library atau framework yang dikenal Windows Communication Foundation atau disingkat dengan WCF. Library ini memungkinkan kita membantu kita dalam membangun aplikasi berbasis distribusi data. WCF ini sebenarnya merupakan enkapsulasi dari Socket sehingga para developer tidak perlu fokus ke level socket dalam membuat aplikasi distribusi data tetapi lebih fokus pada format data yang merupakan suatu kontrak yang mengikat ketika ingin melakukan komunikasi. Pada saat peluncuran library WCF, Microsoft sudah meluncurkan development tool yaitu Visual Studio 2005 yang targetnya untuk .NET Framework 2.0. Sedangkan library WCF tersebut berjalan diatas .NET Framework 3.0 atau diatasnya sehingga untuk membuat aplikasi WCF dengan menggunakan Visual Studio 2005 maka kita memerlukan WCF Extension yang diinstall dimana Visual Studio 2005 diinstall atau menggunakan Visual Studio 2008 yang baru-baru ini diluncurkan.

gambar1

Unified Programming Model


WCF tidak hanya hadir untuk menyelesaikan permasalahan dasar pada sistem distribusi tetapi juga memperbaiki dalam proses pengembangan perangkat lunak. WCF menawarkan model programming yang memungkinkan untuk integrasi beberapa model pemrograman. Tujuan integrasi model programming tidak lain hanya untuk meningkatkan kualitas dan mengurangi lamanya proses pengembangan perangkat lunak.
Model pemrograman yang ditawarkan pada WCF seperti yang terlihat pada gambar 1. Setidaknya ada 5 model pemrograman yang dapat kita gunakan untuk berkomunikasi dengan aplikasi WCF. Kelima model pemrograman ini antara lain

Web Service (WS)/WS Enhancement (WSE)


Web Service (WS) seperti kita ketahui merupakan salah satu cara untuk mendistribusi data dalam bentuk service dan model WS ini diimplementasi dengan pendekatan Service Orientation Architecture (SOA). Sedangkan WS Enhancement (WSE) adalah salah satu jawaban untuk menyelesaikan permasalahan pada WS terutama pada data transfer yang berupa plain text sehingga WSE memberikan alternatif lain yang memungkinknan data transfer dapat berupa binary. Selain itu, WSE juga menawarkan sistem sekuriti yang lebih baik. WS dan WSE dengan berbagai fitur yang mengesankan menjadikan ini salah satu solusi yang ditawarkan oleh Microsoft dan WCF sebagai pengembangan baru dari WS secara inline dapat berkomunikasi dengan WS maupun WSE melalui interop.

Attribute-Based Programming


Pemrograman berbasis Attribute adalah fitur yang ditawarkan oleh .NET Framework guna membuat aplikasi dengan mudah yaitu cukup dengan memasang attribute pada objek yang didefinisikan. Enterprise service adalah bentuk implementasi dari pemrograman attribute-based. Contoh enterprise service adalah COM+. WCF dapat berkomunikasi dengan COM+ melalui attribute-based.

REST/HTTP Programming


WCF tidak hanya berkomunikasi dengan platform tetapi juga dapat berkomunikasi pada protokol jaringan seperti HTTP. Protokool ini digunakan oleh WCF untuk distribusi data


Message-Oriented Programming


Salah satu bentuk message-oriented adalah MSMQ (Microsofr Message Queuing) yang dapat digunakan untuk distribusi data dan juga fitur antrian. WCF dan MSMQ dapat berkolaborasi guna menghasilkan aplikasi yang lebih baik.

.NET Remoting


.NET Remoting adalah platform komunikasi yang secara implementasinya hanya dapat digunakan pada lingkungan aplikasi berbasis .NET. WCF bisa dikatakan secara implisit merupakan pengganti dari teknologi .NET Remoting dengan fitur yang jauh lebih lengkap. Walau WCF dapat menggantikan .NET Remoting tetapi WCF sendiri dapat langsung berkomunikasi dengan .NET Remoting.

-----------------

Bersambung ke [V]

Tags: , ,

.NET | Windows | Distributed System

blog comments powered by Disqus

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

HP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List