CCT-UFCA/Ciência da Computação/Sistemas Distribuídos/Serviços Web
Aparência
Conceito de Serviços Web
[editar | editar código]Um serviço web é um componente de software que está disponível na internet ou em redes privadas e pode ser acessado por outras aplicações utilizando protocolos padronizados. Ele facilita a comunicação entre sistemas de diferentes plataformas ou linguagens.
- Características:
- Interoperabilidade: Permite integração entre sistemas heterogêneos.
- Baseado em Protocolos: Usa protocolos bem definidos como HTTP, SOAP e REST.
- Reusabilidade: Pode ser utilizado por várias aplicações, promovendo modularidade.
- Estandarização: Baseia-se em padrões, garantindo consistência na integração.
Exemplo: Um serviço web de previsão meteorológica acessível por várias aplicações, como aplicativos móveis e sistemas de monitoramento.
Protocolos e Padrões de Serviços Web
[editar | editar código]- HTTP (Hypertext Transfer Protocol):
- Como funciona:
- É o protocolo base para comunicação na web, permitindo o envio e recebimento de dados entre clientes e servidores.
- Características:
- Simplicidade e ubiquidade.
- Suporte a métodos como
GET,POST,PUT,DELETE.
- Como funciona:
Exemplo: Em APIs REST, o método GET pode ser usado para buscar informações de um servidor.
- SOAP (Simple Object Access Protocol):
- Como funciona:
- Protocolo para troca de informações estruturadas em formato XML. É usado em serviços web baseados em padrões mais antigos.
- Características:
- Orientado a mensagens.
- Complexidade maior devido ao uso de XML e WSDL (Web Services Description Language).
- Como funciona:
Exemplo: Um sistema bancário que usa SOAP para garantir comunicação segura entre diferentes partes.
- REST (Representational State Transfer):
- Como funciona:
- Arquitetura que explora o HTTP de forma simples e escalável para troca de dados. É amplamente usado por serviços modernos.
- Características:
- Baseado em recursos (cada URL representa um recurso).
- Usa JSON ou XML para troca de informações.
- Como funciona:
Exemplo: Uma API REST de e-commerce onde GET /products retorna uma lista de produtos.
Implementação de Serviços Web
[editar | editar código]- Passos Gerais:
- Definir a funcionalidade: Estabelecer o propósito do serviço (ex.: calcular impostos, buscar dados).
- Escolher a arquitetura: Decidir entre SOAP e REST, dependendo das necessidades.
- Implementação do servidor: Criar a lógica e endpoints para o serviço.
- Implementação do cliente: Desenvolver a aplicação que consome o serviço
Servidor:
const express = require('express');
const app = express();
app.use(express.json());
// Endpoint para buscar produtos
app.get('/products', (req, res) => {
const products = [
{ id: 1, name: 'Product A', price: 100 },
{ id: 2, name: 'Product B', price: 200 },
];
res.json(products);
});
app.listen(3000, () => {
console.log('Servidor REST rodando na porta 3000');
});
Cliente:
const axios = require('axios');
axios.get('http://localhost:3000/products')
.then(response => {
console.log('Produtos:', response.data);
})
.catch(error => {
console.error('Erro ao buscar produtos:', error);
});
APIs e Microsserviços
[editar | editar código]- APIs (Application Programming Interface):
- Definição:
- São interfaces que permitem que aplicações se comuniquem com serviços web. São amplamente baseadas em padrões REST ou SOAP.
- Características:
- Definem como acessar funcionalidades e recursos.
- Facilitam reusabilidade e modularidade.
- Definição:
Exemplo: Uma API de geolocalização que fornece dados de latitude e longitude.
- Microsserviços:
- Definição:
- Arquitetura onde sistemas são divididos em pequenos serviços independentes, cada um responsável por uma funcionalidade específica.
- Vantagens:
- Escalabilidade: Cada microsserviço pode ser escalado individualmente.
- Independência: Alterações em um microsserviço não afetam os outros.
- Definição:
Exemplo: Um sistema de e-commerce onde há microsserviços separados para produtos, pedidos e pagamentos.