Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Windows Communication Foundation (WCF) adalah kerangka kerja untuk membangun aplikasi berorientasi layanan. Dengan menggunakan WCF, Anda dapat mengirim data sebagai pesan asinkron dari satu titik akhir layanan ke titik akhir layanan lainnya. Titik akhir layanan dapat menjadi bagian dari layanan yang terus tersedia yang dihosting oleh IIS, atau dapat menjadi layanan yang dihosting dalam aplikasi. Titik akhir dapat menjadi klien layanan yang meminta data dari titik akhir layanan. Pesan bisa sesingkat karakter tunggal atau kata yang dikirim sebagai XML, atau serumit aliran data biner. Beberapa skenario sampel meliputi:
Layanan yang aman untuk memproses transaksi bisnis.
Layanan yang memasok data saat ini ke orang lain, seperti laporan lalu lintas atau layanan pemantauan lainnya.
Layanan obrolan yang memungkinkan dua orang untuk berkomunikasi atau bertukar data secara real time.
Aplikasi dasbor yang mengumpulkan data dari satu atau beberapa layanan dan menyajikannya dalam tampilan yang logis.
Mengekspos alur kerja yang diimplementasikan menggunakan Windows Workflow Foundation sebagai layanan WCF.
Meskipun membuat 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 membuat 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:
- Mengapa kami merekomendasikan gRPC untuk pengembang WCF
- Membandingkan WCF dengan gRPC
- Pengantar gRPC untuk pengembang WCF
Fitur WCF
WCF mencakup serangkaian fitur berikut. Untuk informasi selengkapnya, lihat Detail Fitur WCF.
Orientasi Layanan
Salah satu konsekuensi dari penggunaan standar WS adalah WCF memungkinkan Anda membuat aplikasi berorientasi layanan . Arsitektur berorientasi layanan (SOA) adalah keandalan pada layanan Web untuk mengirim dan menerima data. Layanan ini memiliki keuntungan umum untuk 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 pada platform apa pun dapat terhubung ke layanan apa pun selama kontrak penting terpenuhi.
Interoperabilitas
WCF menerapkan standar industri modern untuk interoperabilitas layanan Web. Untuk informasi selengkapnya tentang standar yang didukung, lihat Interoperabilitas dan Integrasi.
Beberapa Pola Pesan
Pesan ditukar 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. Titik akhir kedua memberikan balasan. 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 menerapkan 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 diterbitkan melalui HTTP dan HTTPS atau menggunakan standar Pertukaran Metadata Layanan Web. Untuk informasi selengkapnya, lihat Metadata.
Kontrak Data
Karena WCF dibangun menggunakan .NET Framework, WCF juga menyertakan metode yang ramah kode untuk memasok 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 termampu untuk menangani data adalah dengan membuat kelas yang mewakili entitas data dengan properti milik entitas data. WCF mencakup sistem komprehensif untuk bekerja dengan data dengan 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 mengharuskan 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 Transmisi dan Pengodean
Pesan dapat dikirim pada salah satu dari beberapa protokol dan pengodean transportasi bawaan. Protokol dan pengodean yang paling umum adalah mengirim pesan SOAP yang dikodekan teks menggunakan Protokol Transfer HyperText (HTTP) untuk digunakan di World Wide Web. Sebagai alternatif, WCF memungkinkan Anda mengirim pesan melalui TCP, named pipe, atau MSMQ. Pesan-pesan ini dapat dikodekan sebagai teks atau menggunakan format biner yang dioptimalkan. Data biner dapat dikirim secara efisien menggunakan standar MTOM. Jika tidak ada transport atau encoding yang disediakan yang sesuai dengan kebutuhan Anda, Anda dapat membuat transport atau encoding kustom Anda sendiri. Untuk informasi selengkapnya tentang transportasi dan pengodean yang didukung oleh WCF, lihat Transportasi.
Pesan yang Terpercaya dan Berantrian
WCF mendukung pertukaran pesan yang dapat diandalkan dengan menggunakan sesi yang andal, yang diterapkan melalui olah pesan WS-Reliable dan menggunakan MSMQ. Untuk informasi selengkapnya tentang dukungan olahpesan yang andal dan antrian di WCF, lihat Antrean dan Sesi yang Dapat Diandalkan.
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 gangguan terjadi, database memungkinkan Anda melanjutkan pertukaran pesan saat 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 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).
Ekstensibilitas
Arsitektur WCF memiliki sejumlah titik ekstensibilitas. Jika kemampuan tambahan diperlukan, ada sejumlah titik masuk yang memungkinkan Anda 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 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 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." Di versi pertama Windows Workflow Foundation, pengembang harus membuat host untuk alur kerja. Versi Windows Workflow Foundation berikutnya terintegrasi dengan WCF. Itu memungkinkan alur kerja apa pun untuk dihosting dengan mudah dalam layanan WCF. Anda dapat melakukannya dengan memilih jenis proyek WF/WCF secara otomatis di Visual Studio 2012 atau yang lebih baru.
Microsoft BizTalk Server R2 juga menggunakan WCF sebagai teknologi komunikasi. BizTalk dirancang untuk menerima dan mengubah data dari satu format standar ke format lainnya. Pesan harus dikirimkan ke kotak pesan pusatnya di mana pesan dapat diubah menggunakan pemetaan yang ketat atau dengan menggunakan salah satu fitur BizTalk seperti mesin alur kerjanya. BizTalk sekarang dapat menggunakan adaptor WCF Line of Business (LOB) 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 termasuk opsi alat dan konfigurasi yang kaya yang dirancang khusus untuk aplikasi berkemampukan WCF.