WCF - Genel Bakış
WCF, Windows Communication Foundation'ın kısaltmasıdır. WCF'nin temel özelliği birlikte çalışabilirliktir. Hizmet odaklı uygulamalar oluşturmak için kullanılan en son Microsoft teknolojilerinden biridir. Bir HTTP isteğinin tek tip olarak temsil edildiği mesaj tabanlı iletişim kavramına dayanan WCF, çeşitli taşıma mekanizmalarından bağımsız olarak birleşik bir API'ye sahip olmayı mümkün kılar.
WCF, Windows Vista ile .NET çerçevesinin bir parçası olarak 2006 yılında ilk kez piyasaya sürüldü ve ardından birkaç kez güncellendi. WCF 4.5, şu anda yaygın olarak kullanılan en yeni sürümdür.
Bir WCF uygulaması üç bileşenden oluşur -
- WCF hizmeti,
- WCF hizmet ana bilgisayarı ve
- WCF hizmet istemcisi.
WCF platformu, Hizmet Modeli olarak da bilinir.
WCF'nin Temel Kavramları
İleti
Vücut dışında birkaç parçadan oluşan iletişim ünitesidir. İstemci ile hizmet arasındaki tüm iletişim türleri için mesaj örnekleri gönderilir ve alınır.
Uç nokta
Bir mesajın gönderileceği veya alınacağı adresi tanımlar. Ayrıca, mesaj setinin tanımlanmasıyla birlikte mesajların nasıl gönderileceğini açıklamak için iletişim mekanizmasını da belirtir. Bir uç noktanın yapısı aşağıdaki bölümlerden oluşur -
Adres
Adres, mesajların alınacağı tam konumu belirtir ve Tekdüzen Kaynak Tanımlayıcısı (URI) olarak belirtilir. Şema: // alan [: bağlantı noktası] / [yol] olarak ifade edilir. Aşağıda belirtilen adrese bir göz atın -
net.tcp: // localhost: 9000 / ServiceA
Burada, 'net.tcp', TCP protokolünün şemasıdır. Etki alanı, bir makinenin veya bir web etki alanının adı olabilen 'localhost'tur ve yol' ServiceA'dır.
Bağlayıcı
Bir uç noktanın iletişim kurma şeklini tanımlar. İletişim altyapısını oluşturan bazı bağlayıcı unsurlardan oluşur. Örneğin, bir bağlanma, TCP, HTTP, vb. Gibi aktarım için kullanılan protokolleri, mesaj kodlama formatını ve güvenlikle ilgili olduğu kadar güvenlikle ilgili protokolleri belirtir.
Sözleşmeler
Uç noktanın istemciye hangi işlevselliği göstereceğini belirten bir işlemler koleksiyonudur. Genellikle bir arayüz adından oluşur.
Barındırma
WCF açısından barındırma, kendi kendine barındırma, IIS barındırma ve WAS barındırma gibi birçok mevcut seçenek aracılığıyla yapılabilen WCF hizmet barındırma anlamına gelir.
Meta veriler
Bu, bir istemci uygulaması ile bir WCF hizmeti arasındaki kolay etkileşimi kolaylaştırdığı için önemli bir WCF kavramıdır. Normalde, bir WCF hizmeti için meta veriler etkinleştirildiğinde otomatik olarak oluşturulur ve bu, hizmetin ve uç noktalarının incelenmesiyle yapılır.
WCF İstemcisi
Hizmet işlemlerini yöntemler biçiminde ortaya çıkarmak için oluşturulan bir istemci uygulaması, WCF istemcisi olarak bilinir. Bu, hizmet barındırma hizmeti veren herhangi bir uygulama tarafından barındırılabilir.
Kanal
Kanal, müşterinin bir hizmetle iletişim kurduğu bir ortamdır. Farklı kanal türleri yığılır ve Kanal Yığınları olarak bilinir.
SABUN
'Basit Nesne Erişim Protokolü' olarak adlandırılmasına rağmen, SOAP bir taşıma protokolü değildir; bunun yerine bir başlık ve gövde bölümünden oluşan bir XML belgesidir.
WCF'nin Avantajları
Diğer hizmetlere göre birlikte çalışabilir. Bu, hem istemcinin hem de hizmetin .Net'e sahip olması gereken .NET Remoting'in tam tersidir.
WCF hizmetleri, ASMX (Aktif Sunucu Yöntemleri) web hizmetlerine kıyasla gelişmiş güvenilirlik ve güvenlik sunar.
Güvenlik modelinin uygulanması ve WCF'deki bağlama değişikliği, kodlamada büyük bir değişiklik gerektirmez. Kısıtlamaları karşılamak için sadece birkaç yapılandırma değişikliği gereklidir.
WCF'de yerleşik günlük tutma mekanizması bulunurken, diğer teknolojilerde gerekli kodlamayı yapmak çok önemlidir.
WCF, entegre AJAX ve JSON (JavaScript nesne gösterimi) desteğine sahiptir.
Gelecek web hizmeti standartları için ölçeklenebilirlik ve destek sunar.
Son derece sağlam bir varsayılan güvenlik mekanizmasına sahiptir.