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.

Haziran 27, 2012 Posted by | WCF, Yazılım | , , , , | 2 Yorum

Windows 8 için Uygulama Geliştirme Online Workshop

Değerli Yazılım Geliştiriciler,

Sizi, 11-15 Haziran 2012 tarihinlerinde beş akşam boyunca online gerçekleştireceğimiz Windows’un yeni versiyonu Windows 8 için Uygulama Geliştirme Online Workshop’ına davet ediyoruz. Eğitimlere kayıt olmak için eğitim adını tıklamanız yeterli olacaktır.

19.30-21.30 arasında beş akşam üst üste gerçekleşecek olan online eğitimlere katılımınız sayesinde Windows 8 Uygulama Mağazası’nda ilk yer alan uygulamalardan birisinin sizinki olması şansını da elde ediyor olacaksınız.
Eğitimlere kayıt olmak için eğitim adını tıklamanız yeterli olacaktır.

Workshop İçeriği

Gün Eğitim Süre
(2 hours with Q&A)
Level Açıklama
1 Windows 8 ‘ de Uygulama Geliştirici olmak
(Selçuk UZUN, Gökşin BAKIR)
60 Dakika   Windows 8 geliştiriciler için neler getiriyor? 
Windows 8 Geliştiricilerini bekleyen fırsatlar neler? 
Windows Store kuralları neler olacak? 
Windows 8’ de Lansman öncesi Uygulamalarınızla mağazada olmak için neler yapmalısınız? 
Microsoft Türkiye geliştirici destekleri nelerdir?
Windows 8 geliştirici Online Kaynakları
2 Introduction to Windows8 
(Ibrahim KIVANÇ)
55 Dakika 400 Windows 8’e giriş
Bu eğitimde yeni uygulama geliştirme fırsatlarını ve uygulama geliştirme araçlarını göreceğiz. WinRT Metro Style uygulamalar hakkında konuşarak, hazır şablonlar üzerinden Windows 8 üzerinde geliştirmeye hep birlikte göz atalım.
3 System Contracts 
(Ibrahim KIVANÇ)
80 Dakika 400 System Contracts
Bu eğitimde mevcut uygulamalarımıza, Arama, Paylaşma ve Ayarlar özelliklerini nasıl entegre edebileceğimizi göreceğiz.
4 Tiles & Notifications 
(Ibrahim KIVANÇ)
50 Dakika 400 Tiles & Notifications
Metro UI arayüz üzerinde her bir tile bir uygulamayı temsil etmekte, Metro Uygulamaların Tile ve Notification özelliklerinden faydalanarak kullanıcıları uygulamanız hakkındaki yeniliklikler konusunda bilgilendirebiliriz. Bu session’da hep birlikte Tile ve Notification entegrasyonuna göz atacağız
5 Sensors & Media 
(Ibrahim KIVANÇ)
70 Dakika 400 Sensörler 
WinRT sayesinde kolay bir şekilde , kameralar, sensörler ve diğer sistem donanımlarına erişebiliyoruz. Bu session’da GPS Kontrolü, Kamera ve diğer sensor kontrollerinin kullanımı konusunu işliyor olacağız.

Workshop Amaçları

Bu eğitimle, Windows’u nasıl yeni baştan tasarladığımızı sizlerle tartışmak ve yeni platformun geliştirme bilgilerini de birinci ağızdan aktarmayı hedefliyoruz.

Windows takımı tarafından yönetilen workshop’lar geliştiricilerinize aşağıdaki konularda yardımcı olmaları için tasarlandı:

  1. Windows 8 platformunu nelerin farklı kıldığını öğrenme
  2. Önemli Windows 8 konseptlerine detaylı teknik bir inceleme yapma
  3. Windows 8 uygulama geliştirme üzerine uygulamalı olarak deneyim aktarma

Katılımcıların, Workshop’tan Windows 8 platformu hakkında net bilgilerle ve uygulamalarını hemen geliştirmeye hazır bir bilgi birikimi ile ayrılmaları amaçlanmaktadır.

Haziran 9, 2012 Posted by | Yazılım | | Yorum bırakın