Uma introdução sobre WCF Windows Communication Foundation

Documentos relacionados
Uma introdução sobre WF Windows Workflow Foundation

Nova geração de certificações Microsoft: SQL Server 2005/2008 Visual Studio 2008/2010

Mobilize seu negócio com a Microsoft. Mário Abreu Technology Specialist, Windows Phone Microsoft Brasil

Uma nova luz na web com Microsoft Silverlight. Leonardo Sobral Consultor de Tecnologia

O importante é o utilizador. A tecnologia é o suporte. Todas as tarefas comuns são mais fáceis de fazer

Uma introdução sobre Frameworks de Desenvolvimento

Seja Bem-Vindo. Sharepoint 2007 para Desenvolvedores. Inicio: 19:00 Termino: 22:00

Grupo de Arquitetos Microsoft Brasil

Seja Bem-Vindo. System Center Family. Inicio: 09:00 Termino: 12:00

Uma introdução sobre o SQL Azure Database

Desenvolva passo a passo um Sistema Web seguro com C# e Web Services!

Microsoft Software + Serviços

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1)

Formação ASP.NET MVC com C#

Centro de Inovação Microsoft-PUCRS

Introdução a Web Services

Developing Windows Azure and Web Services (20487)

NetApp Visão Geral Alguns Desafios de uma Infraestrutura em Nuvem Integração com o System Center 2012

Copyright All rights reserved.

Apresentando o.net Framwork

EasyAzure. EasyAzure. Guia do programa. Ingram Micro Brasil. Versão 1.7

Produzindo Valor com Gerenciamento do Ciclo de Vida de Aplicativos Delivering Value with Application Lifecycle Management (ALM)

Uma introdução sobre MDD Model Driven Design e projeto Oslo

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services

Desenvolvimento de Aplicações Distribuídas

Seminário Tecnológico Microsoft Biztalk Server

Developing Microsoft Azure Solutions (20532)

Developing Microsoft Azure Solutions (20532)

Sistemas distribuídos. Prof. Emiliano Monteiro

Serviços Gerenciados de Segurança Ativas Powered by Symantec Raphael Pereira

Software as a Service (SaaS)

O poder da cobertura das consultas (Cover Indexes) Estratégias de indexação apropriadas (AND, OR, joins, agregações)

DEPARTAMENTO DE COMPUTAÇÃO CURSO DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE COM UML LATO-SENSU CARLOS EDUARDO PASQUETO BORIN

Uma ( pequena ) volta pelo.net Framework 4. Diego Rodrigo Neufert Coordenador de Sistemas Logísticos ALL América Latina Logística

Oracle Database 12c: Workshop de Administração

DESENVOLVIMENTO DE SOFTWARE AULA 1

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

BITDEFENDER GRAVITYZONE. Diogo Calazans Diretor Comercial

Core Solutions of Microsoft Skype for Business 2015 (20334)

Planning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398)

Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999

Academia Desenvolvimento de Software

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Curriculum Vitae. Objetivos. Analista Desenvolvedor.NET ou Desenvolvedor.NET

Nota de Aplicação: Utilização do Servidor Web MS IIS com BlueWave. Sumário

Sistemas Distribuídos

Eliminando Fronteiras: Aumente a Produtividade com Soluções de Mobilidade Symantec Arthur Cesar Oreana

ASP.NET Web Services. José Antônio da Cunha IFRN

Microsoft Students to Business. Introdução ao Windows Server 2012 R2

Microsoft.NET. Desenvolvimento Baseado em Componentes

Introdução ao Windows Server 2008

Firewall - Inspeção com estado. (Stateful Inspection)

Marcelo Sincic Consultor e instrutor msincic@green.com.br

>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de

Manual Instructions for SAP Note Version 1

SQL Server Surface Area Configuration

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Rogério Molina Consultor e instrutor rogeriomolina@green.com.br

Construindo Microservices Auto-curáveis com Spring Cloud e Netflix OSS. Rodrigo Cândido da

Arquitecturas de Serviços Internet Service Bus

Enterprise Application Integration (EAI)

Transcrição:

Uma introdução sobre WCF Windows Communication Foundation Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil twitter.com/wcamb blogs.msdn.com/wcamb 1

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

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

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

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

.NET Framework 3.5 SP1.NET Framework ADO.NET Entity Framework ADO.NET Data Services ASP.NET Dynamic Data ASP.NET Routing Principais recursos do.net Framework..NET Framework 3.5 REST AJAX LINQ RSS POX ATOM JSON +BCL.NET Framework 3.0 WCF WPF WF Card Space ADO.NET.NET Framework 2.0 CLR Web Services ASP.NET

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

Modelo unificado de programação O WCF oferece um modelo unificado de programação para a comunicação entre sistemas..net Remoting ASMX My System WSE MSMQ My Service Enterprise Services 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 System WCF WSE MSMQ My Service Enterprise Services 10

Anatomia de um serviço WCF Fundamentos Um serviço é orientado a mensagens, trocadas entre cliente e provedor. Bv Bv Cliente C B A Mensagem A B C Serviço Bv Bv 11

Anatomia de um serviço WCF Fundamentos Bv Cliente Metadata Endpoint Serviço Bv C B A Mensagem A B C Bv Proxy A B C Bv Endpoint Address Binding Contract (Onde) (Como) (O quê) ServiceHost<T>() 12

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

Contratos [ServiceContract] public interface IMyInterface { [OperationContract] public void MyMethod(); } public class MyService: IMyInterface { public void MyMethod() {... } } <service> <endpoint name= MyService address=... binding= nettcpbinding contract= IMyInterface /> Definição do contrato Implementação do serviço Address + Binding + Contract = Endpoint

Anatomia de um serviço WCF Canais de comunicação no WCF Cliente Proxy Criação de canais no WCF Endpoints Channel Channel Dispatcher Serviço Channel Channel Transport Channel Transport Channel 15

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

Composição de Bindings ABC do WCF Transport Encoder Security Reliability Protocol HTTP TCP Text Binary WS-* WS-* WS-* HTTP TCP Pipes MSMQ Text Binary MTOM Transport WS-* Custom WS-* Custom WS-* Custom 17 Custom Custom

Bindings com HTTP 18 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

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

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

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

Uma árvore de decisão para Bindings Programming WCF Services by Juval Lowy Para cada cenário de aplicação teremos um binding específico que melhor atende suas necessidades. 22

23

WCF para Aplicações Intranet Suporte ao modelo Cliente/Servidor. Serviços distribuídos entre processos e fronteiras de máquinas. Cliente Intranet TCP Windows Active Directory Características: Mensagens TCP/binária Autenticação Windows NetTcpBinding NetTcpBinding Serviço Componente de Negócio DALC 24

WCF para Web Services Suporte para protocolos SOAP/WS* Cliente Internet (Basic Profile) Cliente Internet (WS*) Características: Mensagens HTTP/Text Transporte seguro via SSL ou segurança por mensagens Autenticação baseada em usuário/senha BasicHttpBinding e WSHttpBinding BasicHttpBinding HTTPS UserName credentials Serviço Componente de Negócio DALC HTTP WSHttpBInding 25

EndPoints para Web Services Suporte ao wshttpbinding 26 Tratando Behaviors de serviços

WCF e mundo Web Suporte para modelos de programação Web, clientes AJAX e Silverlight. Browser AJAX Browser Silverlight Características: POX, REST, Atom/Pub Segurança via URL com segurança de aplicação WebHttpBinding para Ajax REST-Centric Behavior webhttp(json) e enablewebscript (AJAX) WebHttpBinding HTTP/HTTPS Serviço Componentes de Negócio DALC WebHttpBinding 27

EndPoints para Cliente AJAX/REST Usando um endpointbehavior enablewebscript Usando o binding webhttpbinding Usando o behavior custom, para suporte ao cliente AJAX 28

Serviços Distribuídos Serviços WCF podem encapsular funcionalidades de negócio para aplicações Web Suporta fronteiras distribuídas e segurança HTTPS TCP Browser Aplicação ASP.NET Certificate UserName credentials Características: Mensagens TCP/binário Autenticação por certificados NetTcpBinding NetTcpBinding Serviço Componente de Negócio DALC Certificate Store 29

SOA WCF é parte de uma estratégia orientada a serviços. Interfaces de serviços para toda lógica de negócio. Cliente Internet (Basic Profile) HTTPS Cliente Internet (WS*) HTTP WSHttp Aplicação ASP.NET NetTcp HTTPS Browser Características: Diversos cenários de bindings possíveis Big SOA versus Little SOA BasicHttp Serviço Componente de Negócio DALC 30

Cloud Computing Serviços publicados na nuvem, através de um ISB Internet Service Bus Cliente Internet (Basic Profile) HTTPS Cliente Internet (WS*) HTTP HTTPS Aplicação ASP.NET Browser.NET Services da Plataforma de Serviços Azure: Access Control Service Bus Service Bus Access Control WSHttp / on-premise Serviço Componente de Negócio 31 Windows Azure.NET Services Service Bus DALC

WCF para Aplicações Intranet Considerações gerais Característica Descrição Hospedagem Windows NT Service -> Windows Server 2003 WAS -> Windows Server 2008 Protocolo Transporte Protocolo Mensageria Segurança Binding TCP Named Pipes (cliente e serviço na mesma máquina) SOAP + Binary Credencial Windows Certificado X.509 NetTcpBinding NetNamedPipeBinding 32

WCF para Web Services Considerações gerais Característica Descrição Hospedagem IIS6 -> Windows Server 2003 IIS7 -> Windows Server 2008 Protocolo Transporte Protocolo Mensageria Autenticação Segurança Transmissão Binding HTTP, HTTPS SOAP + WS-* Usuário + Senha (WS-Security) SSL -> HTTPS WS-Security -> HTTP BasicHttpBinding, WsHttpBinding 33

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 Autenticação Segurança Binding XML, JSON Basic Authentication SSL WebHttpBinding WebHttpBehavior 34

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 Protocolo Mensageria MSMQ SOAP + Binary Segurança Certificado X.509 Binding MsmqIntegrationBinding (Legado) NetMsmqBinding (WCF WCF) 35

36

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...

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

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

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/ebooksobre-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.