Um dos pilares do .NET Services (Windows Azure) é o .NET Service Bus. Este “pedaço” fornece uma segura e consistente forma de comunicação entre aplicações e serviços, mesmo se eles estejam em diferentes organizações. Ele possibilita a centralização da comunicação entre essas partes, dando suporte aos mais variados protocolos existentes, utilizando os padrões mundialmente conhecidos como SOAP, WS-* e REST.
Aqueles que já estiverem familiarizados com o WCF, ao baixar o SDK do .NET Service poderão notar que existem alguns novos bindings que podem ser incorporados aos serviços WCF, permitindo que eles sejam expostos e invocados através do .NET Service Bus. Superficialmente falando, o .NET Service Bus funcionará como um relay entre o cliente e o serviço (lembre-se que eles estão, muitas vezes, em diferentes companhias) e, justamente por isso, que esses novos bindings possuem a palavra “Relay” em seu nome. Para a maioria dos bindings existentes no WCF, existe um correspondente em seu modo “relayed”:
-
BasicHttpBinding: BasicHttpRelayBinding
-
WebHttpBinding: WebHttpRelayBinding
-
WSHttpBinding: WSHttpRelayBinding
-
WS2007HttpBinding: WS2007HttpRelayBinding
-
WSHttpContextBinding: WSHttpRelayContextBinding
-
WS2007FederationHttpBinding: WS2007RelayFederationHttpBinding
-
NetTcpBinding: NetTcpRelayBinding
-
NetTcpContextBinding: NetTcpRelayContextBinding
Ainda há outros dois relay bindings que não possuem um correspondente na API do WCF: NetOnewayRelayBinding e o NetEventRelayBinding, quais são utilizados em casos específicos desta nova arquitetura.