WCF - Visão geral
WCF significa Windows Communication Foundation. O recurso básico do WCF é a interoperabilidade. É uma das tecnologias mais recentes da Microsoft que é usada para construir aplicativos orientados a serviços. Com base no conceito de comunicação baseada em mensagem, em que uma solicitação HTTP é representada de maneira uniforme, o WCF torna possível ter uma API unificada independentemente dos diversos mecanismos de transporte.
O WCF foi lançado pela primeira vez em 2006 como parte da estrutura .NET com o Windows Vista e, em seguida, foi atualizado várias vezes. WCF 4.5 é a versão mais recente que agora é amplamente usada.
Um aplicativo WCF consiste em três componentes -
- Serviço WCF,
- Host de serviço WCF e
- Cliente de serviço WCF.
A plataforma WCF também é conhecida como Modelo de Serviço.
Conceitos Fundamentais do WCF
mensagem
Esta é uma unidade de comunicação composta por várias partes além do corpo. As instâncias de mensagens são enviadas e recebidas para todos os tipos de comunicação entre o cliente e o serviço.
Endpoint
Ele define o endereço onde uma mensagem deve ser enviada ou recebida. Ele também especifica o mecanismo de comunicação para descrever como as mensagens serão enviadas juntamente com a definição do conjunto de mensagens. Uma estrutura de um ponto final compreende as seguintes partes -
Endereço
O endereço especifica o local exato para receber as mensagens e é especificado como um Identificador Uniforme de Recursos (URI). É expresso como esquema: // domínio [: porta] / [caminho]. Dê uma olhada no endereço mencionado abaixo -
net.tcp: // localhost: 9000 / ServiceA
Aqui, 'net.tcp' é o esquema para o protocolo TCP. O domínio é 'localhost', que pode ser o nome de uma máquina ou domínio da web, e o caminho é 'ServiceA'.
Obrigatório
Ele define a maneira como um terminal se comunica. É composto por alguns elementos de ligação que constituem a infraestrutura de comunicação. Por exemplo, uma ligação indica os protocolos usados para transporte, como TCP, HTTP, etc., o formato da codificação da mensagem e os protocolos relacionados à segurança e à confiabilidade.
Contratos
É uma coleção de operações que especifica qual funcionalidade o terminal expõe ao cliente. Geralmente consiste em um nome de interface.
Hospedagem
Hospedagem do ponto de vista do WCF refere-se à hospedagem de serviço WCF, que pode ser feita por meio de muitas opções disponíveis, como hospedagem própria, hospedagem IIS e hospedagem WAS.
Metadados
Este é um conceito significativo do WCF, pois facilita a interação fácil entre um aplicativo cliente e um serviço WCF. Normalmente, os metadados para um serviço WCF são gerados automaticamente quando habilitados e isso é feito pela inspeção do serviço e seus terminais.
Cliente WCF
Um aplicativo cliente criado para expor as operações de serviço na forma de métodos é conhecido como cliente WCF. Isso pode ser hospedado por qualquer aplicativo, mesmo aquele que presta serviços de hospedagem.
Canal
Canal é um meio pelo qual um cliente se comunica com um serviço. Diferentes tipos de canais são empilhados e são conhecidos como Channel Stacks.
SABONETE
Embora denominado como 'Simple Object Access Protocol', o SOAP não é um protocolo de transporte; em vez disso, é um documento XML composto por uma seção de cabeçalho e corpo.
Vantagens do WCF
É interoperável com relação a outros serviços. Isso está em nítido contraste com o .NET Remoting, no qual o cliente e o serviço devem ter .Net.
Os serviços WCF oferecem maior confiabilidade e segurança em comparação com os serviços da Web ASMX (Active Server Methods).
A implementação do modelo de segurança e a alteração da ligação no WCF não exigem uma grande mudança na codificação. Apenas algumas mudanças de configuração são necessárias para atender às restrições.
O WCF tem um mecanismo de log integrado, enquanto em outras tecnologias, é essencial fazer a codificação necessária.
WCF integrou AJAX e suporte para JSON (JavaScript object notation).
Ele oferece escalabilidade e suporte para os padrões de serviço da Web futuros.
Possui um mecanismo de segurança padrão extremamente robusto.