Este artigo aborda o consumo de WebServices através de aplicações desenvolvidas no Delphi XE 2, utilizando a plataforma FireMonkey ou a VCL. Em um primeiro momento é apresentado um exemplo de como consumir WebServices utilizando o componente HTTPReqResp e posteriormente o mesmo serviço utilizando HTTPRIO. Para concluir é demonstrado como acessar páginas da Web e preencher formulários através da aplicação.
Em que situação o tema é útil
Possibilitar a integração de uma aplicação de usuário com serviços disponibilizados na Internet para consultar e obter as informações desejadas, utilizando mensagens padrões SOAP, a base para o uso dos WebServices.
WebServices
A Internet é um ambiente que oferece as mais variadas informações e possibilidades de comunicação para as pessoas e as organizações. Sendo assim, tal tecnologia pode ser empregada para prover diversos serviços automatizados às aplicações de usuário, utilizando padrões pré-definidos, possibilitando assim a implantação dos WebServices. Atualmente eles são muito comuns, uma vez que permitem agilizar e automatizar as mais variadas tarefas. O Delphi conta com diversos componentes que podem ser utilizados tanto na elaboração quanto no acesso a WebServices, bem como objetos que podem ser utilizados para a troca de informações entre aplicações que se encontram em uma rede interna. Este artigo apresenta o exemplo do consumo de um WebService para obter a temperatura de determinado local de duas maneiras, utilizando HTTPReqResp e HTTPRIO, abordando também o uso do documento WSDL.
Atualmente a Internet é um dos meios de comunicação mais utilizados no mundo, uma vez que está presente no cotidiano de grande parte das pessoas. Ela torna possível e viável a troca das mais diversas informações entre entidades que estão distantes umas das outras com uma velocidade considerável. O WebService é um recurso que utiliza esta mesma base para prover os mais diversos serviços através da Internet, gratuitos ou pagos. Ele é um sistema autossuficiente que recebe a solicitação de uma aplicação cliente, processa e retorna uma resposta com relação a tal requisição de uma maneira automática. Por ser baseado em padrões comuns, mais especificamente nas tecnologias HTTP (HyperText Transfer Protocol) e XML (Extensible Markup Language), permite a integração e troca de dados entre os mais variados ambientes e plataformas, porém vale à pena evidenciar que um WebService não é direcionado a oferecer uma interface gráfica para visualização das informações por parte dos usuários, mas sim atender as requisições efetuadas pelas aplicações clientes.
O WebService utiliza uma implementação do protocolo SOAP (Simple Object Access Protocol) que é um padrão da W3C, provendo serviços que podem ser utilizados pelos desenvolvedores na elaboração das aplicações, permitindo assim a chamada de métodos através da linguagem XML. O SOAP é um protocolo que foi projetado para a chamada de aplicações remotas com base em RPC (Remote Procedure Calls), assim como a troca de dados entre as entidades envolvidas. Ele possui diversas versões e é baseado em XML, onde deve ser utilizado em conjunto com o protocolo HTTP para possibilitar o transporte dos dados. Contudo, existe um isolamento entre o banco de dados e os serviços, uma vez que os dados são encapsulados pelo protocolo SOAP.
Para conhecer os serviços ou métodos disponibilizados pelo WebService, é utilizado um documento XML padronizado de acordo com o WSDL (Web Service Description Language). Ele disponibiliza detalhes do funcionamento dos serviços e normalmente é público. Para ser acessado e identificado, assim como outros recursos da Internet, o WebService possui uma URL (Uniform Resource Locator), que é simplesmente o endereço do mesmo.
A implementação de um WebService pode ser efetuada sobre as mais diversas tecnologias, inclusive através do Delphi. O WebService pode ser baseado em ASP (Active Server Pages) e classes .NET, Tomcat e framework Axis, PHP e módulo SOAP Extension, dentre outros ambientes. O Tomcat é muito conhecido e utilizado pelos desenvolvedores Java para a criação de servidores para páginas de Internet no formato JSP (Java Server Pages) e consequentemente, WebServices. Já o Axis é um grupo de ferramentas que provê diversas funcionalidades para a elaboração de um WebService, como a implementação do protocolo SOAP. Evidentemente, um WebService também pode estar interligado a uma base de dados interna para prover as consultas solicitadas.
Quanto à questão de segurança, o WebService pode ser desenvolvido com a utilização de SSL (Secure Socket Layer), o que possibilita a autenticação de usuários, a privacidade dos serviços oferecidos e a integridade das informações. Normalmente o mecanismo de segurança adotado para WebServices é o SSL sobre HTTP, denominado HTTPS (HyperText Transfer Protocol Secure). Contudo, tal mecanismo é um pouco mais lento que as implementações normais em HTTP. Também podem ser utilizadas assinaturas digitais para garantir a integridade de arquivos baseados em XML (XML Signature). Tal padrão também foi definido pela W3C e possui diversas vantagens, pois também são independentes da plataforma.
...Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.