Windows Communication Foundation Mimarisi

Aşağıdaki grafikte Windows Communication Foundation (WCF) mimarisinin ana katmanları gösterilmektedir.

WCF Mimarisi

The WCF Architecture

Sözleşmeler ve Açıklamalar

Sözleşmeler ileti sisteminin çeşitli yönlerini tanımlar. Veri sözleşmesi, bir hizmetin oluşturabileceği veya kullanabileceği her iletiyi oluşturan her parametreyi açıklar. İleti parametreleri XML Şema tanım dili (XSD) belgeleriyle tanımlanır ve XML'yi anlayan tüm sistemlerin belgeleri işlemesini sağlar. İleti sözleşmesi, SOAP protokollerini kullanarak belirli ileti bölümlerini tanımlar ve birlikte çalışabilirlik böyle bir duyarlığı talep ettiğinde iletinin bölümleri üzerinde daha ayrıntılı denetim sağlar. Hizmet sözleşmesi hizmetin gerçek yöntem imzalarını belirtir ve Visual Basic veya Visual C# gibi desteklenen programlama dillerinden birinde arabirim olarak dağıtılır.

İlkeler ve bağlamalar, bir hizmetle iletişim kurmak için gereken koşulları gerektirir. Örneğin, bağlamanın (en azından) kullanılan aktarımı (örneğin, HTTP veya TCP) ve bir kodlamayı belirtmesi gerekir. İlkeler, bir hizmetle iletişim kurmak için karşılanması gereken güvenlik gereksinimlerini ve diğer koşulları içerir.

Hizmet Çalışma Zamanı

Hizmet çalışma zamanı katmanı, yalnızca hizmetin gerçek işlemi sırasında, yani hizmetin çalışma zamanı davranışları sırasında oluşan davranışları içerir. Azaltma, kaç iletinin işlendiğini denetler ve hizmet talebi önceden belirlenmiş bir sınıra uzarsa değiştirilebilir. Hata davranışı, hizmette bir iç hata oluştuğunda, örneğin istemciye hangi bilgilerin iletıldığını denetleyerek ne olduğunu belirtir. (Çok fazla bilgi kötü amaçlı bir kullanıcıya saldırıyı bağlamada avantaj sağlayabilir.) Meta verilerin dış dünyada nasıl ve nasıl kullanılabilir hale getirilip getirilmeyeceğini meta veri davranışı yönetir. Örnek davranışı, hizmetin kaç örneğinin çalıştırılabildiğini belirtir (örneğin, tek bir örnek tüm iletileri işlemek için yalnızca bir örneği belirtir). İşlem davranışı, bir hata oluşursa işlem gerçekleştirilir işlemlerin geri alınmasına olanak tanır. Gönderme davranışı, bir iletinin WCF altyapısı tarafından nasıl işlendiğinin denetimidir.

Genişletilebilirlik, çalışma zamanı işlemlerinin özelleştirilmesini sağlar. Örneğin, ileti denetimi iletinin bölümlerini inceleme olanağıdır ve parametre filtrelemesi, ileti üst bilgilerinde işlem yapan filtrelere göre önceden ayarlanmış eylemlerin gerçekleşmesini sağlar.

Mesajlaşma

Mesajlaşma katmanı kanallardan oluşur. Kanal, örneğin bir iletinin kimliğini doğrulayarak bir iletiyi işleyen bir bileşendir. Kanal kümesi, kanal yığını olarak da bilinir. Kanallar iletiler ve ileti üst bilgileri üzerinde çalışır. Bu, öncelikli olarak ileti gövdelerinin içeriğinin işlenmesiyle ilgili olan hizmet çalışma zamanı katmanından farklıdır.

İki tür kanal vardır: aktarım kanalları ve protokol kanalları.

Aktarım kanalları ağdan (veya dış dünyayla başka bir iletişim noktasından) iletileri okur ve yazar. Bazı aktarımlar, iletileri (XML Infoset'leri olarak temsil edilir) ağ tarafından kullanılan bayt akışı gösterimine ve bu gösterimden dönüştürmek için bir kodlayıcı kullanır. Aktarımlara örnek olarak HTTP, adlandırılmış kanallar, TCP ve MSMQ verilebilir. Xml ve iyileştirilmiş ikili kodlama örnekleridir.

Protokol kanalları genellikle iletiye ek üst bilgiler okuyarak veya yazarak ileti işleme protokolleri uygular. Bu tür protokollere örnek olarak WS-Security ve WS-Reliability verilebilir.

Mesajlaşma katmanı, verilerin olası biçimlerini ve değişim desenlerini gösterir. WS-Security, ileti katmanında güvenliği etkinleştiren WS-Security belirtiminin bir uygulamasıdır. WS-Reliable Messaging kanalı, ileti teslimi garantisi sağlar. Kodlayıcılar, iletinin gereksinimlerine uygun olarak kullanılabilecek çeşitli kodlamalar sunar. HTTP kanalı, ileti teslimi için Köprü Metni Aktarım Protokolü'nin kullanıldığını belirtir. TCP kanalı benzer şekilde TCP protokollerini belirtir. İşlem Akışı kanalı, işlem yapılan ileti desenlerini yönetir. Adlandırılmış Kanal kanalı, işlemler arası iletişimi etkinleştirir. MSMQ kanalı, MSMQ uygulamalarıyla birlikte çalışabilirliği etkinleştirir.

Barındırma ve Etkinleştirme

Son biçiminde hizmet bir programdır. Diğer programlar gibi, bir hizmetin yürütülebilir bir dosyada çalıştırılması gerekir. Bu, şirket içinde barındırılan hizmet olarak bilinir.

Hizmetler de barındırılabilir veya IIS veya Windows Etkinleştirme Hizmeti (WAS) gibi bir dış aracı tarafından yönetilen bir yürütülebilir dosyada çalıştırılabilir. WAS, WAS çalıştıran bir bilgisayara dağıtıldığında WCF uygulamalarının otomatik olarak etkinleştirilmesini sağlar. Hizmetler el ile yürütülebilir dosyalar (.exe dosyalar) olarak da çalıştırılabilir. Bir hizmet otomatik olarak Windows hizmeti olarak da çalıştırılabilir. COM+ bileşenleri WCF hizmetleri olarak da barındırılabilir.

Ayrıca bkz.