Your SlideShare is downloading. ×
Interop day wcf_presentation
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

Interop day wcf_presentation

186
views

Published on

Presentation on Windows Communication Foundation, detailing how this new Microsoft technology not only combines all the benefits of its predecessors, but addresses all their limitations. With the …

Presentation on Windows Communication Foundation, detailing how this new Microsoft technology not only combines all the benefits of its predecessors, but addresses all their limitations. With the introduction of WCF, developers are able to develop high-quality SOA services using a single programming model and exposing it in several manners, by configuring multiple endpoints. All the benefits together make the WCF the default choice for integrating applications.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
186
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
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. Integrando aplicaçõesusando WindowsCommunication Foundation 4.0 André Luís Bonfante Analista de Desenvolvimento de Software Andre_Bonfante@Dell.com
  • 2. Tecnologias Microsoft paraIntegração de Aplicações• Ao longo dos anos, acompanhamos o surgimento de diversas tecnologias Microsoft para integração de aplicações;• Cada tecnologia possuía um modelo de programação diferente, portanto o desenvolvedor tinha de despender um esforço considerável de análise e optar pela opção que, de forma geral, atendesse melhor os requisitos. DCOM COM+ .NET REMOTING MSMQ ASMX/WSE 2 2
  • 3. Tecnologias Microsoft paraIntegração de Aplicações• Atualmente, vem crescendo a necessidade de integrarmos aplicações de diferentes plataformas;• Alinhada a essa demanda crescente por interoperabilidade e desacoplamento, vêm se consolidando as aplicações orientadas a serviço (SOA), onde são criados serviços expostos através de protocolos padronizados como HTTP e formatos de mensagens amplamento adotados como SOAP, XML, RSS e JSON. SOAP/HTTP Java Application Linux .NET Application Windows RSS/HTTP PHP Application 3 Linux 3
  • 4. Simple Object Access Protocol(SOAP )• SOAP é um formato simples e padronizado de mensagens baseado em XML para comunicação entre aplicações, independente de plataforma e linguagem, de acordo com as WS-specifications;• As mensagens SOAP são compostas por um cabeçalho onde especificamos os protocolos WS-* implementados pelo serviço e um corpo, onde incluimos as mensagens; <?xml version="1.0"?>Security Reliable Transactions <soap:Envelope Metadata Messaging xmlns:soap=http://www.w3.org/2003/05/soap- envelope”> <soap:Header> </soap:Header> Messaging <soap:Body> <GetExchangeRatesRequest> <SourceCurrency>USD</SourceCurrency> <TargetCurrency>BRL</TargetCurrency> </GetExchangeRatesRequest> XML </soap:Body> </soap:Envelope> 4 4
  • 5. WS-* Specifications• WS-* é um termo genérico abrangendo diversas especificações de requisitos não-funcionais implementados pelo serviço, determinando padrões para diversos aspectos da aplicação, como suporte a transações, criptografia de mensagens e tolerância a falhas; WS-Reliable WS-WS-Security Messaging TransactionsWS-SecureConversation WS-AtomicTransaction WS-Policy WS-ReliableMessaging WS-Trust WS-ID-WSF WS-Coordination WS-Federation WS-Privacy WS-RM-Policy WS-BusinessActivity WS-Test 5 5
  • 6. WS-* Specifications• Em contrapartida, as tecnologias de serviços ainda estão amadurecendo e quanto maior o número de WS-* specifications adotadas, menor será a interoperabilidade; 6 6
  • 7. Era pré-WCFFuncionalidade .NET MSMQ ASMX WSE WCF Remoting Plataformas Windows Windows Independe Independente Independente nte Protocolos HTTP, TCP, HTTP, TCP, HTTP HTTP, TCP, UDP HTTP, TCP, Named Pipes UDP Named Pipes, MSMQ, P2P Formatos de Binário,SOAP Binário,SO SOAP SOAP, Binário SOAP/Binário( mensagens AP (MTOM) MTOM)/RSS/J SON/XMLSuporte a transações Sim Sim Não Não Sim WS-* Specifications N/A N/A WS-Basic- Security, Amplamente Profile SecureConveration, suportadas Trust, WS-RM Mensagens Sim Sim Não Sim Sim assíncronasModelo unificado de Não Não Não Não Sim programação Suporte a múltiplos N/A N/A Não Não Sim 7 7 endpoints
  • 8. Windows CommunicationFoundation• WCF é um framework que oferece todas as vantagens das tecnologias que o precederam, através um único modelo de programação para desenvolvimento aplicativos SOA;• O modelo de programação é unificado, sendo possível expor um mesmo serviço usando SOAP e REST; 8 8
  • 9. Windows Communication Foundation• Através de configuração, expomos diversas opções aos clientes consumindo o serviço, cada uma com combinações diferente de protocolo, formato das mensagens, design e WS-* specifications;Cliente Requisito Localização Protocolo Formato WS-*.NET 4.0 Web Performance e Intranet TCP MTOM WS-Reliability, WS- Application suporte a AtomicTransaction transaçõesJava Desktop Segurança, Internet HTTP SOAP WS-Reliability, WS- Application Confiabilidade e AtomicTransaction, suporte a WS- transações SecureConversation, WS-Policy.NET 4.0 Web Escalabilidade Internet HTTP REST Nenhuma Application 9 9
  • 10. Endpoints• Os serviços são expostos aos clientes através dos endpoints;• Os endpoints são compostos por três elementos, também conhecidos como ABC: – Address: o endereço onde o serviço está disponível; – Binding: especificam como clientes e WCF services se comunicam através do endpoint, determinando o protocolo de transporte, encoding e protocolos a serem utilizados; – Contract: define as operações suportadas e quais os formatos das mensagens de request, response e failure suportadas;• Endpoints são utilizados tanto para expor serviços, como para consumir serviços; <service name="InteropDay.Demo.Service1"> <endpoint address="net.tcp://localhost:8082/MyService" binding="netTcpBinding" name="netTcpBindingEndpoint" contract="InteropDay.Demo.IService1" /> <endpoint address="http://localhost:8083/MyService" binding="wsHttpBinding" name="wsHttpBindingEndpoint" contract="InteropDay.Demo.IService1"/> <endpoint address="http://localhost:8085/MyService/mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> 10 10
  • 11. Hospedando WCF Services• O WCF também oferece flexibilidade quanto à tecnologia a ser utilizada para hospedar o serviço;• Virtualmente qualquer tipo de aplicação .NET pode atuar como um host de um WCF service. A escolha da tecnologia de host depende dos protocolos de comunicação a serem suportados. Internet Information Windows Activation Self Hosted Process Services Services (any .NET app) HTTP HTTP TCP TCP HTTP Named Pipes Named Pipes P2P P2P MSMQ MSMQ 11 11
  • 12. Demo: Criação de um WCF Service12 12
  • 13. 13 13
  • 14. Backup Slides14 14
  • 15. Endpoints (Binding)• Bindings detalham o mecanismo de comunicação que deve ser utilizando quando conectando ao endpoint , composto por: – definição dos protocolos que devem ser usados ao enviar as mensagens; – definição do protocolo de comunicação, como TCP, Named Pipes ou HTTP; – Definição do encoding das mensagens que são enviadas ao endpoint, como binário, SOAP, MTOM e XML;• Os bindings são compostos por diversos binding elements, garantindo o máximo de flexibilidade. As informações contidas no binding são utilizadas pelo runtime para criação da channel stack composta de canais de transporte e protocolo utilizados para troca das mensagens; Protocol Transport Transport Protocol Client Format Format Service Channel Channel Channel Channel 15 15
  • 16. Endpoints (Binding)• O WCF prevê um conjunto de bindings predefinidos que podemos utilizar para definir múltiplos endpoints que atendam às necessidades de cada cliente: Binding Interporabili Transporte Encoding Transações dade BasicHttpBinding WS Basic HTTP SOAP Não Profile 1.1 WsHttpBinding WS HTTP SOAP/MTOM Sim WsDualHttpBinding WS HTTP SOAP/MTOM Sim WebHttpBinding WS HTTP (REST) HTTP 1.1 Não Requests NetTcpBinding .NET TCP SOAP/MTOM Sim NetPeerTcpBinding .NET P2P SOAP/MTOM Sim NetNamedPipesBinding .NET Named SOAP/MTOM Sim Pipes NetMsmqBinding .NET MSMQ Binário/SOAP Sim 16MsmqIntegrationBinding MSMQ MSMQ Binário/SOAP Sim 16
  • 17. Endpoints (Contract)• Os contratos definem as operações e os tipos de mensagens suportados pelo serviço. A utilização de contratos provê uma segregação clara entre a definição do serviço e sua implementação;• A definição dos contratos no modelo de programação do WCF se dá através da adição de atributos existentes no assembly System.ServiceModel; [ServiceContract] [DataContract] public interface IMyService1 public class MyResult { { [OperationContract] [DataMember] MyResult MyOperation1(string value); public bool MyResultValue { get; set; [OperationContract] } string MyOperation2(string value); } } 17 17