web services tutorial
Este tutorial de serviços da web explica a arquitetura, os tipos e os componentes de um serviço da web, juntamente com terminologias importantes e as diferenças entre SOAP e REST:
Nisso Série completa de tutoriais de teste de API , nós exploramos tudo sobre Teste de API em nosso tutorial anterior. Siga este tutorial para se familiarizar com WSDL e UDDI e como eles armazenam e definem um serviço da web.
Este tutorial também explicará como os serviços da Web funcionam internamente quando um aplicativo cliente faz uma solicitação. WSS, que é outro conceito muito importante de serviços SOAP, também é explicado aqui.
O que você aprenderá:
Terminologias importantes em testes de serviços da Web
Antes de começarmos a explorar os Web Services, devemos estar familiarizados com os termos importantes usados no Web Services Testing.
Vamos começar!!
# 1) Interoperabilidade
Os serviços da Web suportam “One Code Different Applications”. Isso significa um código genérico para todos os aplicativos em diferentes plataformas.
Portanto, a interoperabilidade é o processo que facilita a comunicação de vários aplicativos com outros aplicativos que residem em uma plataforma diferente.
# 2) Autenticação e autorização
Eles são usados principalmente em SOAP Web Services. Em termos gerais, Autenticação significa validar algo, enquanto Autorização significa conceder / ter o direito de acessar algo.
Por exemplo - Se eu tiver uma página no Facebook, posso ser tratado como um usuário autenticado do Facebook. Considerando que, se você tem o direito de ver minhas fotos no Facebook, então você é um usuário autorizado.
Combinando esses dois, podemos dizer que “Todos os usuários autenticados que têm acesso aos recursos são conhecidos como Usuários autorizados para esses recursos”.
A mesma coisa acontece em Web Services, ou seja, o ID do usuário e a senha que é usada para gerar o token cobre a parte de autenticação e este token que será usado no envio de uma solicitação ao servidor da web cobre a parte de autorização.
# 3) Arquitetura Loosely Coupled
Os serviços da Web são baseados na Arquitetura Loosely Coupled. Isso significa que as interfaces dos Web Services são dinâmicas (mudanças durante uma determinada linha do tempo) por natureza. Mas a lógica do cliente não precisa necessariamente mudar durante a interação com o serviço.
Isso facilita a integração de vários softwares de forma mais eficiente. Se fosse uma arquitetura Tightly Coupled, cada vez que a interface fosse alterada, a lógica do cliente teria que ser alterada para sincronizá-la com o serviço.
# 4) Artefato
É um termo usado em Web Services para denotar informações ou dados. Não se trata de todos os dados, mas de um pedaço de informação que pode incluir um URL ou URI, chave de contexto, chave de documento, carga útil ou imagens de suporte.
# 5) Ponto Final
Este é um termo muito comum que é usado em todas as solicitações do serviço da web. Este é o URL completo que acessa a instância do Web Service.
Por exemplo - https://www.facebook.com/imsaket -> este é o URL completo ou terminal que tem facebook.com como o URL e “imsaket” é passado como uma chave de contexto para identificar exclusivamente um endereço específico.
qual é o melhor site de download de mp3 de graça
# 6) Idempotente
É na interação cliente-servidor em que não importa quantas vezes você acerta a instância do serviço, e o servidor sempre retornará a mesma resposta ao cliente.
# 7) Marshalling e Demarshalling
Como sabemos, o encapsulamento é um princípio OOPS que é definido como agrupamento de código e dados em um. A mesma coisa acontece em SOAP Web Services. Quando agrupamos ou encapsulamos dados em carga útil (XML) para formar uma mensagem SOAP e enviá-la ao servidor, esse processo de encapsulamento é chamado de Marshalling.
Demarshalling é apenas a recíproca de Marshalling. O método de desencapsular ou desembrulhar dados e código (XML) da mensagem SOAP é chamado de “Demarshalling”.
O que é um serviço da Web?
Conforme discutido anteriormente, os serviços da Web são os serviços que atendem de uma máquina para outra em uma rede.
Exemplo de serviços da Web: AWS (Amazon Web Services), que permite aos usuários online visualizar os preços de diferentes itens vendidos na Amazon.com e Amazon.in
Componentes de serviços da Web
Abaixo estão listados os vários componentes dos Web Services.
# 1) SOAP
Os serviços da Web usam o protocolo SOAP (Simple Object Access Protocol), que usa XML como carga útil ou corpo de solicitação. Isto é um protocolo stateful pois não existe um método independente para o tipo específico de operação.
Todas as solicitações e respostas são transportadas de uma vez por meio de XML e nenhum método independente como GET, PUT, POST ou DELETE é fornecido explicitamente.
# 2) WSDL
Esta solicitação SOAP faz uso de Linguagem de descrição de serviços da Web (WSDL) que é um componente muito útil do Web Service.
Isso define onde o Web Service realmente reside e também o tipo de Web Service a ser escolhido para uma solicitação específica. Isso faz uso de um arquivo XML que descreve a funcionalidade do Web Service.
# 3) UDDI
Outro componente útil é UDDI . Isso significa descoberta e integração de descrição universal. Existe um provedor de serviços que fornece o Web Service. Conseqüentemente, para um provedor de serviços específico, este UDDI é usado para descrever, descobrir e publicar esses Web Services.
UDDI é responsável por permitir que um cliente descubra (UDDI fornece um repositório para WSDL) onde o arquivo XML do WSDL está localizado. É assim que um serviço da Web é definido e descrito.
# 4) XML-RPC
Significa Extensible Markup Language - Remote Procedure. Outro componente muito importante do Web Service é o XML - RPC que é responsável pelo envio de mensagens entre sistemas. As solicitações e respostas estão na forma de XML e são enviadas / recebidas por meio do HTTP POST.
O melhor recurso do XML-RPC é que um aplicativo cliente que reside em uma plataforma diferente pode se comunicar com um servidor diferente. Existe algo chamado JSON-RPC que foi explicado na última parte do artigo, pois não forma um componente de um Web Service.
A arquitetura de um serviço da Web
A arquitetura de um serviço da Web pode ser descrita no diagrama a seguir.
Como já sabemos, uma arquitetura típica de serviços da Web compreende três entidades, ou seja, um cliente, um servidor da Web e uma Internet para realizar a operação. A operação nada mais é do que a solicitação e a resposta em uma arquitetura cliente-servidor.
Um cliente é normalmente um conjunto de todos os aplicativos ou sistemas de software que solicita um serviço da Web, tornando-o um consumidor de serviço.
Um servidor web é um conjunto de todos os aplicativos ou sistemas de software que fornecem serviço web. Cada serviço da Web requer uma rede para funcionar e isso resulta na terceira entidade chamada Internet.
Esta é apenas uma visão geral da arquitetura de um Web Service.
O diagrama de trabalho de um serviço da Web é definido pelos três componentes mostrados abaixo.
- Solicitante de serviço (Find ())
- Provedor de serviços (publicar ())
- Registro de serviço ou repositório (Bind ())
Isso é explicado (em detalhes com o diagrama) na arquitetura do Serviço SOAP.
perguntas e respostas da entrevista do analista de negócios
Tipos de serviços da Web
Dois tipos de serviços da Web são explicados em detalhes a seguir.
# 1) Serviço SOAP
Serviço SOAP significa Simple Object Access Protocol. Os serviços SOAP são serviços com monitoração de estado que usam a linguagem XML para formar um envelope. Um envelope SOAP pode ser descrito em duas partes, ou seja, uma é um Cabeçalho e corpo SOAP , o outro é o protocolo usado para enviar mensagens SOAP.
Este cabeçalho SOAP consiste em autenticação e autorização que concede acesso. O corpo está incluído na seção de carga útil da solicitação, que usa WSDL para descrever o serviço da Web e o protocolo é principalmente HTTP (protocolo de transmissão de hipertexto).
Segurança de serviços da web
Os serviços SOAP possuem uma camada SSL (Secure Socket Layer) que é responsável por evitar qualquer vazamento de dados durante a transmissão e, portanto, fornece criptografia e descriptografia.
Enquanto isso, os serviços SOAP são mais seguros, pois também possui WSS (Web Services Security) que garante a não divulgação durante a comunicação entre o serviço e a aplicação.
Como todos sabemos, todo serviço da Web (ao contrário da API da Web), precisa de uma rede para realizar sua operação. Assim, torna-se necessário que os Web Services forneçam segurança quando conectados a uma rede. Portanto, os Web Services têm três entidades importantes para cobrir o fator de segurança durante a transferência de mensagens.
- Autenticação e autorização (Já explicado acima).
- Confidencialidade: Isso depende totalmente do SSL, que fornece criptografia e descriptografia do envelope SOAP.
- Segurança de rede: Isso significa extrair todas as respostas SOAP e XML - RPC que você obtém do servidor. Por exemplo, Se você pegar qualquer ferramenta de serviço da Web como POSTMAN ou PARASOFT, você descobrirá que no gerenciador de cabeçalho HTTP, há uma opção para definir o valor do Content-Type. O valor pode ser definido como Application / JSON para que extraia todos os REST (já que os serviços SOAP não oferecem suporte às opções do gerenciador de cabeçalho HTTP). Assim, você pode passar o tipo de conteúdo: Aplicativo / XML em um carga útil -se na forma de XML. Isso também extrairia SOAP e XML-RPC.
Esses três fatores constituem a segurança de serviços da Web para lidar com os ataques externos.
A Arquitetura do Serviço SOAP
Cada serviço SOAP depende de três entidades que, em última análise, formam a arquitetura do serviço SOAP.
- Provedor de serviço: Todos os sistemas de software ou aplicativos que fazem parte ou fornecem Web Service.
- Solicitante de serviço: Todos os sistemas de software ou aplicativos que fazem parte das solicitações de serviço da Web do provedor de serviços.
- Registro de serviço: Um registro ou repositório onde todas as informações sobre o serviço da Web são fornecidas pelo provedor de serviços. (Já discutido em UDDI)
Explicação
Essas três entidades interagem entre si para realizar uma implementação de serviço da Web com êxito. Isso é feito em três fases. A primeira fase é a Publicar() fase em que um provedor de serviços alimenta todos os detalhes sobre um serviço da Web em um registro ou repositório de serviços.
algoritmo de classificação de mesclagem c ++
A segunda fase é Achar() onde uma Solicitação de Serviço, principalmente o aplicativo cliente, encontra os detalhes sobre o Serviço da Web em um repositório (também possui um arquivo XML WSDL). A última fase é Vinculativo() onde o aplicativo cliente ou o solicitante de serviço sincroniza com o provedor de serviços para a implementação final do serviço web.
# 2) Serviço RESTful
REST significa Transferência de Estado Representacional, que é um Sem estado Serviço.
É chamado de Stateless porque o servidor Web não armazena nenhuma informação sobre a sessão do cliente (tempo de duração até que o aplicativo cliente seja conectado e em execução), o que significa que cada tipo de solicitação é tratado e executado facilmente com a ajuda de métodos embutidos REST como GET, POST, CUSTOM (PUT), DELETE, HEAD e assim por diante.
Na verdade, esses métodos não estão presentes no SOAP.
Método ou Verbos
Cada método em REST tem seu significado. Abaixo está o briefing sobre cada um deles.
- OBTER: Este método é usado para recuperar as informações que são enviadas ao servidor usando qualquer um dos métodos como PUT ou POST. Isso não tem um corpo de solicitação. A execução bem-sucedida fornecerá 200 objetos de resposta.
- PUBLICAR: Este método é usado para criar um documento ou registro usando um corpo de solicitação, URL especificada, chave de documento, chave de contexto, etc. O mesmo pode ser recuperado usando o método GET. A execução bem-sucedida dará a você uma resposta 201.
- POR: Isso está na opção CUSTOM que está disponível no POSTMAN ou PARASOFT. Este método é usado para atualizar qualquer documento ou registro que já esteja presente. A execução bem-sucedida dará a você uma resposta 201 ou 200.
- EXCLUIR: Este método é usado para excluir qualquer registro. A execução bem-sucedida dará a você uma resposta 204 (sem conteúdo).
Observação: Os códigos de resposta HTTP dependem de como os desenvolvedores codificam e podem ser manipulados às vezes. Listamos os códigos de resposta comuns que obtemos de cada tipo de método.
A arquitetura do serviço REST
A arquitetura do serviço REST depende de duas entidades, ou seja, Consumidor de Serviço ou Solicitante e Provedor de Serviço. O Consumidor do serviço é aquele que utiliza o serviço da web e o provedor de serviços é a coleção de software ou sistema que fornece o serviço da web.
O aplicativo cliente, que normalmente é um Consumidor de Serviço, usa métodos embutidos de REST, um URL ou URI, uma versão HTTP e uma carga útil (se compatível com o método).
SOAP vs REST
Embora esses dois tipos de serviços da Web sejam usados para realizar a solicitação e a resposta, eles são totalmente diferentes na maneira como operam.
Suas diferenças estão listadas para sua referência.
- O envelope SOAP pode ser usado no REST, mas não vice-versa. Por exemplo. Um token de usuário criado em SOAP pode ser transmitido na solicitação REST no gerenciador de cabeçalho HTTP -> Autorização.
- SOAP é normalmente mais seguro do que os serviços REST, pois os serviços SOAP fornecem WSS além do SSL. Este SSL está presente em SOAP e REST.
- SOAP é mais lento que REST, pois o processamento da solicitação leva mais tempo em SOAP devido ao formato de dados XML. O REST usa JSON, que é muito leve e, portanto, o torna mais rápido.
- SOAP não tem nenhum método embutido, mas REST tem GET, PUT, POST, etc.
- SOAP é com estado, enquanto REST é sem estado.
- Os corpos de solicitação e resposta em SOAP suportam apenas o formato de dados XML. No REST, os corpos de solicitação e resposta suportam muitos formatos de dados como JSON, XML, Texto Simples, etc.
Conclusão
Este tutorial de Web Services explicou a arquitetura, os componentes e os tipos de Web Services.
Também aprendemos sobre as diferenças entre os serviços SOAP e REST, junto com outros conceitos e terminologias importantes relacionados aos serviços da web.
Esperamos que este tutorial tenha ajudado você a entender os Serviços da Web !!
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Tutorial Python DateTime com exemplos
- Tutorial Java SWING: Container, Componentes e Manipulação de Eventos
- Tutorial de injeção de HTML: tipos e prevenção com exemplos
- Tutorial de script de shell Unix com exemplos
- Selenium Encontrar Elemento por Tutorial de Texto com Exemplos
- Tutorial da função principal do Python com exemplos práticos
- Tutorial de Teste Pairwise ou Teste All-Pairs com ferramentas e exemplos
- Tutorial de teste de configuração com exemplos