soap vs rest difference
Este tutorial explica os serviços SOAP e REST na Parasoft. Você aprenderá sem estado versus com estado, segurança de SOAP sobre REST, por que REST é mais rápido que SOAP, etc .:
Também cobrimos solicitações de amostra e a resposta de SOAP e REST no formato XML e JSON, respectivamente.
No final deste tutorial, você será capaz de escrever seus programas JSON que foram explicados com diferentes programas de exemplo junto com o Caminho JSON ou JSON Evaluator e o conceito de Chaves de Documento da Parasoft.
=> Confira a série completa de tutoriais SOATest aqui .
Este tutorial também descreve os diferentes verbos que são usados na Parasoft ou SOAtest Automation Tool junto com os exemplos de programação e seus respectivos códigos de resposta HTTP e usos. Você será capaz de entender como construir seus SOAtest Suites de uma maneira melhor, o que será abordado em detalhes em nosso próximo tutorial.
Você também pode tentar responder às perguntas listadas na parte inferior depois de concluir este tutorial.
O que você aprenderá:
O que é o serviço SOAP?
SOAP significa Simple Object Access Protocol . Os protocolos nada mais são do que um conjunto de regras que você define para um teste. É um protocolo “state-full”, ao contrário do REST, que envolve o uso de WSDL (Web Services Description Language) para descrever os serviços da web.
Todas as solicitações e respostas em SOAP são feitas em XML (Extensible Markup Language). SOAP é mais seguro quando comparado a sua contraparte. Ele não fornece nenhum processamento independente para métodos diferentes e é por isso que é chamado de protocolo “state-full”.
Por que o SOAP é mais seguro?
Embora SOAP e REST ofereçam suporte a SSL (Secure Socket Layer) para proteção de dados, ao fazer a solicitação, o SOAP oferece suporte a Web Services Security (também conhecido como WS-Security ou WSS) para proteção de nível empresarial que está ausente nos serviços REST. Segurança de serviços da web (WS-Security, WSS) é uma extensão do SOAP para aplicar segurança aos serviços da web.
Um corpo de solicitação de amostra de SOAP
Parasoft TUP true
Temos um XML que será usado como carga útil para formar o corpo da solicitação do SOAP. Qualquer linguagem XML consiste na versão que deve ser definida na parte superior do script. Você não precisa se preocupar com as tags, pois todos os arquivos XML permitem que você crie suas tags, ao contrário do HTML.
Se você está tentando gerar os tokens por meio de uma solicitação SOAP, basta fornecer os parâmetros necessários, como id de usuário e senha, junto com a URL que está acessando no corpo da solicitação ou o XML em suas tags personalizadas.
Dada a seguir está a imagem do visualizador de tráfego da Parasoft (um componente que permite ver o resultado).
(imagem fonte )
Recursos proeminentes do SOAP
Listados abaixo estão alguns dos recursos proeminentes do SOAP:
# 1) Qualquer envelope SOAP pode ser usado em serviços REST como token gerado, mas não vice-versa. Isso significa que, se você criou um token usando SOAP, esse token pode ser usado em REST (na seção do gerenciador de cabeçalho HTTP => Autorização). Mas você não pode usar envelopes REST em uma solicitação SOAP.
#dois) SOAP é mais seguro do que REST, pois usa WS-Security para transmissão junto com Secure Socket Layer.
# 3) SOAP usa apenas XML para solicitação e resposta. Não usa texto simples ou outro.
# 4) SOAP tem estado completo (não sem estado), pois leva a solicitação inteira como um todo, ao contrário do REST, que fornece processamento independente de métodos diferentes. Nenhum processamento independente existe no SOAP.
O que é o serviço REST?
REST significa Transferência de Estado Representacional . REST é uma arquitetura “sem estado” que envolve vários métodos ou verbos ao lidar com solicitações e respostas.
Todas as solicitações e respostas em REST são feitas em XML, JSON (JavaScript Object Notation) ou Texto Simples. REST é mais rápido do que SOAP devido ao envolvimento de JSON (que é leve) na solicitação / carga útil de REST.
Cada método é processado de forma independente no REST, por isso é chamado de arquitetura “stateless”.
Por que o REST é mais rápido?
A natureza sem estado do REST o torna mais rápido do que um SOAP. Cada verbo é processado de forma independente e faz uso do objeto JSON, que é muito mais rápido ao percorrer qualquer campo específico em um documento que contém mais de um milhão de registros.
Antes de começarmos com os métodos usados em REST, precisamos saber sobre o caminho JSON e JSON, pois é o formato mais comum de transmissão de dados em REST.
O que é JSON?
JSON significa JavaScript Object Notation. É um formato comumente usado no cliente REST.
É autodescritivo e fácil de entender. Você apenas precisa passar seu JSON na seção de carga útil do método REST. É um formato de intercâmbio de dados leve que permite que os serviços REST sejam muito mais rápidos, mesmo se estiver lidando com um milhão de registros.
Programação com JSON
Abaixo está um programa de amostra com apenas um documento denominado “telefone”.
(imagem fonte )
Este é o meu programa JSON de amostra no qual tenho que buscar o valor do meu tipo de telefone. Nesse cenário, você pode usar duas técnicas para passar por esse campo. Um é pelo caminho JSON e o outro é pela chave do documento.
# 1) Ao lidar com o caminho JSON, você pode usar dois métodos:
$.phone(:1).type $('phone')(':1')('type')
#dois) Como o Parasoft não permite o caminho JSON, podemos usar a chave do documento, que é um pouco simples ao percorrer. Basta passar a chave do documento junto com o URL na guia de recursos como
phone.type
Você só precisa clicar no botão Adicionar na imagem abaixo e inserir phone.type e pronto.
No exemplo a seguir, você deve percorrer o último elemento do campo de localização, que é uma matriz. Portanto, tente escrever um caminho JSON para ele.
perguntas de help desk para fazer aos usuários
Como você pode ver nos números de linha 37 e 39 (acima), dois caminhos JSON diferentes foram escritos para o mesmo atravessando para o último elemento do campo de localização. Da mesma forma, você pode criar seu JSON (um documento aninhado complexo) e tentar escrever o caminho JSON para fins de prática.
RESULTADO:
(“Helsingborg”)
Você pode tentar quantos JSON quiser, em um site aberto chamado Avaliador online JSON
Métodos / verbos em serviços de repouso
Os serviços REST fornecem uma ampla variedade de métodos que também são conhecidos como verbos para um tipo diferente de solicitação. Estes incluem principalmente POSTAR, COLOCAR, PATCH, OBTER, EXCLUIR, PERSONALIZAR .
PUBLICAR
Este método é responsável pela criação do registro. Após a execução bem-sucedida, o código de resposta HTTP é 201.
Abaixo está o JSON de amostra que ilustra o POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Quando passamos esse JSON como um corpo de solicitação, ele criará o documento com um código de resposta 201.
OBTER
Este é outro método ou verbo usado para recuperar o documento ou registro. Após a execução bem-sucedida de GET, o código de resposta será 200. Não contém nenhum corpo de solicitação ou carga útil.
Basta acessar a mesma URL usando o método GET na guia de recursos da Parasoft usando a chave do documento como “Teste”. Mesmo se você não passar nenhuma chave de documento, ele irá buscar o documento inteiro.
Digamos que passemos a chave do documento como “Test.Test2”, então ele irá buscar o seguinte registro.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
POR
Este método é usado para atualizar o documento e tem um código de resposta 200 após a execução bem-sucedida.
Embora POST e PUT não difiram muito e tudo depende do desenvolvedor de como eles desejam codificar. Principalmente, os desenvolvedores usam o método PUT quando desejam atualizar algum valor de campo.
Por exemplo: Se quisermos alterar algum valor no documento JSON acima inserido por POST, passaremos todo o corpo da solicitação com o valor atualizado usando o método PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Quando vemos a resposta no visualizador de tráfego, o valor do campo será atualizado como
“Plataforma”: “Windows atualizado”
PATCH (CUSTOM)
Este é outro método usado exclusivamente para atualizar o registro. A maioria dos desenvolvedores prefere esse método em vez do método PUT, pois ele faz o melhor uso dos recursos. Se você deseja atualizar algum valor de campo em seu documento, basta passar apenas esse campo com o valor atualizado do registro.
Digamos, se quisermos atualizar o registro POST, usaremos apenas o seguinte corpo de solicitação ao usar PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Como você notou, aqui não passamos os valores do campo “Teste”, ao contrário do método PUT. A execução bem-sucedida fornecerá um código de resposta 200 ou 201.
EXCLUIR
Como o próprio nome sugere, ele excluirá o registro, também conhecido como preferências. Ele não contém nenhum corpo de solicitação como GET e geralmente tem o código de resposta como 203 (Sem conteúdo). Se precisarmos deletar todo o documento no JSON acima, passaremos apenas a chave do documento como.
Test
Isso excluirá todo o documento. Se não passarmos a chave do documento, também apagará todo o documento.
Armadilhas do entrevistador
P # 1) A maioria dos entrevistadores tenta confundir quando perguntam que obtiveram um código de resposta de operação de exclusão bem-sucedido como 200 em vez de 204. Nesse tipo de situação, o que devo fazer? Devo relatar isso como um bug?
Responda: A resposta à pergunta acima é simples. Você não precisa criar um bug. Em vez disso, você pode falar com o desenvolvedor ou tentar observar a outra resposta da operação de exclusão. Um código de resposta 200 sempre denota a operação bem-sucedida e 204 é específico para DELETE. Pode haver uma chance de que os desenvolvedores usaram 200 para todas as operações bem-sucedidas.
P # 2) Como posso verificar se os valores de campo específicos estão corretos ou não sem usar um banco de dados em uma solicitação JSON de 1 milhão de linhas de código?
Responda: A resposta é enviando a chave do documento na operação GET. O URL de amostra terá a seguinte aparência:
https://resource-name.com/context-key/document-key
No URL acima, sua chave de contexto buscará exclusivamente aquele JSON específico de 1 milhão de registros e a chave do documento buscará o valor do campo específico nesse registro.
P # 3) Se eu não especificar nenhum nome de documento em cima do meu JSON, o que devo passar como uma chave de documento para buscar o documento inteiro?
Responda: Você pode passar qualquer coisa. Sim, exatamente. Se você não tiver nenhum nome de documento especificado e se houver apenas campos e valores presentes em seu documento, você pode passar qualquer valor de string. Essa string será tratada como sua chave de documento automaticamente.
Resumo
Agora, você deve ter uma boa ideia sobre os serviços da Web SOAP e REST, sua estrutura, as principais diferenças entre eles, seus recursos e uso.
Além disso, neste tutorial, cobrimos os métodos mais comuns / importantes (também conhecidos como verbos) que são usados nos serviços REST junto com a programação JSON e o caminho JSON para fins de avaliação.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Tutorial JSON: introdução e um guia completo para iniciantes
- Uma abordagem simples para XML para teste de banco de dados
- As 10 melhores ferramentas de teste de API em 2021 (ferramentas de teste de API SOAP e REST)
- Mais de 15 tutoriais SoapUI: a melhor ferramenta de teste de API de serviços da Web
- 7 recursos importantes do SoapUI e SoapUI Pro - Tutorial 2
- Como criar serviço simulado e resposta dinâmica em SoapUI
- Como criar um projeto REST no SoapUI Pro: Tutorial nº 13
- Processo de instalação e download do SoapUI passo a passo - Tutorial # 3 do SoapUI
- 45 principais perguntas e respostas da entrevista sobre serviços da Web (RESTful, SOAP, perguntas de segurança)