1

Web Service, SOAP e REST

#Arquitetura de Sistemas
Gustavo Sena
Gustavo Sena

Segue um resumo montado segundo o módulo Fundamentos de Arquitetura de Sistemas, espero que ajude no esclarecimento de dúvidas. Até logo!


O que é um Web Service?


São soluções para que aplicações se comuniquem, independente de linguagem, software e hardware. 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.

Inicialmente criados para a troca de mensagens utilizando XML (Extensible Markup Language) sobre o protocolo HTTP, sendo identificado por um URI ( Uniform Resource Identifier).

           Podemos dizer que os Serviços Web são API’s (Application Programming Interface) que se comunicam por meio de redes sobre o protocolo HTTP.


API é um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou um serviço dessa aplicação através de plataforma baseado na Web

Todo serviço WEB é um API, mas nem todo API é um serviço WEB.


Web Service foi criado para resolver o problema de acesso entre as aplicações, que era lento por haver a constante de compartilhar arquivos em repositórios individuais.


O que é um SOAP? Simple Object Acess Protocol: É um protocolo baseado em XML para acessar serviços WEB, principalmente por HTTP.

É uma definição de como serviços WEB se comunicam.

Desenvolvido para facilitar a integração de aplicações.


Vantagens:


  •  Permite integrações entre aplicações, independente da linguagem, pois usa como linguagem comum o XML.
  •  É independente da plataforma e software.
  •  Meio de transporte genérico, ou seja, pode ser usado por outros protocolos além do HTTP.


O que é um XML? Extensible Markup Language. Criada em 90 pela W3C ( Organização de padronização da WWW).


Características:


  • Facilita a separação de conteúdos.
  •  Não tem limitação de criação de tags.
  •  Linguagem comum para integrações entre aplicações.


Estrutura de um SOAP:


SOAP Envelop: É o primeiro elemento do documento e é usado para encapsular toda a mensagem SOAP.

SOAP Header: É o elemento onde possui informações de atributos e metadados na requisição

SOAP Body: É o elemento que contém os detalhes dos eventos.


O que é um WSDL? Web Service Description Language. Um contrato para descrever como o serviço Web/Xml funciona.

Descreve através de um documento XMl o serviço, as especificações de acesso, operações e métodos.


Ex: http://soapclient.com/xml/soapresponder.wsdl


O que é um XSD? XML Schema Definition. Usado para definir a estrutura de dados que será validade no XML.

Funciona como uma documentação de como deve ser montado o SOAP Message(XML) que será enviado através de Web Service.


O que é um REST? Representational State Transfer. É um estilo de arquitetura de software que define a implementação de um serviço web.

No momento que faz uma chamada HTTP, trabalha com o estado do objeto nessa chamada.

Também pode trabalhar com XML, mas é mais como ser trabalhado com JSON.


Vantagens:


  • Permite integrações entre aplicações, independente da linguagem, e também entre "client and server" em páginas web e aplicações.
  • Utiliza os métodos HTTP para definir a operação que está sendo efetuada.
  • Arquitetura de fácil compreensão.


Enfatizando o que é uma API? Application Programming Interface. Conjuntos de rotinas e padrões, documentos disponibilizados por uma aplicação para que outras aplicações possam consumir suas funcionalidades.

Ficou popular com o aumento dos serviços web.

As maiores plataformas de tecnologia disponibilizam APIs para acessos de suas funcionalidades, algumas delas são: Facebook. Twiter, Telegram, Whatsapp, GitHub.


O que é um JSON? JavaScript Object Notation. Formatação leve utilizada para troca de mensagens entre sistemas. Usa-se de uma estrutura de chave e valor e também de listas ordenadas, Um dos formatos mais utilizados para troca de mensagens.


Integração com REST e métodos HTTP - Códigos de Estado:


Usado pelo servidor para avisar o cliente sobre o estado de operação solicitada. É uma forma de padronizar o retorno.


É independente do Web Service


·        1xx - Informativo - Recebido com sucesso, mas ainda não diz que a operação foi bem sucedida.

·        2xx - Sucesso - Operação recebida é processada com sucesso.

·        3xx - Redirecionamento - Pouco usado, ex: usava uma URI X e agora é uma URI Y. Deixa a URI X habilitada e redireciona para a URI Y.

·        4xx - Erro do Cliente - Exemplo: Cliente colocar uma URI inexistente, conhece o servidor, URL, mas não conhece a página.

·        5xx – Erro do Servidor - A requisição enviada é correta, porém ocorre um erro interno de processamento no servidor.


Ao se trabalhar com rest para manipulação de métodos GET, POST, DELETE e PUT não muda a URI, nem o Método na mensagem, só muda o método HTTP.


Principais métodos HTTP:


GET - Solicita a representação de um recurso.

POST - Solicita a criação de um recurso.

DELETE - Solicita a exclusão de um recurso.

PUT - Solicita a atualização de um recurso.


Fluxo inicial: Instalando e rodando JSON server numa máquina linux para teste de API REST:


npm install -g json-server

após criar o db.json

json-server --watch db.json > Inicia o servidor rodando o db no localhost

Após isso pode se fazer as requisições HTTP através do Postman, por exemplo.

4
35

Comentários (4)

1
Graciele Oliveira

Graciele Oliveira

19/12/2020 16:36

Obrigadaa

1
Michelli Silva

Michelli Silva

19/12/2020 16:22

Muito bom, esse resumo ajuda bataste a relembrar as aulas.

Valeu Man.

1
Norberto Celestino

Norberto Celestino

19/12/2020 16:16

Muito bom, parabéns!

1
Herbert Oliveira

Herbert Oliveira

19/12/2020 16:13

Perfeito!!! Veio em boa hora para mim!!!

https://www.linkedin.com/in/gustavo-sena-57343456

Brasil