Your SlideShare is downloading. ×
0
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

AAB303 - Windows Communication Foundation - wcamb

1,036

Published on

Uma introdução sobre WCF - Windows Communication Foundation …

Uma introdução sobre WCF - Windows Communication Foundation
Publicação: Outubro/2009.
Autor: Waldemir Cambiucci

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,036
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Uma introdução sobre WCF – Windows Communication Foundation Waldemir Cambiucci Arquiteto de Soluções twitter.com/wcamb Microsoft Brasil blogs.msdn.com/wcamb 1
  • 2. Agenda O que é o WCF? Cenários de serviços com WCF Recomendações para a construção de serviços com WCF Conclusões Recursos Publicação: Outubro/2009 2
  • 3. Objetivos da Sessão Apresentar uma introdução sobre o WCF – Windows Communication Foundation. Apresentar uma abordagem para cenários de serviços implementados com WCF. 3
  • 4. 4
  • 5. O que é o WCF? Plataforma para aplicações distribuídas interoperável, escalável e orientado a mensagens Modelo de programação unificado ASP.NET Web Services (ASMX), .NET Remoting, Mensageria, Enterprise Services/COM+, RESTful Suporte n-tier, web services, protocolos WS* e modelos de programação web: POX, REST, JSON, AtomPub, etc. 5
  • 6. O que é o WCF? WCF – Windows Comunication Foundation é um framework de desenvolvimento do .NET Framework, que permite a construção de interfaces de serviços para cenários diversos, oferecendo recursos para a construção de aplicações distribuídas. É parte integrante do .NET Framework desde a versão 3.0. 6
  • 7. .NET Framework 3.5 SP1 .NET ADO.NET Entity ADO.NET Data Services ASP.NET Dynamic Data ASP.NET Routing Framework Framework .NET Framework 3.5 Principais REST AJAX LINQ RSS recursos do POX ATOM JSON +BCL .NET Framework. .NET Framework 3.0 Card WCF WPF WF Space .NET Framework 2.0 Web ADO.NET CLR Services ASP.NET
  • 8. O que é o WCF? Windows Communication Foundation Ambiente para a comunicação entre sistemas Baseado em mensagens Multi-protocolo Multi-hosting Compatível com WS, WS-*, tcp, P2P, etc. Altamente configurável Permite desacoplamento entre Serviços e sua Configuração 8
  • 9. Modelo unificado de programação O WCF oferece um modelo unificado de programação para a comunicação entre sistemas. .NET Remoting ASMX My My WSE System Service MSMQ Enterprise Services 9
  • 10. Modelo unificado de programação O WCF oferece um modelo unificado de programação para a comunicação entre sistemas. .NET Remoting ASMX My My WCF WSE System Service MSMQ Enterprise Services 10
  • 11. Anatomia de um serviço WCF Fundamentos Um serviço é orientado a mensagens, trocadas entre cliente e provedor. Cliente Serviço Bv Bv Bv C B A Mensagem A B C Bv 11
  • 12. Anatomia de um serviço WCF Fundamentos Metadata Cliente Bv Endpoint Serviço Bv C B A Mensagem A B C Bv A B C Bv Proxy Address Binding Contract ServiceHost<T>() Endpoint (Onde) (Como) (O quê) 12
  • 13. Arquitetura WCF Aspectos de nível lógico e contratos Aspectos de comportamentos e serviços Aspectos de multi-protocolo e mensagens Aspectos de multi-hosting
  • 14. Contratos [ServiceContract] public interface IMyInterface { Definição do [OperationContract] contrato public void MyMethod(); } public class MyService: IMyInterface { public void MyMethod() { Implementação ... do serviço } } <service> <endpoint name=“MyService” address=“...” Address + Binding + binding=“netTcpBinding” Contract = Endpoint contract=“IMyInterface” />
  • 15. Anatomia de um serviço WCF Canais de comunicação no WCF Cliente Criação de canais no WCF Proxy Endpoints Channel Channel Serviço Dispatcher Channel Channel Transport Transport Channel Channel 15
  • 16. Bindings T = Transport Security | M = Message Security Binding Interop. Segurança Sessão Transação Duplex BasicHttp BP 1.1 TM WsHttp WS TM X X WsDualHttp WS M X X X NetTcp .NET TM X X X NetNamedPipes .NET T X X X NetMsmq .NET TM X X NetPeerTcp .NET TM X MsmqIntegration MSMQ TM 16
  • 17. Composição de Bindings ABC do WCF Transport Encoder Security Reliability Protocol HTTP TCP Binary Text WS-* WS-* WS-* HTTP Text Transport TCP Binary WS-* WS-* Pipes WS-* MTOM Custom Custom MSMQ Custom Custom Custom 17
  • 18. Bindings com HTTP BasicHttpBinding HTTP + Text/MTOM Encoding + Transport Security (https) Primeira escolha para: Integração com tudo que fala SOAP/HTTP WS Basic Profile 1.1 compliant WsHttpBinding / WsDualHttpBinding BasicHttpBinding features + Segurança no nível da Mensagem + Reliable Session + Transaction Flow WsDualHttpBinding: Conversações Bidirecionais Duplex Primeira escolha para: Cenários avançados para Web Services Federated Security, Reliable Delivery, Transaction Integration 18
  • 19. Bindings com TCP/IP NetTcpBinding WCF Framing Protocol + Binary Encoding Transport/Message Security, Reliable Session, Transactions Bidirectional (Duplex) no mesmo socket Prefira em relação ao WsHttpBinding quando: Cenários WCF-a-WCF sensíveis à Largura de Banda/Desempenho Notificações/feedback instantâneos ao Cliente com NAT/Firewall NetNamedPipeBinding Mesmas features do NetTcpBinding Confiabilidade garantida pelo Windows Prefira em relação ao NetTcpBinding quando: Necessita desempenho máximo na comunicação entre máquinas ou in-process 19
  • 20. Bindings com MSMQ NetMsmqBinding Transporte MSMQ + Binary Encoding Segurança nos níveis de Transporte/Mensagem, Transações Primeira escolha para: Reliable, Durable, Queued One-Way Messaging Cenários de alta vazão MsmqIntegrationBinding Transporte do MSMQ + MSMQ Encodings Segurança do MSMQ, Transações Primeira escolha para: Cenários de Integração com aplicações MSMQ existentes Integração simples com o Host Integration Server e o BizTalk 20
  • 21. Bindings para REST webHttpBinding “web-friendly” WCF Binding no .NET 3.5 Permite a construção de serviços ”RESTful” Suporta transporte HTTP e HTTPS somente Não utiliza envelopes SOAP WebMessageEncoding JSON, XML, Binary Novos bindings estão disponíveis com o .NET 3.5 SP1, considerando integração com WF, sessões, recuperação, etc. 21
  • 22. Uma árvore de decisão para Bindings Para cada cenário de aplicação Programming WCF Services teremos um binding específico by Juval Lowy que melhor atende suas necessidades. 22
  • 23. 23
  • 24. WCF para Aplicações Intranet Suporte ao modelo Cliente Intranet Cliente/Servidor. Serviços distribuídos Windows entre processos e Active fronteiras de máquinas. TCP Directory Características: NetTcpBinding Mensagens TCP/binária Serviço Autenticação Windows Componente de Negócio NetTcpBinding DALC 24
  • 25. WCF para Web Services Suporte para protocolos SOAP/WS* Cliente Internet (Basic Profile) Cliente Internet (WS*) Características: Mensagens HTTP/Text UserName HTTPS HTTP Transporte seguro via SSL ou segurança por credentials BasicHttpBinding WSHttpBInding mensagens Autenticação baseada Serviço em usuário/senha Componente de Negócio BasicHttpBinding e WSHttpBinding DALC 25
  • 26. EndPoints para Web Services Suporte ao wsHttpBinding Tratando Behaviors de serviços 26
  • 27. WCF e mundo Web Browser Browser Suporte para modelos de programação Web, clientes AJAX Silverlight AJAX e Silverlight. Características: HTTP/HTTPS POX, REST, Atom/Pub Segurança via URL com segurança de aplicação WebHttpBinding WebHttpBinding WebHttpBinding para Ajax Serviço REST-Centric Componentes de Behavior webHttp(JSON) e Negócio enableWebScript (AJAX) DALC 27
  • 28. EndPoints para Cliente AJAX/REST Usando um endpointBehavior enableWebScript Usando o binding webHttpBinding Usando o behavior custom, para suporte ao cliente AJAX 28
  • 29. Serviços Distribuídos Browser Serviços WCF podem HTTPS encapsular funcionalidades UserName de negócio para aplicações credentials Web Aplicação ASP.NET Suporta fronteiras distribuídas e segurança TCP Certificate Certificate Características: NetTcpBinding Store Mensagens TCP/binário Serviço Autenticação por certificados Componente de NetTcpBinding Negócio DALC 29
  • 30. SOA Cliente Internet Cliente Internet Browser (Basic Profile) (WS*) WCF é parte de uma HTTPS HTTP HTTPS estratégia orientada a serviços. Aplicação Interfaces de ASP.NET serviços para toda lógica de negócio. NetTcp WSHttp BasicHttp Características: Serviço Diversos cenários de bindings possíveis Componente de Negócio Big SOA versus Little SOA DALC 30
  • 31. Cloud Computing Cliente Internet Cliente Internet Browser (Basic Profile) (WS*) Serviços publicados na HTTPS HTTP HTTPS nuvem, através de um ISB – Internet Aplicação ASP.NET Service Bus .NET Services da Plataforma de Service WSHttp / on-premise Bus Serviços Azure: Serviço Access Control Componente de Negócio Service Bus Access Control DALC Windows Azure .NET Services Service Bus 31
  • 32. WCF para Aplicações Intranet Considerações gerais Característica Descrição Hospedagem Windows NT Service -> Windows Server 2003 WAS -> Windows Server 2008 Protocolo TCP Transporte Named Pipes (cliente e serviço na mesma máquina) Protocolo SOAP + Binary Mensageria Segurança Credencial Windows Certificado X.509 Binding NetTcpBinding NetNamedPipeBinding 32
  • 33. WCF para Web Services Considerações gerais Característica Descrição Hospedagem IIS6 -> Windows Server 2003 IIS7 -> Windows Server 2008 Protocolo Transporte HTTP, HTTPS Protocolo Mensageria SOAP + WS-* Autenticação Usuário + Senha (WS-Security) Segurança Transmissão SSL -> HTTPS WS-Security -> HTTP Binding BasicHttpBinding, WsHttpBinding 33
  • 34. WCF e mundo Web Considerações gerais Característica Descrição Hospedagem IIS6 –> Windows Server 2003 IIS7 -> Windows Server 2008 Protocolo Transposte HTTP, HTTPS Protocolo Mensageria XML, JSON Autenticação Basic Authentication Segurança SSL Binding WebHttpBinding WebHttpBehavior 34
  • 35. WCF e cenários de mensageria Considerações gerais Característica Descrição Hospedagem Windows NT Service -> Windows Server 2003 WAS -> Windows Server 2008 Protocolo Transporte MSMQ Protocolo Mensageria SOAP + Binary Segurança Certificado X.509 Binding MsmqIntegrationBinding (Legado) NetMsmqBinding (WCF – WCF) 35
  • 36. 36
  • 37. Resumo sobre o WCF WCF realiza a separação entre Serviço e Protocolos utilizados Grande poder de abstração! Implementa uma gama grande de protocolos e mecanismos para diferentes cenários Múltiplos protocolos podem ser usados para um mesmo serviço Simplifica a implementação e a configuração Cabe ao arquiteto definir que protocolos e/ou mecanismos devem ser utilizados Pode ser customizado...
  • 38. Resumo sobre o WCF 4.0 Novos recursos estão chegando com o WCF 4.0: Configuração simplificada de serviços Standard Endpoints Discovery Router service Melhorias no suporte à REST Para saber mais sobre o WCF 4.0: A Developer's Introduction to Windows Workflow Foundation (WF4) in .NET 4 Beta 1 http://msdn.microsoft.com/en-us/library/ee342461.aspx A Developer’s Introduction to Windows Communication Foundation (WCF) .NET 4 Beta 1 http://msdn.microsoft.com/pt-br/library/ee354381(en-us).aspx
  • 39. Recursos Série de posts sobre WCF http://blogs.msdn.com/wcamb/archive/tags/WCF/default.aspx Windows Communication Foundation: Application Deployment Scenarios http://msdn.microsoft.com/en-us/library/cc512374.aspx Série de posts sobre Cenários de WCF http://blogs.msdn.com/wcamb/archive/tags/Cen_26002300_225_3B00_ rios+de+servi_26002300_231_3B00_os+WCF/default.aspx
  • 40. Recursos (cont.) ArqBR.Groups http://arqbr.groups.live.com/ ArqCasts no Channel9/Brasil http://channel9.msdn.com/brasil/ ebook Arquitetura de Soluções http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook- sobre-arquitetura-de-solu-es.aspx Centro de Arquitetura MSDN http://msdn.microsoft.com/pt-br/architecture/default.aspx 40
  • 41. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 41

×