Bagikan melalui


Apa itu WCF

Windows Communication Foundation (WCF) adalah kerangka kerja untuk membangun aplikasi berorientasi layanan. Dengan WCF, Anda dapat mengirim data sebagai pesan asinkron dari satu titik akhir layanan ke titik akhir lainnya. Titik akhir layanan dapat menjadi bagian dari layanan yang terus tersedia yang dihosting oleh IIS, atau dapat berupa layanan yang dihosting dalam aplikasi. Titik akhir dapat berupa klien layanan yang meminta data dari titik akhir layanan. Pesan bisa sesederhana satu karakter atau kata yang dikirim sebagai XML, atau serumit aliran data biner. Beberapa contoh skenario meliputi:

  • Layanan yang aman untuk memproses transaksi bisnis.

  • Layanan yang menyediakan data terkini kepada orang lain, seperti laporan lalu lintas atau layanan pemantauan lainnya.

  • Layanan obrolan yang memungkinkan dua orang berkomunikasi atau bertukar data secara real time.

  • Aplikasi dasbor yang melakukan polling satu atau beberapa layanan untuk data dan menyajikannya dalam presentasi logis.

  • Mengekspos alur kerja yang diterapkan menggunakan Windows Workflow Foundation sebagai layanan WCF.

Meskipun pembuatan aplikasi tersebut dimungkinkan sebelum adanya WCF, WCF membuat pengembangan titik akhir lebih mudah dari sebelumnya. Singkatnya, WCF dirancang untuk menawarkan pendekatan yang dapat dikelola untuk menciptakan layanan Web dan klien layanan Web.

gRPC sebagai alternatif untuk WCF

gRPC adalah kerangka kerja RPC modern yang merupakan alternatif populer untuk WCF. gRPC dibangun di atas HTTP/2, yang memberikan sejumlah keunggulan daripada WCF, termasuk:

  • Performa: gRPC jauh lebih efisien daripada WCF, terutama untuk koneksi yang berjalan lama.
  • Skalabilitas: gRPC dirancang untuk menskalakan ke sejumlah besar klien dan server.
  • Keamanan: gRPC mendukung berbagai mekanisme keamanan, termasuk TLS dan autentikasi.
  • Lintas platform: gRPC netral terhadap platform dan dapat digunakan dengan berbagai bahasa pemrograman.

Untuk informasi selengkapnya tentang mengembangkan atau memigrasikan aplikasi WCF ke gRPC, lihat:

Fitur WCF

WCF mencakup serangkaian fitur berikut. Untuk informasi selengkapnya, lihat Detail Fitur WCF.

  • Orientasi Layanan

    Salah satu konsekuensi dari penggunaan standar WS adalah bahwa WCF memungkinkan Anda membuat aplikasi berorientasi layanan. Arsitektur berorientasi layanan (SOA) adalah ketergantungan pada layanan Web untuk mengirim dan menerima data. Layanan ini memiliki keunggulan umum karena digabungkan secara longgar alih-alih dikodekan secara permanen dari satu aplikasi ke aplikasi lainnya. Hubungan yang digabungkan secara longgar menyiratkan bahwa setiap klien yang dibuat di platform apa pun dapat terhubung ke layanan apa pun selama kontrak penting terpenuhi.

  • Interoperabilitas

    WCF mengimplementasikan standar industri modern untuk interoperabilitas layanan Web. Untuk informasi selengkapnya tentang standar yang didukung, lihat Interoperabilitas dan Integrasi.

  • Beberapa Pola Pesan

    Pesan dipertukarkan dalam salah satu dari beberapa pola. Pola yang paling umum adalah pola permintaan/balasan, di mana satu titik akhir meminta data dari titik akhir kedua. Balasan titik akhir kedua. Ada pola lain seperti pesan satu arah di mana satu titik akhir mengirim pesan tanpa mengharapkan balasan. Pola yang lebih kompleks adalah pola pertukaran dupleks di mana dua titik akhir membuat koneksi dan mengirim data bolak-balik, mirip dengan program olahpesan instan. Untuk informasi selengkapnya tentang cara mengimplementasikan pola pertukaran pesan yang berbeda menggunakan WCF, lihat Kontrak.

  • Metadata Layanan

    WCF mendukung penerbitan metadata layanan menggunakan format yang ditentukan dalam standar industri seperti WSDL, Skema XML, dan WS-Policy. Metadata ini dapat digunakan untuk secara otomatis menghasilkan dan mengonfigurasi klien untuk mengakses Layanan WCF. Metadata dapat dipublikasikan melalui HTTP dan HTTPS atau menggunakan Pertukaran Metadata Layanan Web standar. Untuk informasi selengkapnya, lihat Metadata.

  • Kontrak Data

    Karena WCF dibuat menggunakan .NET Framework, hal ini juga mencakup metode yang mudah dipahami kode dalam menyediakan kontrak yang ingin Anda terapkan. Salah satu jenis kontrak universal adalah kontrak data. Intinya, saat Anda mengkodekan layanan Anda menggunakan Visual C# atau Visual Basic, cara termudah untuk menangani data adalah dengan membuat kelas yang mewakili entitas data dengan properti milik entitas data tersebut. WCF mencakup sistem yang komprehensif untuk bekerja dengan data menggunakan cara yang mudah ini. Setelah Anda membuat kelas yang mewakili data, layanan Anda secara otomatis menghasilkan metadata yang memungkinkan klien untuk mematuhi jenis data yang telah Anda rancang. Untuk informasi selengkapnya, lihat Menggunakan Kontrak Data.

  • Keamanan

    Pesan dapat dienkripsi untuk melindungi privasi dan Anda dapat meminta pengguna untuk mengautentikasi diri mereka sendiri sebelum diizinkan untuk menerima pesan. Keamanan dapat diimplementasikan menggunakan standar terkenal seperti SSL atau WS-SecureConversation. Untuk informasi selengkapnya, lihat Keamanan.

  • Beberapa Transportasi dan Pengodean

    Pesan dapat dikirim pada salah satu dari beberapa pengodean dan protokol transportasi bawaan. Protokol dan pengodean paling umum adalah mengirim pesan SOAP berenkode teks menggunakan Protokol Transfer Hiperteks (HTTP) untuk penggunaan di WWW. Atau, WCF memungkinkan Anda mengirim pesan melalui TCP, pipa yang dinamai, atau MSMQ. Pesan tersebut dapat dienkode sebagai teks atau menggunakan format biner yang dioptimalkan. Data biner dapat dikirim secara efisien menggunakan standar MTOM. Jika tidak ada transportasi atau pengodean yang disediakan yang sesuai dengan kebutuhan Anda, Anda dapat membuat transportasi atau pengodean kustom Anda sendiri. Untuk informasi selengkapnya tentang transportasi dan pengodean yang didukung WCF, lihat Transportasi.

  • Pesan Antrean dan Andal

    WCF mendukung pertukaran pesan yang andal menggunakan sesi andal yang diimplementasikan melalui WS-Reliable Messaging dan menggunakan MSMQ. Untuk informasi selengkapnya tentang dukungan pesan antrean dan andal di WCF, lihat Sesi Andal dan Antrean.

  • Pesan Tahan Lama

    Pesan tahan lama adalah pesan yang tidak pernah hilang karena gangguan dalam komunikasi. Pesan dalam pola pesan tahan lama selalu disimpan ke database. Jika terjadi gangguan, database memungkinkan Anda melanjutkan pertukaran pesan ketika koneksi dipulihkan. Anda juga dapat membuat pesan tahan lama menggunakan Windows Workflow Foundation (WF). Untuk informasi selengkapnya, lihat Layanan Alur Kerja.

  • Transaksi

    WCF juga mendukung transaksi menggunakan salah satu dari tiga model transaksi: WS-AtomicTransactions, API di namespace layanan System.Transactions, dan Koordinator Transaksi Terdistribusi Microsoft. Untuk informasi selengkapnya tentang dukungan transaksi di WCF, lihat Transaksi.

  • Dukungan AJAX dan REST

    REST adalah contoh teknologi Web 2.0 yang berkembang. WCF dapat dikonfigurasi untuk memproses data XML "biasa" yang tidak dibungkus dalam amplop SOAP. WCF juga dapat diperluas untuk mendukung format XML tertentu, seperti ATOM (standar RSS populer), dan bahkan format non-XML, seperti JavaScript Object Notation (JSON).

  • Diperpanjang

    Arsitektur WCF memiliki sejumlah titik ekstensibilitas. Jika kemampuan tambahan diperlukan, ada sejumlah titik masuk yang memungkinkan Anda untuk menyesuaikan perilaku layanan. Untuk informasi selengkapnya tentang titik ekstensibilitas yang tersedia, lihat Memperluas WCF.

Integrasi WCF dengan Teknologi Microsoft Lainnya

WCF adalah platform yang fleksibel. Karena fleksibilitas yang ekstrem ini, WCF juga digunakan di beberapa produk Microsoft lainnya. Dengan memahami dasar-dasar WCF, Anda memiliki keuntungan langsung jika Anda juga menggunakan salah satu dari produk ini.

Teknologi pertama yang dipasangkan dengan WCF adalah Windows Workflow Foundation (WF). Alur kerja menyederhanakan pengembangan aplikasi dengan merangkum langkah-langkah dalam alur kerja sebagai "aktivitas." Dalam versi pertama Windows Workflow Foundation, pengembang harus membuat host untuk alur kerja. Versi berikutnya dari Windows Workflow Foundation terintegrasi dengan WCF. Hal tersebut memungkinkan alur kerja apa pun dihosting dengan mudah di Layanan WCF. Anda dapat melakukan ini dengan memilih secara otomatis jenis proyek WF/WCF di Visual Studio 2012 atau yang lebih baru.

Microsoft BizTalk Server R2 juga memanfaatkan WCF sebagai teknologi komunikasi. BizTalk dirancang untuk menerima dan mengubah data dari satu format standar ke format lainnya. Pesan harus dikirim ke kotak pesan pusatnya tempat pesan dapat diubah menggunakan pemetaan ketat atau menggunakan salah satu fitur BizTalk seperi mesin alur kerjanya. BizTalk sekarang dapat menggunakan adapter Lini Bisnis (LOB) WCF untuk mengirimkan pesan ke kotak pesan.

Fitur hosting server aplikasi Windows Server AppFabric dirancang khusus untuk menyebarkan dan mengelola aplikasi yang menggunakan WCF untuk komunikasi. Fitur hosting meliputi opsi konfigurasi dan alat yang beragam dan dirancang khusus untuk aplikasi yang mendukung WCF.

Lihat juga