Web Services PDF
Document Details
Uploaded by Deleted User
Instituto Politécnico de Gestão e Tecnologia
Arnaldo Pinheiro
Tags
Summary
This presentation discusses web services, focusing on SOAP and REST technologies. It details their functionalities, differences, and use cases, along with their underlying mechanisms.
Full Transcript
Web Services Introdução Um dos principais usos que, hoje em dia, podemos dar à World Wide Web é o acesso interativo a documentos e aplicações. Estes acessos podem ser realizados por utilizadores humanos, através de browsers, players (áudio/vídeo) ou qualquer outro sistema, quer por máquinas, ao des...
Web Services Introdução Um dos principais usos que, hoje em dia, podemos dar à World Wide Web é o acesso interativo a documentos e aplicações. Estes acessos podem ser realizados por utilizadores humanos, através de browsers, players (áudio/vídeo) ou qualquer outro sistema, quer por máquinas, ao desenvolver-se a capacidade de aplicações comunicarem autonomamente entre si, mesmo que elas pertençam a diferentes programas e diferentes sistemas. Arnaldo Pinheiro IS – Web Service A Wikipédia define os web-services como sendo:...uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web Services são componentes que permitem às aplicações enviar e receber dados. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, um formato intermediário como XML, Json, CSV, etc. Arnaldo Pinheiro IS – Web Service Tecnologia SOAP SOAP é um protocolo padrão que foi projetado pela primeira vez para que aplicações construídas com diferentes linguagens e em diferentes plataformas pudessem comunicar. Por ser um protocolo, impõe regras internas que aumentam a sua complexidade, o que pode levar ao carregamento de página com tempos mais longos. No entanto, esses padrões oferecem conformidades internas que podem torná-lo preferível para cenários corporativos. Quando uma solicitação de dados é enviada para uma API SOAP, ela pode ser tratada por meio de qualquer um dos protocolos da camada de aplicativo: HTTP (para navegadores da Web), SMTP (para e-mail), TCP e outros. No entanto, depois que uma solicitação é recebida, as mensagens SOAP de resposta devem ser retornadas como documentos XML — uma linguagem de marcação legível por humanos e por máquina. Arnaldo Pinheiro IS – Web Service Descrição do web service com WSDL A descrição do Web service é feita através de um arquivo WSDL - Web Services Description Language, cujo formato é XML e descreve o que o serviço faz, como o faz e onde esse serviço começa e termina. Este arquivo tem como objetivo descrever a interface do serviço, ou seja: os métodos que são disponibilizados pelo Web Service, os parâmetros recebidos, a resposta enviada e ainda o processo de comunicação com o servidor SOAP. Um cliente SOAP vai ler a estrutura do arquivo WSDL e, a partir dos dados ali referenciados, pode comunicar com o servidor SOAP para acesso ao serviço descrito. Arnaldo Pinheiro IS – Web Service Comunicação com o Web service por SOAP Para ativar ou obter um serviço é necessário comunicar-se com o Web Service. Os Web Services que utilizam o protocolo SOAP para a transmissão da mensagem utiliza um mecanismo conhecido como, mensagem SOAP. A mensagem SOAP é formada como um documento XML composto de três elementos: um cabeçalho, o corpo da mensagem e um invólucro chamado de envelope, que encapsula os dois primeiros elementos e que contém dados sobre versão e formato da mensagem. Através do SOAP é que os métodos dos Web Services são chamados e as respostas, em XML, encaminhadas ao cliente que solicitou o serviço. Arnaldo Pinheiro IS – Web Service Tecnologia REST REST (Representational State Transfer) é mais um estilo de arquitetura e não tanto um protocolo e é definida por um conjunto simples de restrições e recursos, que impõe condições sobre como uma API deve funcionar. Os recursos são identificados por um localizador e uma representação interna de dados, numa variedade de tipos como JSON, XML ou Texto. Uma API REST é uma interface de programação de aplicação (API) que usa solicitações HTTP para aceder e usar dados. Esses dados podem ser usados para os tipos GET, PUT, POST e DELETE, que se referem à leitura, atualização, criação e exclusão de operações relativas a recursos. Um aspeto essencial das arquiteturas REST é que elas são stateless. O servidor não pode manter nenhum contexto de cliente entre transações, e toda transação deve conter todas as informações necessárias para satisfazer a solicitação em particular. Arnaldo Pinheiro IS – Web Service SOAP vs REST SOAP é um protocolo de transferência de mensagens em formato XML para uso em ambientes distribuídos. O padrão SOAP funciona como um tipo de framework que permite a interoperabilidade entre diversas plataformas com mensagens personalizadas. Aplicando este padrão em Web Services, geralmente usa-se o WSDL para descrever a estrutura das mensagens SOAP e as ações possíveis num ponto terminal. Uma das maiores vantagens disso é que várias linguagens e ferramentas conseguem ler e gerar mensagens facilmente. O problema desse padrão, é que adiciona uma sobrecarga considerável, tanto por ser em XML quanto por adicionar muitas tags de meta-informação. Arnaldo Pinheiro IS – Web Service O REST, uma arquitetura de comunicação que não impõe restrições ao formato da mensagem, apenas no comportamento dos componentes envolvidos. A maior vantagem do protocolo REST é sua flexibilidade. O desenvolvedor pode optar pelo formato mais adequado para as mensagens do sistema de acordo com sua necessidade específica. Os formatos mais comuns são JSON, XML e texto puro, mas em teoria qualquer formato pode ser usado. Uma outra vantagem é a rapidez atendendo a que os Web Services que usam REST são mais "leves", no entanto, como a definição do corpo de dados fica totalmente a cargo do desenvolvedor, os problemas de interoperabilidade são mais comuns. Arnaldo Pinheiro IS – Web Service SOAP ou REST? Em geral, SOAP é uma boa opção para instituições com padrões rígidos e ambientes complexos (várias plataformas e sistemas). Muitas ferramentas corporativas tiram vantagem do padrão e possibilitam filtragem, classificação e redireccionamento das mensagens trocadas entre sistemas. No restante, para uso no dia-a-dia, há autores que recomendam usar REST e JSON. Praticamente todas as plataformas e linguagens modernas existentes suportam esses conceitos e a solução final é muito mais simples do que o equivalente em SOAP. Além disso, integrações com alto volume de requisições são inviáveis em SOAP. O REST é capaz de atender ao volume e à complexidade sem dificuldades, exigindo apenas um mínimo de experiência do desenvolvedor para estabelecer e reforçar os padrões adequados. Arnaldo Pinheiro IS – Web Service SOAP REST Protocolo para comunicação entre Arquitetura para projetar interfaces de aplicações comunicação A API SOAP expõe a operação A API REST expõe os dados O SOAP é independente e pode funcionar O REST funciona somente com HTTPS com qualquer protocolo de transporte O SOAP é útil em aplicações legadas e O REST é útil em aplicações modernas e APIs privadas APIs públicas Arnaldo Pinheiro IS – Web Service