Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
WindowsCommunicationFoundationİBRAHİM ERSOYBİLGEADAM
İbrahim Ersoy - Kimdir?             1985 Istanbul doğumlu             BilgeAdam’da Assistant Consultant          Boş Vak...
Ajanda         WCF        Contracts        Service Hosting•   WCF         • Service           • WCF Hosting•   Servis     ...
WCF
WCF Nedir?
Servis Nedir?* Fonksiyonalite Topluluğu      * SOA Fikrinin Uygulanması
Address Nedir?‘Nerede?’ sorusuna cevap verir...                 http://www.iersoy.com/Service/Service1.svc
Binding Nedir? ‘Nasıl?’ sorusuna cevap verir...                                    •   BasicHttpBinding                   ...
BasicHttpBinding Nedir?ASP.NET Web Servisleri(ASMX) için en ideal olandır.HTTP Üzerinden text/xml verisi taşırGüvenlik Yok...
WSHttpBinding Nedir?Duplex(İki Yönlü) olmayan servisler için Güvenli bir servis yapısıdır.HTTP ve HTTPS Üzerinden text/xml...
WSDualHttpBinding Nedir?Duplex(İki Yönlü) servisler için Güvenli bir servis yapısıdır.HTTP ve HTTPS Üzerinden text/xml ver...
NetTCPBinding Nedir?Farklı iki .NET Mimarisini kullanan ortamların birbiriyle haberleşmesini sağlar.Mesajları almak için T...
NetNamedPipeBinding Nedir?Aynı makine üzerinde farklı process ler için güvenilir bir yapı sunar.NamedPipe protokolünü kull...
NetMSMQBinding Nedir?Aynı tip makine(MSMQ kurulu) üzerinde farklı process ler için güvenilir bir yapı sunar.MSMQ Değişik z...
Contracts Nedir?Servise ait fonksiyonaliteyi belirler.                   ‘Ne Yapar?’ sorusuna cevap verir...
Endpoint Nedir? WCF’in ABC si Address-Binding-Contracts in tümüne verilen isim.<endpoint address="" binding="basicHttpBind...
CONTRACTS
Service Contracts Nedir?Servisin sunduğu fonksiyonlar burada belirtilir.                                                  ...
Data Contracts Nedir?Servis ile gönderilecek kullanıcı-tanımlı tipinde veriyi Serialize etmenize olanak sa[ServiceContract...
Message Contracts Nedir?    Önemli bilgileri taşımak istediğimizde kullanırız(Örneğin: Çalışan Bilgileri)[MessageContract]...
Simplex,Request/Replay ve DuplexŞablonları(Message ExchangePatterns)Tek Yönlüdür.Kaynak,hedefe mesaj gönderir.Simplex(One-...
Fault Contracts Nedir?Uygulamalarda Hata Yönetimini sağlayan Contract tipidir.[DataContract()]                         [Se...
SERVICEHOSTING
WCF Hosting    Geliştirdiğiniz servisleri farklı şekillerde host edebilirsiniz...     Host Process                        ...
WCF Hosting    • IIS Hosting: Klasik ASMX ve Virtual Directory...Sadece Http    • Self Hosting: İlgili Client Process i üz...
Visual Studio 2012 WCF ŞablonlarıWCF Service Library(Project-WCF)WCF Service Application(Project-WCF)WCF Workflow Service(...
Demo – WP2W8
Demo – Logic Bomb
Referanslarhttp://www.slideshare.net/iersoy/windows-store-ve-windows-phone-ile-wcf-uygulamalarhttp://www.yazgelistir.com/m...
Sorular?
Katıldığınız içinTeşekkürler!İBRAHİM ERSOYBİLGEADAM
Upcoming SlideShare
Loading in …5
×

WCF'e Giriş

2,329 views

Published on

Published in: Technology
  • ellerinize saglık harika bir kaynak
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

WCF'e Giriş

  1. 1. WindowsCommunicationFoundationİBRAHİM ERSOYBİLGEADAM
  2. 2. İbrahim Ersoy - Kimdir?  1985 Istanbul doğumlu  BilgeAdam’da Assistant Consultant Boş Vakitlerimde;  C# Corner ve DBTalks Editörlük yaparım.  C# Corner Istanbul Chapter olarak her ay toplanırız.  Mobil Uygulamalar ve SharePoint’e ilgi duyarım.
  3. 3. Ajanda WCF Contracts Service Hosting• WCF • Service • WCF Hosting• Servis Contracts • Visual Studio• Address • Data Contracts Şablonları• Contracts • Message • Demo: WP2W8• Binding Contracts • Demo: Logic• Endpoint • Fault Contracts Bomb
  4. 4. WCF
  5. 5. WCF Nedir?
  6. 6. Servis Nedir?* Fonksiyonalite Topluluğu * SOA Fikrinin Uygulanması
  7. 7. Address Nedir?‘Nerede?’ sorusuna cevap verir... http://www.iersoy.com/Service/Service1.svc
  8. 8. Binding Nedir? ‘Nasıl?’ sorusuna cevap verir... • BasicHttpBinding • WSHttpBinding • WSDualHttpBinding • NetTCPBinding • NetNamedPipeBinding • NetMSMQBinding
  9. 9. BasicHttpBinding Nedir?ASP.NET Web Servisleri(ASMX) için en ideal olandır.HTTP Üzerinden text/xml verisi taşırGüvenlik Yoktur
  10. 10. WSHttpBinding Nedir?Duplex(İki Yönlü) olmayan servisler için Güvenli bir servis yapısıdır.HTTP ve HTTPS Üzerinden text/xml verisi taşırGüvenlik Vardır
  11. 11. WSDualHttpBinding Nedir?Duplex(İki Yönlü) servisler için Güvenli bir servis yapısıdır.HTTP ve HTTPS Üzerinden text/xml verisi taşır...Güvenlik VardırDuplex Mesajlaşma Şablonunu kullanarak CallBack döndürür.
  12. 12. NetTCPBinding Nedir?Farklı iki .NET Mimarisini kullanan ortamların birbiriyle haberleşmesini sağlar.Mesajları almak için TCP Protokolünü kullanır.
  13. 13. NetNamedPipeBinding Nedir?Aynı makine üzerinde farklı process ler için güvenilir bir yapı sunar.NamedPipe protokolünü kullanır.
  14. 14. NetMSMQBinding Nedir?Aynı tip makine(MSMQ kurulu) üzerinde farklı process ler için güvenilir bir yapı sunar.MSMQ Değişik zamanlarda birbirinden bağımsız çalışan ve haliyle performanslı bir yöntemdir.Windows Features’dan aktifleştirilmesi gerekir.
  15. 15. Contracts Nedir?Servise ait fonksiyonaliteyi belirler. ‘Ne Yapar?’ sorusuna cevap verir...
  16. 16. Endpoint Nedir? WCF’in ABC si Address-Binding-Contracts in tümüne verilen isim.<endpoint address="" binding="basicHttpBinding"contract="Microsoft.ServiceModel.Samples.ICalculator" /><endpoint address="secure"binding="wsHttpBinding"
  17. 17. CONTRACTS
  18. 18. Service Contracts Nedir?Servisin sunduğu fonksiyonlar burada belirtilir. WebService=ServiceContract WebMethod=OperationContract[ServiceContract()]public interface ISimpleCalculator{ [OperationContract()] int Add(int num1, int num2);}
  19. 19. Data Contracts Nedir?Servis ile gönderilecek kullanıcı-tanımlı tipinde veriyi Serialize etmenize olanak sa[ServiceContract] XML Şemasına CLR Tipini serilize eder.public interface IEmployeeService{ [OperationContract] Bunu da OperationContract ler vasıtasıyla yapar. Employee GetEmployeeDetails(int EmpId);}[DataContract]public class Employee{ private string m_Name; [DataMember] public string Name { get{return m_Name;} set {m_Name = value;} }}
  20. 20. Message Contracts Nedir? Önemli bilgileri taşımak istediğimizde kullanırız(Örneğin: Çalışan Bilgileri)[MessageContract]public class EmployeeDetails MessageContract esasen 3 ana Şablonu kullanabilir:{ Simplex,Request/Replay ve Duplex. [MessageHeader] public string EmpID; [MessageBodyMember] public string Name; [MessageBodyMember] public string Location;}
  21. 21. Simplex,Request/Replay ve DuplexŞablonları(Message ExchangePatterns)Tek Yönlüdür.Kaynak,hedefe mesaj gönderir.Simplex(One-Way):Request/Replay: Çift Yönlüdür.Kaynak,hedefe mesaj gönderdikten sonra tam tersi işlem olur.Duplex(CallBack): Çift Yönlüdür.Kaynak ve Hedef birbirlerine aynı anda mesaj gönderebilirler.
  22. 22. Fault Contracts Nedir?Uygulamalarda Hata Yönetimini sağlayan Contract tipidir.[DataContract()] [ServiceContract()]public class CustomException public interface ISimpleCalculator{ { [DataMember()] [OperationContract()] public string Title; [FaultContract(typeof(CustomException))] int Add(int num1, int num2); [DataMember()] } public string ExceptionMessage; [DataMember()] public string InnerException; [DataMember()] public string StackTrace;}
  23. 23. SERVICEHOSTING
  24. 24. WCF Hosting Geliştirdiğiniz servisleri farklı şekillerde host edebilirsiniz... Host Process • IIS Hosting • Self Hosting • WAS Hosting • Windows Server AppFabricServisler ‘Host Process’ denilen Windows Process de saklanırlar.SvcHost.exe adlı process içerisinde saklanır.Bir servis birden çok host process tarafından kullanılabileceği gibi,bir host process de aynı şekilde birdençok servisi barındırabilir.
  25. 25. WCF Hosting • IIS Hosting: Klasik ASMX ve Virtual Directory...Sadece Http • Self Hosting: İlgili Client Process i üzerinde çalışan hosting tipidir. • WAS Hosting: Windows Vista ile çıktı.Bir Hosting Motorudur. • Windows Server AppFabric : IIS 7.5 de Extension,IIS 8’de ise bütünleşik.Hem WCF hem de WF servisleri için optimize edilmiştir(Monitoring,Event Tracking)... Otomatik Başlatma ÖzelliğiIIS Hosting in dezavantajı WebServisini bir Websitesi gibi sanmasıdır.Çünkü IIS bir Hosting servisi değil de birWeb Serverdır.IIS 7 ile birlikte hosting işlemleri artık WAS üzerinden gerçekleşir.Hem WebSitesi hem deservisleri host edebilir.
  26. 26. Visual Studio 2012 WCF ŞablonlarıWCF Service Library(Project-WCF)WCF Service Application(Project-WCF)WCF Workflow Service(Project-WCF)WCF Syndication Service(Project-WCF)WCF Web Site(Project-Web)WCF Service Item(Item)
  27. 27. Demo – WP2W8
  28. 28. Demo – Logic Bomb
  29. 29. Referanslarhttp://www.slideshare.net/iersoy/windows-store-ve-windows-phone-ile-wcf-uygulamalarhttp://www.yazgelistir.com/makale/nedir-su-msmq-dedikleri-http://msdn.microsoft.com/en-us/library/ms751515.aspxProgramming WCF Services – Juval Löwy
  30. 30. Sorular?
  31. 31. Katıldığınız içinTeşekkürler!İBRAHİM ERSOYBİLGEADAM

×