• Nenhum resultado encontrado

Uma introdução sobre WCF Windows Communication Foundation

N/A
N/A
Protected

Academic year: 2021

Share "Uma introdução sobre WCF Windows Communication Foundation"

Copied!
41
0
0

Texto

(1)

1

Uma introdução sobre

(2)

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

(3)

3

Objetivos da Sessão

Apresentar uma introdução sobre o WCF –

Windows Communication Foundation.

(4)
(5)

5

O que é o WCF?

Plataforma para aplicações distribuída

s

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:

(6)

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.

(7)

.NET Framework 3.5 SP1 ADO.NET Entity Framework ADO.NET Data Services ASP.NET Dynamic Data ASP.NET Routing .NET Framework 3.5

REST AJAX LINQ RSS

POX ATOM JSON +BCL

.NET Framework 3.0

WCF WPF WF Card

Space

.NET Framework 2.0

ADO.NET CLR ServicesWeb ASP.NET

(8)

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

(9)

9

Modelo unificado de programação

O WCF oferece um modelo unificado de programação para a comunicação entre sistemas.

(10)

10

Modelo unificado de programação

O WCF oferece um modelo unificado de programação para a comunicação entre sistemas.

(11)

11

Anatomia de um serviço WCF

Fundamentos

(12)

12

Anatomia de um serviço WCF

Fundamentos Cliente Serviço Mensagem A B C A B C A B C Metadata Bv Bv Bv Bv Proxy ServiceHost<T>()

Address Binding Contract (Onde) (Como) (O quê)

Endpoint

(13)
(14)

Contratos

[ServiceContract]

public interface IMyInterface {

[OperationContract]

public void MyMethod(); }

public class MyService: IMyInterface {

(15)
(16)

16

Bindings

T = Transport Security | M = Message Security

Binding Interop. Segurança Sessão Transação Duplex

(17)

17

Transport Encoder Security Reliability Protocol

(18)

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

(19)

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:

(20)

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

(21)

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,

(22)

22

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

(23)
(24)

24 NetTcpBinding Cliente Intranet Serviço Componente de Negócio DALC TCP Windows

WCF para Aplicações Intranet

(25)

25

WCF para Web Services

Suporte para protocolos SOAP/WS*

Características:

(26)

26

EndPoints para Web Services

Suporte ao wsHttpBinding Tratando Behaviors

(27)

27

WCF e mundo Web

Suporte para modelos de programação Web, clientes AJAX e Silverlight.

Características:

(28)

28

EndPoints para Cliente AJAX/REST

Usando o binding webHttpBinding

Usando o behavior custom, para suporte

ao cliente AJAX Usando um

(29)

29

Serviços Distribuídos

Serviços WCF podem

encapsular funcionalidades de negócio para aplicações Web

Suporta fronteiras

distribuídas e segurança Características:

Mensagens TCP/binário

(30)

30

SOA

WCF é parte de uma estratégia orientada a serviços. Interfaces de

serviços para toda lógica de negócio. Características:

(31)
(32)

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 Transporte

TCP

Named Pipes (cliente e serviço na mesma máquina) Protocolo

Mensageria

SOAP + Binary

Segurança Credencial Windows Certificado X.509

Binding NetTcpBinding

(33)

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

(34)

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

(35)

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)

(36)
(37)

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

(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

(40)

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

(41)

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

Referências

Documentos relacionados