Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

MVP (Microsoft Most Valuable Professional) Nedir?

Benzer bir sunumlar


... konulu sunumlar: "MVP (Microsoft Most Valuable Professional) Nedir?"— Sunum transkripti:

1 MVP (Microsoft Most Valuable Professional) Nedir?
Windows Communication Foundation(WCF) Burak Selim Şenyurt Connected System Developer INETA MEA Speaker MVP (Microsoft Most Valuable Professional) Nedir? Microsoft’un En Değerli Profesyonelleri (MVP’ler) bir veya daha fazla sayıdaki Microsoft ürünü konusunda bilgisini kanıtlamış, bilgi ve deneyimlerini sektördeki diğer profesyonellerle gönüllü olarak paylaşan uzmanlardır. MVP’ler bilgi ve deneyimlerini çok farklı şekilde paylaşırlar. Bazıları kitap ve makale yazarken, bazıları Web sitesi ve blog barındırır, "Teknik kullanıcı grupları" liderliği yapar, seminerlerde konuşmacı olur, teknik habergrupları ve forumlarda gelen soruları cevaplandırırlar. Microsoft için müşterilerden alınan geri bildirimler hayati düzeyde önem taşımaktadır. Bu noktada MVP’ler, geri bildirim döngüsünün önemli bir parçası olmakta ve Microsoft ile müşterileri arasındaki bir başka iletişim yolunu oluşturmaktadırlar. MVP ödül programı on üç yıldan uzun süredir devam etmekte ve 90 ülkeden 4000’e yakın MVP ile temsil edilmektedir. 43 MVP ile Türkiye, Orta Doğu ve Afrika bölgesinde ilk sırada yer almaktadır. Detaylı bilgi için Türk MVP’leri: MVP Kitap:

2 Gündem WCF Kimdir? WCF Hedefleri WCF Mimarisi
WCF’ in ABC’si EndPoint Kavramı Hosting Seçenekleri Demo – Merhaba WCF Dünyası Örnek Vakalar Klasik Intranet Modeli Klasik Internet Modeli Güvenilir İş Ortağı Modeli Web Uygulaması Modeli Çoklu EndPoint Modeli Front – End Service Modeli

3 Gündem Geliştirici için Kazanımlar .Net 3.5 ile Gelen Bazı Yenilikler
Visual Studio 2008 Yenilikleri Performans Asmx & WCF Asmx & WCF (Https) Asmx WSE 2.0 & WCF .Net Remoting & WCF Bulunduğumuz Noktada Yardımcı Kaynaklar

4 WCF Kimdir? Windows Communication Foundation, Servis Yönelimli Mimari(Service Oriented Architecture) uygulamalarının entegre, platform bağımsız, güçlü ve kolay geliştirilmesi için tasarlanmış bir Framework altyapısıdır. .Net Framework 3.0 ve 3.5’ in bir parçası olarak gelmektedir.

5 WCF Hedefleri

6 WCF Hedefleri Var olan dağıtık mimari geliştirme modellerini tek bir çatı altında birleştirmek. (Unified) Güvenlik(Security), Transaction gibi, dağıtık mimarilerde uygulanması zor kavramların, kolay bir şekilde ele alınabilmesini sağlamak. (Simplicity) Farklı platformlara destek verebilecek servislerin geliştirilmesini sağlamak. (Interoperability) Farklı tipte servislerin birbirleriyle olan entegrasyonunu daha kolay sağlamak. (Integration)

7 WCF Hedefleri - Entegrasyon
COM+ .Net Remoting XML Web Services WSE WS-* MSMQ ... Entegrasyon

8 WCF Mimarisi

9 WCF Mimarisi – WCF’ in ABC’si
AddressBindingContract

10 WCF Mimarisi – Adresler
Adresler (Addresses) : Bir servisin nerede olduğunu, hangi protokol ile yayınlama yaptığını belirtir. net.tcp://localhost:4000/UrunServisi/Service.svc net.msmq://localhost:6789/MatSrv

11 WCF Mimarisi – Bağlayıcılar(Bindings)
Bağlayıcılar(Bindings) : Bağlayıcılar temel olarak servisler ile nasıl iletişim kurulacağını tanımlamak üzere kullanılırlar. Bir bağlayıcı tip (Binding Type), taşıma tipi (transport type), protokol(protocol) ve veri çözümlemesini(data encoding) mutlaka bildirir.

12 WCF Mimarisi – Bağlayıcılar(Bindings)
Bağlayıcı Adı Açıklama Ver. BasicHttpBinding Asmx web servis modelini ve WS-I Basic 1.1 profilini destekler. 3.0/ 3.5 WsHttpBinding WS-* şartnamalerine uygun Web Servisi modelini destekler. WsDualHttpBinding İki yönlü seri iletişime(Dublex Communication) izin verir. WebHttpBinding XML ve JSON serileştirme desteği ile servisler üzerinde REST/POX tabanlı iletişime izin verir. WsFederationHttpBinding WS-* için Federation şartnamelerini destekler. Ws2007HttpBinding 2007 WS-* standartlarını destekler. 3.5 Ws2007FederationHttpBinding WsFederationHttpBinding için 2007 standartlarını destekler. NetTcpBinding İki .Net tabanlı sistem arasında Tcp bazlı iletişimi destekler. NetNamedPipeBinding Makine üzerinde bir veya daha fazla .Net tabanlı uygulama arasında iletişimi destekler. NetMsmqBinding MSMQ ile asenkron iletişimi destekler NetPeerTcpBinding Peer-To-Peer ağ uygulamaları arası iletişimi destekler. MsmqIntegrationBinding MSMQ tabanlı kuyruk modelini kullanarak mesaj göndirilip alınmasını destekler.

13 WCF Mimarisi – Bağlayıcılar(Bindings)
İletişim Çeşidi Bağlayıcı (Binding) İletişim Seviysinde Güvenlik (Transport Level Security) Mesaj Seviyesinde Güvenlik (Message Level Security) WS-* Desteği WS-* Transaction Desteği Güvenilir Mesajlaşma (Reliable Messaging) Güvenilir Oturumlar (Reliable Sessions) Performans İstek / Cevap (Request / Reply) Tek Yön (One - Way) Çift Yön (Duplex) BasicHttpBinding 1 İyi WsHttpBinding WsDualHttpBinding WsFederationHttpBinding Ws2007HttpBinding Ws2007FederationHttpBinding NetTcpBinding Daha İyi NetNamedPipeBinding En İyi NetMsmqBinding NetPeerTcpBinding MsmqIntegrationBinding

14 WCF Mimarisi – Bağlayıcılar(Bindings)
Interop Gerekli mi ? Yerel mi? Hayır Başla Evet NetNamedPipeBinding Evet Hayır Diğer MSMQ’ lar ile iletişim var mı? Interop Seviyesi Nedir ? Basic Kuyruk Gerekli mi ? Evet BasicHttpBinding Evet MsmqIntegration Binding WS-* Hayır Hayır Çift Yön (Duplex) Gerekli mi ? Evet NetMsmqBinding WsDualHttpBinding Hayır Hangi bağlayıcının seçileceğine nasıl karar verebiliriz? Peer Network Gerekli mi ? NetPeerTcpBinding Federatif Güvenlik Gerekli mi ? Evet Evet WsFederationHttpBinding Ws2007FederationHttpBindig Hayır Hayır WsHttpBinding Ws2007HttpBinding NetTcpBinding

15 WCF Mimarisi – Sözleşmeler(Contracts)
Sözleşmeler(Contracts): bir servisin ne iş yaptığının bilinmesinde önemli rol oynarlar. Servis Sözleşmesi (Service Contract) Veri Sözleşmesi (Data Contract) Hata Sözleşmesi (Fault Contract) Mesaj Sözleşmesi (Message Contract)

16 WCF Mimarisi - EndPoint
Client (İstemci) Servis (Service) Mesajlar (Messages) EndPoint EndPoint

17 WCF Mimarisi - EndPoint
Client (İstemci) Servis (Service) A B C C B A Message A B C Address Binding Contract Nerede? Nasıl? Ne?

18 WCF Mimarisi - Hosting WCF Servisleri için Hosting Seçenekleri
IIS Hosting Self Hosting Windows Activation Service (WAS) Windows Uygulamaları WPF/WinForms... Console Uygulamaları Windows Servisleri

19 Demo - Merhaba WCF Dünyası - IIS Tabanlı WCF Servisi

20 Örnek Vakalar

21 Klasik Intranet Modeli
Active Directory NetTcpBinding Servis (Service) İş Nesnesi (Business Components) TCP TCP Veri Erişim Katmanı (DAL) Doğrulama (Authentication) İstemci

22 Klasik Internet Modeli
HTTPS BasicHttpBinding S e r v i s İş N e s n i D A L Basic Profile Username AspNetDb Username HTTP WsHttpBinding WS* Profile

23 Güvenilir İş Ortağı Modeli
S e r v i s İş N e s n i D A L WsHttpBinding HTTP HTTP İş Ortağı (Internet İstemcisi) Sertifika Deposu (Certificate Store)

24 Web Uygulaması Modeli S e r v i s İş N e s n i D A L NetTcpBinding
Asp.Net App. HTTPS TCP (Internet İstemcisi) Sertifika Deposu (Certificate Store) AspNetDb

25 Çoklu EndPoint Modeli S e r v i s WsHttpBinding İş N e D s
A L WsFederationHttpBinding NetTcpBinding İstemci MsmqIntegrationBinding Custom Binding

26 Front-End Service Modeli
WCF Servisi A İstemci V EndPoint A Front – End WCF Servisi WCF Servisi B İstemci X EndPoint B EndPoint WCF Servisi C İstemci Y EndPoint C1 EndPoint C2 İstemci Z

27 Geliştirici için Kazanımlar

28 4,442 satır alt yapı hazırlığı
Kod Bazında – VS.Net 2003 class HelloService { [WebMethod] public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); return Greeting; } 20,379 satır güvenlik 5,988 satır güvenilir mesajlaşma 25,507 satır transaction 4,442 satır alt yapı hazırlığı Toplam Satır 56,296

29 1,804 satır güvenilir mesajlaşma
Kod Bazında – VS.Net 2003 & WSE class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken } SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); return Greeting; 10 satır güvenlik 1,804 satır güvenilir mesajlaşma 25,507 satır transactions Toplam Satır 27,321

30 Kod Bazında – WCF & VS 2005/2008 1 kod + 2 config
[ServiceContract] class HelloService { [OperationContract] [PrincipalPermission(SecurityAction.Demand, Role = “Adminstrators")] [TransactionFlow(TransactionFlowOption.Mandatory)] [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)] String Hello(String Greeting) {return Greeting;} } <bindings> <wsHttpBinding> <binding name="Binding1“ transactionFlow="true"> <security mode="Message"> <message clientCredentialType="Windows“/> </security> <reliableSession enabled="true" /> </binding> </wsHttpBinding> </bindings> 1 kod + 2 config güvenlik 0 kod + 1 config güvenilir mesajlaşma 2 kod + 1 config (attr.) transactions Toplam Satır 3 kod+ 4 config

31 .Net 3.5 ile Gelen Bazı Yenilikler
Web Destekli Programlama Modeli (Web-Based Programming Model-RESTful) Syndication(İçerik Paylaşımı) Desteği RSS 2.0 Atom 1.0 JSON(JavaScript Object Notation) – Ajax Desteği Ado.Net Data Services açılımı için zemin!

32 Visual Studio 2008 Yenilikleri
WcfSvcHost.exe (Otomatik Host aracı) WcfTestClient.exe (Hazır test amaçlı istemci uygulama) WCF Service Library çeşitleri WCF Service Library Syndication Service Library Sequential Workflow Service Library State Machine Workflow Service Library Service Reference Settings

33 Performans

34 Asmx & WCF(BasicHttpBinding)
Saniye Başına Operasyon Sayısı (Dört İşlemci) Servis tarafındaki metodumuz geriye sırasıyla 1, 10, 100 nesne gönderimi yapmaktadır. Buna göre servisin saniye başına operasyon işlemleri grafikte yer almaktadır. WCF Asmx

35 Asmx & WCF(Https - BasicHttpBinding)
Saniye Başına Operasyon Sayısı (Dört İşlemci) Servis tarafındaki metodumuz geriye sırasıyla 1, 10, 100 nesne gönderimi yapmaktadır. Buna göre servisin saniye başına operasyon işlemleri grafikte yer almaktadır. Asmx Basic Profile 1.0 a göre mesaj yayını yapmaktadır. (Burada HTTPS Kullanılmıştır)

36 Asmx WSE 2.0 & WCF Saniye Başına Operasyon Sayısı (Dört İşlemci)
Servis tarafındaki metodumuz geriye sırasıyla 1, 10, 100 nesne gönderimi yapmaktadır. Buna göre servisin saniye başına operasyon işlemleri grafikte yer almaktadır. Asmx Basic Profile 1.0 a göre mesaj yayını yapmaktadır ve WSE ile mesaj gönderimi gerçekleştirilmektedir. WSE tarafı XmlDocument kullanırken WCF XmlReader kullandığından belirgin bir performans farkı oluşmaktadır.

37 .Net Remoting & WCF Saniye Başına Operasyon Sayısı (Dört İşlemci)
Bu seneryoda WCF tarafında NetNamedPipeBinding kullanılmış.

38 Standart SOA Çözümleri
Bulunduğumuz Noktada WF ile Entegrasyon Standart SOA Çözümleri WCF Ado.Net Data Services RIA Silverlight Ajax Based Clients

39 Yardımcı Kaynaklar C#Nedir? (www.csharpnedir.com)
NedirTv? ( Bsenyurt ( Essential Windows Communication Foundation For .Net Framework 3.5 Addison Wesley Professional Programming WCF Services Juval Löwy – O’Reilly Windows Communication Foundation 3.5 Unleashed (2nd Edition) (Unleashed) Sams Michele Leroux Baustamante – WCF Web Cast Series MSDN Magazine – Service Station

40 Teşekkürler

41 ©. 2008 Microsoft Corporation. All rights reserved
© 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


"MVP (Microsoft Most Valuable Professional) Nedir?" indir ppt

Benzer bir sunumlar


Google Reklamları