Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

WCF(Windows Communication Foundation) Giriş?

Merhabalar, uzun zamandır WCF hakkında birşeyler yazmak istiyordum kısmet bugüneymiş. Öncelikle wikipedia’daki tanımıyla işe başlamak istiyorum.

Windows Communication Foundation farklı makineler üzerindeki uygulamaların birbiriyle iletişim kurmasını sağlayan bir iç sistemdir. .NET Framework 3.0 uygulama geliştirme platformunun bir bileşeni olarak sunulmuştur. WCF olarak kısaltılan bu teknoloji, ilk olarak Indigo kod adıyla dünyaya duyurulmuştur. WCF; RemotingWeb Servisleri, Dağıtık “Transaction”lar gibi dağıtık programlama yollarını tek bir yapıda birleştirmektedir.”

Tanımı biraz daha genişletmek gerekirse : WCF Servis Odaklı Uygulama geliştirebilmemizi sağlayan bir frameworktür. WCF kullanılarak bir endpoint’den diğerine asenkron olarak mesaj gönderilebilir. Bu servis endpointi IIS de publish edilmiş bir servis de olabilir veya host edilmiş bir uygulama da olabilir. Bir endpoint bir başka endpoint’e client da olabilir. Arada dolaşan veri text,xml veya komplex binary data olabilir. Aslında özet olarak WCF dağıtık uygulamaları geliştirebileceğiz ortak bir çatı olarak da nitelendirmemiz yanlış olmaz. Microsoft daha önce dağıtık uygulamalar için ayrı ayrı COM+, .Net Remoting, XML Web Servisleri, MSMQ kullanılırken WCF bunları aynı çatı altına toplamıştır.

WCF örnek senarya olarak nerelerde kullanılabilir :
– Kurum içindeki business transaction’ların güvenli bir şekilde işletilmesini sağlayabiliriz.
– Güncel Bilgileri servis etmek için kullanabiliriz. Örneğin trafik bilgisi vs.
– Bir chat uygulaması yapılabilir.
–  vs. vs.

WCF ile her bir client elindeki kontrat sayesinde endpointler aracılığı ile Servis Oriented Architecture(SOA)’a uygun bir şekilde uygulama geliştirtirmeye olanak sağlar. Bu yapısı sayesinde aralarındaki bağımlılık azalır.(bkz : Loose coupling)
WCF ,  Windows Workflow Foundation (WF), Microsoft BizTalk Server , Microsoft Silverlight gibi Microsoft ürünleriyle de entegre bir şekilde çalışabilir.

Bir de herkesin bahsettiği bir geyik var, ben bahsetmezsem olmaz :) WCF ‘in ABCsi.

Address (Adres) : Hizmetin lokal ağdaki veya internetteki adresi. http://www…….

·         Binding (Bağlayıcı) : Client ile Endpoint arasındaki iletişim protokolüdür.

Binding  türleri is şunlardır.

  1. BasicHttpBinding
  2. WSHttpBinding
  3. WSDualHttpBinding
  4. WSFederationHttpBinding
  5. NetTcpBinding
  6. NetNamedPipesBinding
  7. NetMsmqBinding
  8. NetPeerTcpBinding
  9. MsmqIntegrationBinding
  10. BasicHttpContextBinding
  11. NetTcpContextBinding
  12. WebHttpBinding
  13. WSHttpContextBinding

·         Contract (Kontrat) : Servislerin dışarıya sundukları hizmetleri bir kontrat yardımıyla bildirirler. 4 tipi vardır.

Service Contract: Servislerin dışarıya sundukları hizmetleri bildirir.Metod listesi diyebiliriz.
Operation Contract:Servisdeki operasyonlardan dönen veya operasyona  gönderilen tiplerin belirlendiği sözleşme tipidir.
Fault Contract:Servisden dönen hataların istemci tarafına hangi formatta gönderileceğini belirleyen sözleşme türüdür.
Mesaj Contract: Sunucu ve istemci arasındaki mesajlaşma belirleyen sözleşme türüdür.

Yukardaki grafikde WCF’in genel olarak yapısını göstermektedir.

June 27, 2012 - Posted by | WCF, Yazılım | , , , ,

2 Comments »

  1. […] https://koraykirdinli.net/2012/06/27/wcfwindows-communication-foundation-giris/ paylaş:FacebookTwitterStumbleUponLike this:BeğenBe the first to like this. […]

    Pingback by WCF’e Giriş için Türkçe Kaynak « PHPAX | August 26, 2012 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s