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.