Bindings no WCF - Tabela comparativa de recursos.

Olá pessoal, tudo certo?

E o assunto WCF continua. Como já foi comentado, o WCF é um framework de grandes recursos, extensível, multi-protocolo, multi-host, orientado a mensagem e que permite uma configuração on-the-fly.

Porém, devido essa oferta de recursos, muitas decisões sobre a forma de conexão entre sistemas é de responsabilidade do arquiteto ou desenvolvedor, o que exige um maior estudo sobre as alternativas presentes no framework. E nesse aspecto, a configuração do binding do endpoint exige especial atenção.

A tabela a seguir apresenta um mapa sobre os vários tipos de bindings disponíveis no WCF:

Nome da Classe Binding

 

Transporte

 

Encoding de msg

 

Versão de msg

 

Modo de Segurança

 

RM

 

 

BasicHttpBinding

 

HTTP

 

Text

 

SOAP 1.1

 

None

 

X

 

 

WSHttpBinding

 

HTTP

 

Text

 

SOAP 1.2 WS-A 1.0

 

Message

 

Disabled

 

 

NetTcpBinding

 

TCP

 

Binary

 

SOAP 1.2

 

Transport

 

Disabled

 

 

NetNamedPipesBinding

 

Named Pipes

 

Binary

 

SOAP 1.2

 

Transport

 

X

 

 

NetMsmqBinding

 

MSMQ

 

Binary

 

SOAP 1.2

 

Message

 

X

 

 

CustomBinding

 

Você decide

 

Você decide

 

Você decide

 

Você decide

 

Você decide

 

 

Legenda:
X = Não suportado, WS-A = WS-Addressing, WS-AT = WS-AtomicTransactions.

Assim, temos acima as características principais dos bindings BasicHttpBinding, WSHttpBinding, NetTcpBinding, NetNamedPipesBinding, NetMsmqBinding e CustomBinding, disponíveis no pacote do WCF. Note que através do CustomBinding é possível selecionar as funcionalidades específicas para Transporte, Encoder, Segurança, Reliability (RM) e Protocolo.

A partir do livro "Programming WCF Services" do autor Juval Lowy, editora O'ReIlly (o livro do peixinho), temos uma árvore de decisão que ajuda muito na escolha do tipo de Binding mais aplicado para uma solução, veja:

image

Ref.: Programming WCF Services, Juval Lowy, editora O'Reilly - ISBN: 0596526997

Ainda, existe um artigo muito importante sobre customização e detalhamento de bindings, escrito por Aaron Skonnard, confira a seguir:

WCF Bindings in Depth
https://msdn.microsoft.com/msdnmag/issues/07/07/ServiceStation/

Num próximo post, vamos continuar o assunto, comentando alguns aspectos no processo de customização e construção de nossos próprios Bindings no WCF.

E finalmente, um outro assunto: o WCF também pode ser utilizado com o BizTalk Server 2006 R2, através de um novo Adapter. A partir do BizTalk Server 2006 R2, é possível tratar canais de entrada e saída através do WCF Adapter, o que permite o uso do framework no ambiente de integração e ESB - Enterprise Service Bus - sobre BizTalk.

O link a seguir disponibiliza o download do adapter, para sua avaliação:

WCF Adapters in BizTalk Server 2006 R2
https://www.microsoft.com/downloads/details.aspx?familyid=a976dc7d-2296-4f88-be4d-0d314fca9e59&displaylang=en&tm

Por enquanto é só. Até o próximo post! :)

Waldemir.