.NET WCF – Windows Communication Foundation

A tecnologia WCF Windows Communication Foundation, surgiu com a .NET Framework 3.0 com o objetivo de unificar as até então existentes tecnologias de programação distribuidas como: COM+ , MSMQ-Message Queue, Enterprise Services, .NET Remoting e Web Services.

Com a criação da WCF foi criada uma API que auxilia consideravelmente o desenvolvimento de aplicações distribuídas já que o WCF não está acoplado a nenhuma regra de negocio apresentada pelo Serviço em si. Um serviço baseado em WCF consiste em que todo o meio de comunicação ocorre através de EndPoints e por sua vez esses EndPoints fornecem o acesso ao serviço WCF.

O que é um EndPoint ?

Basicamente existe o famoso (ABC’s EndPoint) que basicamente é :

Address + Binding + Contract = EndPoint

Um End Point é um serviço que pode responder nativamente por solicitações. É possível criar End Point manualmente especificando o tipo de PayLoad (origem da carga que será transportada) e o tipo de protocolo de comunicação.

Comunicação

WCF é baseado no conceito de comunicação baseada em mensagens, e tudo o que pode ser modelado como uma mensagem (por exemplo, uma solicitação HTTP ou uma Message Queuing (também conhecido como MSMQ)) pode ser representada de uma forma uniforme em toda a programação. Isto permite uma API unificada de mecanismos de transporte diferentes.

WCF fornece as seguintes codificações:

  • Codificação de texto, uma codificação interoperáveis.
  • Message Transmission Optimization Mechanism (MTOM) de codificação, que é uma maneira eficiente interoperáveis para envio de dados binários não estruturados para e de um serviço.
  • A codificação binária para a transferência eficiente.

Características

WCF inclui o seguinte conjunto de características :

  • Serviço de Orientação Uma conseqüência do uso de padrões WS é que WCF permite que você crie serviços orientado aplicações. Arquitetura Orientada a Serviço (SOA) é o recurso a serviços Web para enviar e receber dados. Os serviços têm a vantagem de ser flexível acoplado a partir de uma aplicação para outra. A relação implica que qualquer cliente criado em qualquer plataforma pode se conectar a qualquer serviço, desde que os contratos essenciais são feitos.
  • Interoperabilidade WCF implementa padrões da indústria moderna para a interoperabilidade de serviços Web com uma vasta gama de padrões compatíveis.
  • Mensagem de múltiplos padrões Mensagens são trocadas em um dos vários padrões. O padrão mais comum é a solicitação / resposta, onde uma extremidade faz uma requisição de dados a partir de uma outra extremidade do EndPoint. Há outros padrões de mensagem, como  em que um único terminal envia uma mensagem sem qualquer expectativa de uma resposta. Um padrão mais complexo é o padrão de troca de duplex onde dois pontos estabelecem uma conexão e enviam dados para trás e para diante, semelhante a um programa de mensagens instantâneas.
  • Serviço de Metadados WCF suporta os formatos de metadados usando o serviço de publicação especificadas nos padrões, tais como WSDL, XML Schema e WS-Policy. Esses metadados podem ser usados para gerar automaticamente e configurar clientes para acessar os serviços WCF. Metadados podem ser publicados através de HTTP, HTTPS ou usar o Web Service de metadados padrão do Exchange.
  • Dados de contratos Um dos tipos de contratos universal é o contrato de dados. Como código de seu serviço usando o  C # ou Visual Basic, a maneira mais fácil de manipular os dados é através da criação de classes que representam uma entidade de dados com propriedades que pertencem à entidade de dados. WCF inclui um sistema completo para trabalhar com os dados dessa maneira fácil. Depois de ter criado as classes que representam os dados, o serviço gera automaticamente os metadados que permite que os clientes cumpram os tipos de dados que você projetou.
  • Segurança As mensagens podem ser criptografadas para proteger a privacidade e pode exigir que os usuários se autentiquem antes de serem autorizados a receber mensagens. A segurança pode ser implementado usando padrões bem conhecidos, como SSL ou SecureConversation.
  • Múltiplos Transportes e codificações Mensagens podem ser enviadas em qualquer um dos vários protocolos built-in de transporte e codificações. O protocolo mais comum de codificação e consiste em enviar mensagens de texto codificado SOAP usando o HyperText Transfer Protocol (HTTP) para uso na World Wide Web. Alternativamente, o WCF permite que você envie mensagens sobre TCP, pipes , ou MSMQ. Estas mensagens podem ser codificadas como texto ou usando um binário de formato otimizado. Os dados binários podem ser enviados de forma eficiente usando o padrão MTOM. Você pode criar o seu próprio transporte personalizado ou codificação.
  • ConfiabilidadeO WCF suporta troca de mensagens de módo confiável usando sessões executando durante o WS-Reliable Messaging e usando MSMQ.
  • Mensagens duráveis Uma mensagem durável é aquela que nunca se perde a longo ou sob uma queda de conexão. Em um padrão de mensagem WCF são sempre guardadas num banco de dados. Se uma interrupção ocorre, o banco de dados permite retomar a troca de mensagens quando a conexão for restabelecida. Você pode também criar uma mensagens duráveis usando o Windows Workflow Foundation (WF).
  • Transações WCF também suporta transações usando uma operação de três modelos: WS-AtomicTtransactions, as APIs do System.Transactions, e Microsoft Distributed Transaction Coordinator.
  • AJAX e Suporte REST REST é um exemplo de uma evolução da Web 2.0. WCF pode ser configurado para processar “plain XML” que não está envolvido em um envelope SOAP ou também pode ser estendido para dar suporte XML formatos específicos, tais como o AtomicT (um padrão RSS), e até formatos não-XML, como JavaScript Object Notation (JSON).
  • Extensibilidade A arquitetura WCF tem uma série de pontos de extensibilidade. Se a capacidade extra é necessária, há um número de pontos de entrada que lhe permitem personalizar o comportamento de um serviço.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s