GoConqr has a new look! Let us know what you think.

Mind map

SOA, WEB SERVICES, HTTP E REST - Tema de discursivas

Luis Felipe Guariento Engenharia de Software Concursos Públicos Portuguese

SOA, WEB SERVICES, HTTP E REST - Tema de discursivas

Map content

SOA, WEB SERVICES, HTTP E REST - Tema de discursivas

  1. WEB SERVICES

    • • Web Services são um conjunto de protocolos e tecnologias que têm como objetivo integrar sistemas heterogêneos • São componentes de aplicativos autocontidos, autodescritos e não proprietários • Utilizam XML para a troca de mensagens padronizadas
    • 1. O que são Web Services? Em termos simples, é uma maneira de acesso uma aplicação ou lógica de negócio utilizando protocolos padronizados da internet 2. Web Services realizam apenas chamadas síncronas? Não, um cliente pode invocá-lo de forma síncrona e assíncrona. Possibilitar chamadas assíncronas é a chave para permitir sistemas fracamente acoplados. 3. Web Services são baseados em HTML? Não, eles são baseados em XML (para representação e transporte de dados). Nesse último caso, ele elimina qualquer dependência com rede e sistema operacional. 4. Web Services possuem fraco ou forte acoplamento? Eles são fracamente acoplados. A interface de um serviço web pode mudar durante o tempo sem comprometer a habilidade do cliente de interagir com o serviço.
    • Padrões Fundamentais
      • SOAP – Simple Object Access Protocol
        • Define uma organização para a troca estruturada de dados entre Web Services (Messaging)
        • • É o protocolo de encapsulamento e transferência estruturada de dados em formato XML • Via de regra, utiliza HTTP como mecanismo de transporte • Independe de tecnologia ou linguagem de programação • Consiste de três elementos: • Envelope, Cabeçalho e Corpo
        • Elementos
          • Envelope
            • • Elemento-raiz do documento XML: identifica o documento como uma mensagem SOAP • Funciona como um recipiente que contém os demais elementos da mensagem (Header/Body) • Possui como atributos namespace e encodingStyle • É elemento obrigatório na mensagem SOAP
          • Cabeçalho (Header)
            • • Carrega informações adicionais para a aplicação, como Autenticação, Autorização, assinatura digital, etc. • Define como o receptor deve processar a mensagem • Podem ser definidos vários cabeçalhos • É opcional – caso seja utilizado deve ser o primeiro elemento do envelope
          • Corpo (Body)
            • • Contém a mensagem SOAP propriamente dita • É obrigatório – capaz de empacotar chamadas RPC, reportar erros, enviar operações • Pode conter um elemento opcional Fault, usado para carregar mensagens de status e erros retornados
      • WSDL – Web Services Description Language
        • Define como as interfaces (funções, parâmetros, etc.) dos Web Services podem ser representadas
        • • Web Services Description Language • Linguagem de descrição de Web Services, baseada em XML, que especifica formas de acesso das operações e métodos disponíveis • Os serviços são descritos como endpoints (portas) que operam em mensagens com informações orientadas a documentos e procedimentos
        • • Com a descrição do serviço, a implementação do Web Service pode ser feita em qualquer linguagem de programação • Define um XML Schema para descrever o Web Service • É possível gerar um WSDL a partir de definições de interface escritas em linguagens de programação
        • Componentes
          • types
            • Contém a especificação dos tipos de dados trocados entre o cliente e o Web Service. Por padrão, esses tipos de dados são descritos por meio de um XML Schema
          • interface
            • Descreve quais operações o Web Service tem, e quais mensagens são trocadas em cada operação (entrada/saída). Também descreve possíveis mensagens de falha (Fault).
          • binding
            • Descreve como o Web Service é acessado pela rede. Tipicamente, esse elemento associa o Web Service ao protocolo HTTP
          • service
            • Descreve onde o Web Service pode ser acessado na rede. Tipicamente associa o Web Service a uma URL
        • tipos de operação
          • One-way
            • O Web Service pode receber uma requisição do Cliente, mas não retornará uma resposta.
          • Request-Response
            • O Web Service pode receber uma requisição do cliente e retornará uma resposta.
          • Solicit-response
            • O Web Service pode enviar uma requisição ao Cliente e esperará uma resposta
          • Notification
            • O Web Service pode enviar uma requisição ao Cliente e não esperará uma resposta
      • UDDI – Universal Description, Discovery and Integration
        • Padrão de descobrimento que define como as informações podem ser organizadas
        • • Universal Description, Discovery and Integration • Serviço de diretório, baseado em XML, em que é possível registrar e localizar Web Services • Estabelece um padrão de descoberta que define como são as organizadas as informações de descrição dos serviços, permitindo sua descoberta • Possui interfaces para Publicação (Publisher Interface) e Busca (Inquiry Interface)
        • Estrutura
          • Páginas brancas
            • Páginas Brancas contêm informações gerais sobre a organização que está oferecendo o serviço, tais como: nome do negócio e descrição do negócio
          • Páginas amarelas
            • Páginas Amarelas contêm uma classificação do serviço ou negócio disponíveis baseado em taxonomias padronizadas
          • Páginas verdes
            • Páginas Verdes contêm informações técnicas sobre como acessar um Web Service
  2. HTTP

    • • Hyper Text Transfer Protocol • Protocolo de comunicação utilizado para a transferência de hipertextos • Pode ser integrado a diversos tipos de informação, como imagens, sons e outras mídias acessíveis por hiperlinks • Possui diversas operações (métodos) que vão além da simples solicitação de uma página web
    • HTTP – Conexões Seguras • Inicialmente, a Web servia apenas páginas estáticas, mas em pouco tempo vieram transações financeiras, compras de mercadorias, etc. • É necessário ter um caminho seguro para essas transações • SSL (Secure Sockets Layer) surgiu como protocolo criptográfico para a comunicação segura em uma rede de computadores na web
    • HTTP – Conexões Seguras (Cont.) • SSL foi sucedido por TLS (Transport Layer Security), e inclui: • Negociação de parâmetros entre cliente e servidor • Autenticação mútua • Comunicação secreta (criptografada) • Proteção e integridade de dados • HTTP sobre TLS/SSL é denominado HTTPS (porta 443)
    • Métodos
      • Get
        • Utilizado para solicitar dados de uma página. No CRUD, ele seria o R(ead).
      • Post
        • Utilizado para enviar dados para uma página. As informações vão encapsuladas no corpo da requisição, e não na URL. No CRUD, ele seria o C(reate).
      • PUT
        • Utilizado para enviar dados para uma página. As informações vão encapsuladas no corpo da requisição, e não na URL. No CRUD, ele seria o U(pdate).
      • Delete
        • Esse método faz exatamente isso: exclui um recurso.. A exemplo do PUT, a permissão e a autenticação têm papel fundamental. Não há garantia de que DELETE seja bem-sucedida, pois – mesmo que o Servidor HTTP Remoto esteja pronto para excluir um recurso – o arquivo subjacente pode ter um modo que impeça o Servidor HTTP de modificá-lo ou excluí-lo. No CRUD, ele seria o D(elete).
    • Cookies
      • • HTTP é um protocolo stateless, isto é, ele não sabe que duas requisições pertencem a uma mesma sessão, porque ele não guarda estado • Uma maneira de guardar informações sobre um usuário é armazenar um Cookie no navegador do usuário • Cookie é um pequeno conjunto de dados enviado por um servidor web e armazenado no navegador do usuário • Cookies são um mecanismo para sites se lembrarem de informações dentro de uma sessão
      • Cookies – funcionamento e controle de sessão • O servidor web utiliza o campo Set-Cookie do cabeçalho HTTP para passar pares de nome/valor com metadados associados • Na “conversa” entre servidor e cliente, é possível configurar um ID de Sessão para identificar o agente que está na transação
      • alguns atributos...
        • Secure - Limita o escopo do cookie para somente trafegar em canais seguros (HTTPS) HttpOnly - Limita o escopo do cookie para requisições HTTP somente Expires - Configura uma data de expiração para o cookie (ex: Expires=Wed, 09 Jun 2021 10:18:14 GMT) Max-Age - Configura um tempo para a expiração do cookie, em segundos (ex: Max- Age=60)
  3. REST

    • • Representational State Transfer • O desenvolvimento inicial de Web Services foi baseado em padrões com uso de XML (SOAP, WSDL, UDDI, etc.) • Isso permitia desenvolver serviços altamente confiáveis e complexos, com controle de qualidade • O problema é que os padrões de Web Services são considerados “pesados” e muitas vezes ineficientes • Não se adequam bem a desenvolvimento Mobile, por exemplo
    • • REST é uma alternativa “leve” para desenvolver serviços web, bem mais simples do que os padrões tradicionais • Não são exclusivamente dependentes de XML • Utilizam operações padrões do protocolo HTTP • Na arquitetura REST, tudo pode ser representado como um Recurso • Recursos são como objetos com operações associadas de Create, Read, Update e Delete
    • Princípios
      • Cliente/Servidor
        • • A responsabilidade deve ser separada entre cliente e servidor. • Cliente se preocupa com interface e experiência com usuário • Servidor faz comunicação com BD, gerenciamento de cache, segurança, etc.
      • Stateless
        • • A comunicação entre cliente e servidor não deve guardar estado, cada requisição é independente
      • Sistema em Camadas
        • • Múltiplas camadas hierárquicas, como gateways, firewalls e proxies podem existir entre o cliente e o servidor • O cliente nunca deve chamar diretamente o servidor da aplicação sem antes passar por um intermediador
      • Cache
        • • Respostas do servidor devem ser declaradas como cacheable ou noncacheable • Isso permite que o cliente armazene em cache as respostas do servidor, reutilizando em requisições posteriores
      • Interface Uniforme
        • • É um contrato de comunicação entre cliente e servidor, que especifica interfaces claras entre os componentes
      • Código sob demanda (opcional)
        • • Possibilidade do cliente estender sua funcionalidade por meio de execução de código sob demanda (Javascript, Applets, etc.) • Permite que clientes se comportem de maneira diferente de acordo com a necessidade
    • Características
      • • Uma aplicação RESTful não depende de tecnologia, e visa a ter uma aplicação escalável, visível, confiável e com melhor desempenho • Na prática, a maioria das aplicações RESTful utiliza os recursos da web e protocolo HTTP: • GET, POST, PUT, DELETE, etc.
    • Recurso
      • • Recurso é qualquer coisa que possa ser manipulada ou acessada – vídeo, imagem, página web, arquivo, etc. • Cada recurso é identificado unicamente por uma URI – Uniform Resource Identifier • Em Web Services o formato de representação da informação é XML • Em REST, um recurso pode ter diversas representações • HTML, JSON, XML, TXT, etc.
    • Críticas
      • • Quando um serviço REST tem uma interface complexa, não é um recurso simples, pode ser difícil representá-lo • Não há padrões para a descrição de interfaces REST, então os clientes devem confiar em documentações informais • Quando você implementa REST, você deve prover a sua própria infraestrutura para monitorar a qualidade e confiabilidade dos serviços • SOAP-based Services têm vários padrões que ajudam nisso

Images and files in the map

  • SOA, WEB SERVICES, HTTP E REST - Tema de discursivas
  • SOA, WEB SERVICES, HTTP E REST - Tema de discursivas
  • SOA, WEB SERVICES, HTTP E REST - Tema de discursivas
  • SOA, WEB SERVICES, HTTP E REST - Tema de discursivas

Information

Description
Concursos Públicos Engenharia de Software (Web Services) Mind Map on SOA, WEB SERVICES, HTTP E REST - Tema de discursivas, created by Luis Felipe Guariento on 30/11/2021.
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?