Fundamentos de Web Services, APIs RESTful e Arquiteturas Distribuídas

Classificado em Computação

Escrito em em português com um tamanho de 4,5 KB

Fundamentos de Web Services e SOAP

Web Services são usados para disponibilizar serviços interativos na Web, podendo ser acessados por outras aplicações. SOAP (Simple Object Access Protocol) está se tornando o padrão para a troca de mensagens entre aplicações e Web Services, já que é uma tecnologia construída com base em XML e HTTP.

SOAP é um protocolo projetado para invocar aplicações remotas através de RPC (Remote Procedure Call) ou trocas de mensagens, em um ambiente independente de plataforma e linguagem de programação. SOAP é, portanto, um padrão amplamente aceito para uso com Web Services. Dessa forma, pretende-se garantir a interoperabilidade e intercomunicação entre diferentes sistemas, através da utilização de uma linguagem (XML) e um mecanismo de transporte (HTTP) padrões.

Concluindo, o SOAP é um elemento principal da infraestrutura dos Web Services e um fator fundamental para o seu funcionamento. Ele garante a interoperabilidade entre objetos e componentes distribuídos, independentemente de plataformas, sistemas operacionais, modelos de objetos e linguagens de programação.

O que é API?

O acrônimo API (Application Programming Interface) refere-se a um conjunto de rotinas e padrões estabelecidos e documentados por uma aplicação, para que outras aplicações consigam utilizar as funcionalidades dessa aplicação, sem precisar conhecer detalhes da implementação do software.

Dessa forma, entendemos que as APIs permitem a interoperabilidade entre aplicações. Em outras palavras, facilitam a comunicação entre aplicações e, consequentemente, entre os usuários.

O que é REST?

REST (Representational State Transfer) é uma abstração da arquitetura da Web. Resumidamente, o REST consiste em princípios/regras que, quando seguidas, permitem a criação de um projeto com interfaces bem definidas. Dessa forma, permite, por exemplo, a comunicação entre aplicações.

REST vs. RESTful: Qual a Diferença?

Existe uma certa confusão quanto aos termos REST e RESTful. Entretanto, ambos representam os mesmos princípios. A diferença é apenas gramatical. Em outras palavras, sistemas que utilizam os princípios REST são chamados de RESTful.

  • REST: conjunto de princípios de arquitetura.
  • RESTful: capacidade de determinado sistema aplicar os princípios de REST.

Criando sua Primeira API RESTful

Passos Iniciais

Crie a pasta em um diretório:

Nome: unipbiblio

Crie dentro da pasta o arquivo:

Nome: package.json

Conteúdo Essencial: name, description, author, version

Execute dentro da pasta raiz o seguinte comando:

npm install

Estrutura de Camadas em APIs RESTful

Factory

Contém a classe responsável pelo gerenciamento do banco de dados.

Business

Contém as classes responsáveis pela regra de negócio dos serviços.

Resources

Contém as classes responsáveis pelo direcionamento da requisição e resposta do recurso.

Arquiteturas em Sistemas Distribuídos

Tipos Comuns de Arquiteturas Distribuídas

  • Arquitetura Cliente-Servidor
  • Arquitetura Cliente-Servidor em Camadas
  • Arquitetura em Três Camadas
  • Arquitetura Peer to Peer (P2P)
  • Arquitetura Orientada a Serviços (SOA)

Como Funciona a Arquitetura Cliente-Servidor?

A aplicação é modelada como um conjunto de serviços que são fornecidos pelos servidores e um conjunto de clientes que usam esses serviços.

Os clientes sabem da existência dos servidores, mas os servidores não sabem dos clientes.

Como Funciona a Arquitetura Cliente-Servidor em Camadas?

  • Camada de Apresentação: Está relacionada à apresentação dos resultados de um processamento para os usuários do sistema e à coleta de entradas do usuário.
  • Camada de Processamento de Aplicação: Está relacionada ao fornecimento de funcionalidade específica da aplicação, por exemplo, em um sistema de banco, funções bancárias, tais como abrir conta, fechar conta, etc.
  • Camada de Dados: Está relacionada ao gerenciamento do banco de dados do sistema.

Entradas relacionadas: