Mindmap
Web Services
Inhalt der Mindmap
Web Services
Características
- Baeados em XML
- Não necessitam de outros componentes.
- São independentes de plataformas, SO, arquitetura de processador e linguagens de programação.
- Utilizam protocolos abertos.
- Permite utilizar regras de negócio através da rede.
- Conecta aplicações de diferentes fornecedores.
- Utiliza protocolos padronizados (SOAP, WSDL, UDDI)
É a disponibilização de um serviço pela internet que pode ser acessado de qualquer lugar.
É uma solução utilizada na integração de aplicações web e que compatibiliza a comunicação entre plataformas diferentes por meio de uma linguagem de marcação estendida.
Protocolos
- SOAP (Simple Object Access Protocol) - Baseado em XML, define uma organização para troca estruturada de dados entre Web Services.
- Uma das formas de comunicação para encapsular dados transferidos no formato XML para Web Services.
- É um formato para o envio e recebimento de mensagens.
- É o protocolo mais comum para troca de mensagens, já escrito em XML e transportado, via de regra, em HTTP.
- Uma mensagem do SOAP é composto por:
- Envelope
- É obrigatório.
- elemento raiz do documento XML.
- funciona com um recipiente que contém os demais elementos da mensagem (header, body, fault)
- Possui dois atributos:
- namespace: que define o envelope domo um Envelope SOAP.
- encondingStyle: que define os tipos de dados utilizados em um documento.
- Header (Cabeçalho)
- É opcional.
- Carrega informações específicas para aplicação, como: Autenticação, Autorização, Pagamento, etc.
- Pode especificar assinatura digital para serviços protegidos por senha.
- Possui 3 atributos:
- mustUnderstand
- actor
- encondingStyle
- Body (corpo)
- É opcional.
- Contém a mensagem SOAP.
- É capaz de empacotar chamadas RPC (Remote Procedure Call).
- Reporta erros.
- Envia operações UDDI.
- Pode conter um elemento opcional FAULT.
- Usado para carregar mensagens de status e mensagens de erros retornados pelos nós ao processarem a mensagem.
- Envelope
- WSDL (Web Services Description Language) - Baseado em XML, define como as interfaces dos Web Services podem ser representadas.
- É uma linguagem para descrever serviços web, especificar as formas de acesso, as operações e métodos disponíveis.
- Descreve serviços de rede como endpoints (ou portas) que operam em mensagens que contém informações orientadas a documento/procedimento.
- É uma linguagem efetivamente de especificação, que define como descrever serviços web em XML.
- UDDI (Universal Description, Discovery and Integration) - Baseado em XML, trata-se do padrão de descobrimento que define como as informações podem ser organizadas.
- É um serviço de diretório em que é possível registrar e localizar Web Services.
- É uma especificação técnica que tem como objetivo descobrir e integrar Web Services.
- Protocolo para pesquisa, descoberta e publicação das mensagens.
- SOAP (Simple Object Access Protocol) - Baseado em XML, define uma organização para troca estruturada de dados entre Web Services.
REST (Representational State Transfer)
- É um estilo arquitetural para projetar aplicações de rede distribuídas.
- É um estilo arquitetural para construir sistemas fracamente acoplados.
- REST NÃO é um protocolo.
- Utiliza o protocolo HTTP.
- Tem como característica utilizar os métodos HTTP: GET (recuperar), POST (inserir), PUT (alterar) e DELETE (deletar).
- Utiliza os formatos JSON, XML e YAML.
- Em REST cada aplicação é um conjunto de recursos sobre os quais podemos realizar ações.
- Pode ser utilizado para implementar Web Services de baixo overhead.
- O REST é stateless, ou seja, o servidor não guarda o estado do cliente.
- Princípios ou Restrições
- Cliente/Servidor
- Responsabilidades devem separadas entre cliente e servidor.
- Isso permite que os sistemas sejam escaláveis.
- Busca-se separar a arquitetura e a responsabilidade em dois ambiente.
- Stateless
- A comunicação entre cliente e servidor deve ser stateless.
- O servidor não precisa lembrar do estado do cliente.
- Os cliente devem incluir todas as informações necessárias na requisição para que o servidor possa entendê-la e processá-la.
- Sistemas em Camadas
- Múltiplas hierarquias: gateways, fariwalls e proxies podem existir entre o cliente e o servidor.
- As camadas podem ser adicionadas, modificadas, reordenadas ou removidas de forma transparente para melhorar a escalabilidade.
- Torna o sistema mais flexível.
- O Cliente sempre tem que passar por um intermediador. O cliente se comunica apenas como intermediador. O intermediador se comunica com os servidores.
- Cache
- Respostas do servidor devem ser declaradas como cahceble ou noncacheble.
- Isso permite que o cliente e seus componentes armazene em cache respostas e reutilizem-nas para pedidos posteriores.
- Isso reduz a carga no servidor e ajuda a melhorar o desempenho.
- Quando o 1º cliente solicita um determinado recurso ao servidor, esse processa a requisição e o cliente armazena temporariamente em cache.
- Quando houver uma nova requisição a resposta armazenada já está pronta para ser utilizada.
- Interface Uniforme
- Todas as interações entre cliente e servidor e componentes intermediários são baseadas na uniformidade de suas interfaces.
- Isso permite que os componentes evoluam de forma independente à medida que implementar o que foi acordado em contrato.
- É um contrato para comunicação entre o cliente e o servidor.
- São regras para fazer um componente mais genérico possível.
- Obedece 4 princípios: Identificação de recursos, representação de recursos, respostas auto-explicativas e hypermidia.
- Código sob Demanda
- Permite o cliente estender suas funcionalidade através do download e execução do código sob demanda.
- Assim diferentes clientes podem se comportar de maneiras específicas, mesmo que utilizando exatamente os mesmos serviços providos pelo servidor.
- Cliente/Servidor
Informationen
- Beschreibung
- Mindmap am Web Services, erstellt von Emerson Borges am 04/09/2019.
- Erstellt von
- Emerson Borges
- Aufrufe
- 1
- Bewertung