Artigo Clube Delphi Edição 27 - Web Services: dos conceitos à implementação

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Este artigo apresenta, em duas partes, uma visão aprofundada do desenvolvimento de Web Services usando o Delphi 6 e Kylix 2. Nesta parte, passamos dos conceitos à criação de um serviço com acesso a dados.

Esse artigo faz parte da revista Clube Delphi edição 27. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Web Services: dos conceitos à implementação

Parte 1 – Fundamentos, interfaces e exceções

Este artigo apresenta, em duas partes, uma visão aprofundada do desenvolvimento de Web Services usando o Delphi 6 e Kylix 2. Neste parte, passamos dos conceitos à criação de um serviço com acesso a dados.

O que são Web Services?

De acordo com o IBM Web Services Architecture team, Web Services são "aplicações modulares e independentes descritas, distribuídas, publicadas e solicitadas em uma rede TCP/IP, normalmente a Web".

Padronização

A padronização tem sido a chave para o sucesso e aceitação instantânea da tecnologia de Web Services. São usados apenas protocolos e tecnologias abertas, padronizadas e de ampla aceitação, tais como HTTP, XML e SOAP. Com isso, temos em mãos uma importante ferramenta de integração entre sistemas heterogêneos e distribuídos.

Integração

Veja na Figura 1 um exemplo de como aplicações heterogêneas podem ser integradas usando Web Services. Embora já existisse a necessidade de integração entre sistemas há muito tempo, sua implementação era demasiadamente complexa e cara. A falta de um modelo único, sólido e padronizado, tornava o código difícil de ser mantido, devido à grande mistura de tecnologias e metodologias empregadas. Esse problema não se restringia apenas a aplicações distribuídas, mas também àquelas implementadas com acesso a diferentes bancos de dados cliente/servidor. Volta e meia, nos envolvemos com códigos para contornar a falta de padronização entre as versões da linguagem SQL implementadas, por exemplo.

Arquitetura dos Web Services

 

Figura 1. Web Services permitem a integração de sistemas heterogêneos

 

Na Figura 2 observamos três funções básicas envolvidas no funcionamento dos Web Services. Aqui, um provedor de serviços (service provider) deve publicar seus serviços num agenciador  de serviços (service broker), para que um cliente de serviços (service requester) possa localizar o serviço desejado e conectar-se a este para usá-lo.


Figura 2. Funções básicas na arquitetura

 

WSDL – Web Services descrevem seus serviços através da linguagem WSDL – Web Service Definition Language. Assim, os clientes podem obter informações, de forma padronizada, sobre os serviços que usarão, tais como os métodos e seus parâmetros. Isso é muito útil quando se está codificando serviços que serão usados por terceiros ou implementando clientes que usam serviços de outras empresas. No caso particular do Delphi, podemos usar um wizard para importar essas informações e criar automaticamente as units com as definições dos serviços oferecidos pelo servidor (como veremos na Parte 2 deste artigo). Na Figura 3 vemos o que acontece por trás da requisição de um método pelo cliente.

Figura 3. Solicitações e respostas com Web Services

 

SOAP – A solicitação de um método é codificada usando o padrão SOAP – Simple Object Access Protocol – e transmitida ao servidor usando o protocolo HTTP. O servidor decodifica e resolve qual ação tomar, basicamente que método chamar e os parâmetros a passar. Logo após a execução da ação requerida, o retorno é codificado também usando SOAP e enviado de volta ao cliente. O cliente recebe e decodifica a resposta e passa-a como retorno da chamada ao método.

Web Services,  DCOM ou CORBA?

Quando se começa a discutir sobre Web Services é inevitável o questionamento sobre o porquê de seu uso no lugar de outras tecnologias já existentes como DCOM e CORBA. Vou apontar algumas vantagens no uso de Web Services.

 

Simplicidade – A comunicação entre clientes e servidores é feita através de SOAP, sobre o HTTP. Isso torna leve o processo e elimina problemas com relação a proxy ou firewalls e encontrados com o DCOM e CORBA.

 

Escalabilidade - Com Web Services, a escalabilidade é muito grande. Ou seja, com uma mesma configuração de hardware pode-se atender a um número muito maior de requisições. Isso porque diferentemente das outras opções, não são mantidas conexões permanentes nem armazenadas informações sobre objetos entre uma requisição e outra, seguindo o padrão stateless.

 

Custo baixo – Para a localização de Web Services é usado o familiar conceito de URL, facilitando bastante as integrações. Não há necessidade de aquisição e instalação de software adicional para o suporte à tecnologia, como acontece com o CORBA e com o DCOM"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?