Introdução ao WCF - Windows Communication Foundation - Caio Proiete

1,780 views

Published on

Apresentação sobre Windows Communication Foundation (WCF) com diversas demonstrações práticas de utilização, na terceira reunião presencial da comunidade NetPonto

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,780
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
56
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Introdução ao WCF - Windows Communication Foundation - Caio Proiete

  1. 1. http://netponto.org<br />3ª Reunião Presencial - 17/10/2009<br />Introdução ao Windows Communication Foundation (WCF)Caio Proiete<br />
  2. 2. Caio Proiete<br />9 anos de experiência profissional em TI<br />Há 3 anos em Portugal<br />Microsoft Most Valuable Professional 2008-2009<br />Microsoft Certified Trainer desde 2004<br />
  3. 3. Agenda<br />O que é WCF<br />Conceitos do WCF<br />Demonstração: Criação Serviço, Hosting e Client<br />Configuração Imperativa x Declarativa<br />Os Tipos de Mensagens<br />Os Bindings do WCF<br />Os Tipos de Hosting<br />
  4. 4. O que é WCF<br />Windows Communication Foundation é uma plataforma unificada de comunicação.<br />Cliente<br />Serviço<br />Comunicação<br />
  5. 5. Antes do WCF...<br />Cliente<br />Serviço<br />
  6. 6. Antes do WCF...<br />Cliente<br />Serviço<br />.NET Remoting<br />ASMX<br />WSE<br />MSMQ<br />EnterpriseServices<br />...<br />
  7. 7. Depois do WCF...<br />WCF<br />Cliente<br />Serviço<br />.NET Remoting<br />ASMX<br />WSE<br />MSMQ<br />EnterpriseServices<br />...<br />
  8. 8. O que é WCF<br />Plataforma para criação de sistemas distribuídos<br />Permite separar infraestrutura de comunicação da implementação das regras de negócio<br />Conjunto de extensões adicionadas ao .NET Framework 2.0, lançado com o .NET Framework 3.0<br />E funciona no Windows XP, Vista, 7, 2003, 2008, ...<br />
  9. 9. O que é WCF<br />Principais assemblies<br />System.ServiceModel<br />Criação dos serviços, endpoints, behaviors, etc...<br />System.Runtime.Serialization<br />Serialização / Deserialização de objectos<br />System.IdentityModel<br />Segurança, CardSpace API<br />
  10. 10. WCF: Conceitos<br />Service<br />Endpoint<br />Address, Binding, Contract<br />Metadata<br />Behavior<br />Proxy<br />Hosting<br />
  11. 11. WCF: Conceitos &gt; Endpoint<br />Cliente<br />Serviço<br />Endpoint<br />Mensagem<br />Endpoint<br />Endpoint<br />
  12. 12. WCF: Conceitos &gt; Endpoint (ABC)<br />Address, Binding, Contract<br />Cliente<br />Serviço<br />A<br />C<br />B<br />Mensagem<br />A<br />C<br />B<br />C<br />A<br />B<br />Address<br />(onde)<br />Contract<br />(o que)<br />Binding<br />(como)<br />
  13. 13. WCF: Conceitos &gt; Endpoint (ABC)<br />Address - Onde encontrar o serviço<br />http://localhost:8080/servicohttp://ctt.pt/servicos/codigopostalnet.tcp://localhost:5745/serviconet.tcp://servidor:9651/serviconet.pipe://localhost/serviconet.msmq://localhost/private/queue<br />...<br />
  14. 14. WCF: Conceitos &gt; Endpoint (ABC)<br />Binding - Como comunicar com o serviço<br />BasicHttpBinding<br />WSHttpBinding<br />NetTcpBinding<br />NetNamedPipeBinding<br />NetMsmqBinding<br />...<br />
  15. 15. WCF: Conceitos &gt; Endpoint (ABC)<br />Contract - O que o serviço permite fazer<br />[OperationContract]<br />List&lt;Produtos&gt; ObterProdutos(string categoria);<br />[OperationContract]<br />void GravarProduto(Produto p);<br />...<br />
  16. 16. WCF: Conceitos &gt; Metadata<br />Expõe os Endpoints de um serviço em XSD e WSDL<br />Metadata<br />Cliente<br />Serviço<br />A<br />C<br />B<br />Mensagem<br />A<br />C<br />B<br />C<br />A<br />B<br />
  17. 17. WCF: Conceitos &gt; Behaviors<br />Permite customizar comportamentos dos serviços<br />Metadata<br />Cliente<br />Serviço<br />A<br />C<br />B<br />Mensagem<br />Bhv<br />Bhv<br />A<br />C<br />B<br />C<br />A<br />B<br />Modelo de instância, concorrência, transações, ...<br />
  18. 18. Permite customizar comportamentos dos serviços<br />Hosting<br />WCF: Conceitos &gt; Proxy e Hosting<br />Metadata<br />Cliente<br />Serviço<br />A<br />C<br />B<br />Mensagem<br />Proxy<br />Bhv<br />Bhv<br />A<br />C<br />B<br />C<br />A<br />B<br />
  19. 19. CriaçãoServiço, Hosting e Client<br />demonstração<br />
  20. 20. Tipos de Configuração<br />Configuração Imperativa<br />Configuração via código<br />Configuração Declarativa<br />Configuração via parâmetros definidos no arquivo de configuração (App.config, Web.config)<br />
  21. 21. ConfiguraçãoDeclarativa<br />demonstração<br />
  22. 22. Os Tipos de Mensagens<br />Request-Reply<br />Padrão. Chamada de operação e retorno de resposta<br />One-Way<br />Chamada de operação sem retorno de resposta<br />Duplex (Callbacks)<br />Comunicação bi-direccional<br />
  23. 23. MensagemOneWay<br />demonstração<br />
  24. 24. Os Bindings do WCF<br />Em resumo, estão divididos em<br />Baseados em HTTP<br />Orientados a conexão<br />Baseados em fila<br />
  25. 25. Bindings baseados em HTTP<br />Tipicamente utilizados para comunicação via Internet, Intranet<br />BasicHttpBinding<br />WebHttpBinding<br />WSHttpBinding<br />WSDualHttpBinding<br />WSFederationHttpBinding<br />
  26. 26. Bindings orientados a conexão<br />Tipicamente utilizados para comunicação em rede local ou processos em uma mesma máquina<br />NetTcpBinding<br />NetNamedPipeBinding<br />
  27. 27. Bindings baseados em filas<br />Tipicamente utilizados para comunicação em rede local e Intranet<br />NetMsmqBinding<br />MsmqIntegrationBinding<br />
  28. 28. Escolha dos Bindings<br />
  29. 29. Os Tipos de Hosting<br />Self-Hosting<br />Windows Service<br />Windows Forms / WPF<br />Console Application<br />Managed-Hosting<br />IIS / WAS - Windows Process Activation Service<br />
  30. 30. Dúvidas?<br />
  31. 31. Referências<br />WCF Vídeos do Israel Aéce<br />http://www.israelaece.com/post/WCF-Videos.aspx<br />WCF Guidance for WPF Developers<br />http://wcfguidanceforwpf.codeplex.com<br />WCFBrasil- Videos DemonstraçõesPráticas<br />http://wcfbrasil.ning.com/profiles/blogs/demonstracoes-praticas-wcf<br />WCF ScreenCasts Microsoft UK<br />http://www.microsoft.com/uk/msdn/screencasts/default.aspx<br />
  32. 32. Patrocinador desta reunião<br />
  33. 33. Obrigado!<br />Caio Proiete<br />caio.proiete@gmail.com<br />http://caioproiete.com<br />http://twitter.com/caioproiete<br />

×