Esse artigo faz parte da revista SQL Magazine edição 63. Clique aqui para ler todos os artigos desta edição

s). Porém, e poucos sabem disso, Web Services também podem ser criados dentro de um banco de dados, como o SQL Server 2005. Isso possibilita que aplicações que não suportam provedores SQL Server possam consultar os dados, e aplicações remotas acessem o banco utilizando o protocolo de comunicação HTTP.

Para a criação desses Web Services, são utilizados os Endpoints, que são objetos que representam a comunicação entre um servidor e uma aplicação  cliente. O próprio SQL Server 2005 cria quatro endpoints automaticamente na sua instalação, sendo um para cada protocolo: TCP/IP, Shared Memory, Named Pipe e VIA, que serão utilizados na transmissão de dados entre cliente/servidor.

O presente artigo tem como objetivo descrever como ocorre a criação de um endpoint, permitindo que aplicações acessem aos dados via internet utilizando o protocolo de comunicação HTTP. Para tal objetivo, será definido um cenário de exemplo para que este assunto seja melhor compreendido.

 

O Que São e Como Funcionam os Web Services?

De forma resumida podemos definir Web Services como uma tecnologia capaz de prover a comunicação entre os mais diversos tipos de aplicações através da Internet. Esta comunicação é padronizada, possibilitando assim uma interoperabilidade de plataformas e de linguagens de programação. Eles representam um fragmento de informação que pode ser acessado por qualquer um, em qualquer lugar, utilizando qualquer tipo de dispositivo. A Figura 1 demonstra a interação entre dois aplicativos diferentes, onde a forma de comunicação entre elas é através de um Web Service.

 

Figura 1. Interoperabilidade entre sistemas

 

Como podemos visualizar na Figura 1, temos dois computadores com sistemas operacionais diferentes e em plataformas de desenvolvimento distintas. Estes computadores conseguem se comunicar por utilizarem o mesmo padrão de comunicação pela Internet, podendo assim trocar informações. Este padrão de comunicação é definido pelo W3C, que é o órgão responsável em desenvolver os padrões para a criação e a interpretação dos conteúdos da Web.

O fraco acoplamento aos clientes é uma das principais características dos Web Services. Um cliente faz uma solicitação a um Web Service, que por sua vez retorna o resultado e assim a conexão é encerrada. Não existe uma conexão permanente. O Web Service pode estender sua interface; adicionar novos métodos e parâmetros sem afetar os clientes e ao mesmo tempo ainda servir os antigos métodos e parâmetros.

A arquitetura do Web Service é baseada em três papéis:

·        Provedor de serviços: é quem cria o Web Service. Responsável em disponibilizar os serviços para que alguém possa utilizá-los. Ele deve descrever o serviço em um formato padrão de forma que este seja compreensível a todos que desejam utilizá-lo. Além disso, deve publicar os detalhes sobre o Web Service em um registro central que esteja disponível.

·        Consumidor de serviços: é que irá utilizar o Web Service criado pelo provedor de serviços. Este conhece as funcionalidades do Web Service, a partir da descrição fornecida pelo provedor de serviços, recuperando os seus detalhes através de uma pesquisa sobre o registro publicado.

·        Registros de serviços: é a localização central onde o provedor de serviços pode listar seus Web Services, e no qual um consumidor de serviços irá pesquisar. O registro de serviços contém informações referentes aos detalhes sobre uma empresa, quais os serviços que ela fornece e a descrição técnica de cada um deles.

 

Os Web Services centralizam informações e serviços que podem ser utilizados pelos mais diversos tipos de aplicações, possibilitando a interação e colaboração em tempo real com os dados. Um Web Service possui a facilidade de prover serviços agregados, ou seja, agregar diferentes tipos de serviços, incluindo outros Web Services, serviços de acesso usando protocolos proprietários, dentre outros.

Agora que já conhecemos o que são os Web Services, iremos conhecer os Endpoints, que são o foco principal deste artigo.

 

O que são Endpoints?

Endpoints são objetos capazes de expor Stored Procedures e funções criadas pelo usuário (ver Nota Devman 1) como se estes fossem serviços. Isso significa que os aplicativos não irão executar uma Stored Procedure ou função, mas sim acessar um serviço que será responsável em retornar os resultados para usuário em um formato XML (Extensible Markup Language) ou outro. Estes serviços são identificados por uma URI (UniqueResource Identifier) e são descritos e definidos usando XML, disponibilizando assim serviços interativos na Web que poderão ser acessados das mais diferentes aplicações.

 

Nota Devman 1. Stored Procedure e Função Definida pelo Usuário

Stored Procedure (SP) é uma coleção de comandos em SQL em um Banco de dados. Serve para encapsular tarefas repetitivas. Ela aceita parâmetros de entrada e retorna um valor de status (para indicar aceitação ou falha na execução). Uma SP pode reduzir o tráfego na rede, melhorar o desempenho, criar mecanismos de segurança, dentre outros benefícios.

...

Quer ler esse conteúdo completo? Tenha acesso completo