Introdução aos serviços RESTful com WCF – Mobile Application Development, Web Services, SOA Architecture - Tecnologia
Ir para o conteúdo

Introdução aos serviços RESTful com WCF – Mobile Application Development, Web Services, SOA Architecture

  • por

Anúncios

Em primeiro lugar, os serviços RESTFUL seguem um estilo de arquitetura conhecido como Representational State Transfer (REST). Um estilo de arquitetura é um conjunto de restrições que podem ser aplicadas ao construir algo. E um estilo de arquitetura de software é algo que descreve as características que podem ser usadas para orientar a implementação de um sistema de software. REST é um estilo de arquitetura que pode ser usado para construir software no qual os clientes (agentes do usuário) podem fazer solicitações de serviços (endpoints). REST é uma maneira de implementar um estilo de arquitetura cliente/servidor; na verdade, REST é explicitamente baseado no estilo de arquitetura cliente/servidor.

Um homem chamado Roy Thomas Fielding cunhou pela primeira vez o termo REST como um conceito em sua dissertação de doutorado (“Architecture Styles and the Design of Network-Based Software Architectures”). Ele foi uma das pessoas que trabalhou na especificação que dirige a maior parte da Internet hoje: Hypertext Transfer Protocol (HTTP) Normalmente, o histórico das pessoas que descrevem um estilo de arquitetura não é relevante para uma explicação do estilo, mas aqui EU ACHO é importante porque ACREDITO que uma das melhores maneiras de obter uma compreensão básica do REST é pensar sobre a Web e como ela funciona.

WCF e REST

O WCF é a estrutura da Microsoft para criar aplicativos que se comunicam por uma rede, independentemente do protocolo ou estilo. O conceito do WCF era criar uma estrutura extensível e conectável para aprender informações sobre um modelo de programação e configuração, para que os desenvolvedores pudessem aplicar esse conhecimento a muitos tipos diferentes de sistemas distribuídos.

Embora seja verdade que grande parte do WCF é orientado para RPC (usando SOAP), ele realmente teve a chance de expor e consumir serviços REST desde que foi lançado pela primeira vez como parte do .NET Framework 3.0. Com o assembly System.ServiceModel.Web do .NET Framework 3.5 foi adicionado um modelo de programação e também algumas peças de infraestrutura que foram construídas para funcionar com o estilo REST. E o .NET Framework 3.5 SP1 adiciona algumas pequenas melhorias para tornar o REST mais fácil de usar..

O modelo de programação gira em torno de dois novos atributos, WebGetAttribute e WebInvokeAttribute, e um mecanismo de modelo de URI que permite declarar o URI e o verbo ao qual cada método responderá. A infraestrutura é incluída na forma de uma associação (WebHttpBinding) e um comportamento (WebHttpBehavior) que fornecem a pilha de rede correta para usar REST. Além disso, há alguma ajuda de infraestrutura de hospedagem de um ServiceHost personalizado (WebServiceHost) e um ServiceHostFactory (WebServiceHostFactory).