Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo ISS Sem. 1 A 5
Resumo ISS Sem. 1 A 5
SISTEMAS DE SOFTWARE
• É por meio da placa de rede que todos os sinais são transmitidos pelo
cabo, ou pelo ar
• Em seguida, esses sinais são interpretados tanto pelo emissor quanto
pelo receptor para que as informações possam ser apresentadas aos
usuários das aplicações
• Denominamos de elemento de comutação, no contexto de uma rede
local, aquele que:
• 1 palito de fósforo
• 1 caixa de fósforo
• 1 caixa de sapato
• 1 caixa de papelão
• 1 caixa de um fogão de 4 bocas
• Suponha a sequência do emissor, o qual deseja enviar um
palito de fósforo a um receptor:
Retire a caixa de
papelão da caixa do
fogão
Retire a caixa de sapato
da caixa de papelão
• Modelo OSI
• Modelo TCP/IP
MODELO OSI
• 5 passos no emissor
• 5 passos no receptor
emissor receptor
mensagem M aplicação
M aplicação
segmento C M transporte
C M transporte
datagrama C C
t
M rede
C C M rede
C C
C Cn Ct
M enlace
C M enlace
quadro n t
l n t
física Canal de Comunicação física
A Internet
• O que é?
Rede móvel
PC ISP global
servidor • milhões de dispositivos de
computação conectados:
laptop hospedeiros = sistemas finais
sem fio Rede doméstica
celular • executando aplicações de ISPregional
portátil
rede
Pontos ❑ enlaces de comunicação
de acesso Rede institucional
❖ fibra, cobre, rádio, satélite
Enlaces
com fio ❖ taxa de transmissão =
largura de banda
Roteador ❑ roteadores: encaminham
pacotes (pedaços de dados)
Aplicações da Internet
• Inúmeras são as aplicações que “rodam” na Internet
• Serviços de e-mail
• Serviços de streaming de áudio e vídeo
• Serviços de compartilhamento de arquivos
• Serviços e pagamento on-line
• Aplicação para acesso seguro a dados sigilosos
• E a Internet?
• Internet Conjunto de redes interconectadas cuja função é
possibilitar a comunicação de inúmeras aplicações distribuídas
Referências
• O que é um protocolo?
Importante
• Para mensagens específicas que enviamos e ações
específicas que realizamos
Em resumo
• Protocolos são padronizações que definem como se dá a
comunicação e a utilização do meio físico na infraestrutura de
comunicação (rede)
• Os protocolos consideram:
• Semântica (regras): temporizações, controle de erros, etc.
• Sintaxe (formato): codificação, quadro, etc.
O que é um protocolo de comunicação?
mensagem M aplicação
M aplicação
C
segmento C M transporte M transporte
C t
C
datagrama C C
t
M rede M rede
C n
C t
C
quadro
C Cn Ct
M enlace M enlace
l n t
l n t
física Canal de Comunicação física
IP - Camada de rede
TCP - Camada de transporte
IP – Internet Protocol
Data
TCP – Transmission Control Protocol
• O TCP, como já descrito, faz parte da camada de transporte do
modelo TCP/IP
• Dentre as funções desta camada temos:
• A origem aceita dados da camada de aplicação, e os divide em
unidades menores em caso de necessidade. Em seguida passa-
os para a camada de rede e garante que todas essas unidades
cheguem corretamente à outra extremidade (no destino)
• Tudo deve ser feito com eficiência de forma que as camadas
superiores fiquem isoladas das mudanças na tecnologia de
hardware
• Entidade de transporte: hardware/software que executa as funções
da camada de transporte (kernel do SO, biblioteca vinculada a
aplicações de rede, placa de interface de rede, etc.)
TCP – Transmission Control Protocol
• A camada de transporte
por meio de protocolos
como o TCP fornece
comunicação lógica entre
processos de aplicação em
diferentes hosts
• Os protocolos de transporte
são executados nos
sistemas finais da rede
TCP – Transmission Control Protocol
Serviços de Transporte
• Confiabilidade na entrega dos
dados
• Controle de congestionamento,
controle de fluxo
• Orientado à conexão
DADOS DA APLICAÇÃO
UDP – USER DATAGRAM PROTOCOL
• Protocolo de transporte da Internet
“simplificado” Por que existe um UDP?
• Serviço de “melhor esforço”, pois os • não há estabelecimento
segmentos UDP podem ser: de conexão
• perdidos • não há estado de conexão
nem no transmissor, nem
• entregues fora de ordem para a no receptor
aplicação de destino
• cabeçalho de segmento
• Sem conexão: reduzido
• não há apresentação entre o UDP
emissor e o receptor
• cada segmento UDP é tratado de
forma independente dos outros
UDP – User Datagram Protocol
Formato do Segmento UDP
32 bits
Dados de
Aplicação
(mensagem)
REFERÊNCIAS
Endereçamento IP
ROTEIRO
• Endereçamento IPV4
• Classes IPV4
• Máscara de Rede
• Sub-Redes
• Como fazer Sub-Rede
ENDEREÇAMENTO IPV4
Endereçamento IPV4
• Version: informa a versão do protocolo (4 bits)
• IHL: informa o tamanho do cabeçalho em palavras de 32 bits (4bits)
• Type of service: informa as classes de serviço (necessidades em
termos de atraso, confiabilidade) (8 bits)
• Total length: informa o tamanho do datagrama (16 bits)
• Identification: identifica o datagrama (todos os fragmentos de um
datagrama possuem o mesmo ID) (16 bits)
● Fragmentação (MTU de tamanho diferentes)
Endereço do host
Endereço do host
16 bits 16 bits
<network number><host number>
Endereço da rede
Endereço de broadcast
Como Fazer Sub-Rede
Endereçamento IP
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Infraestrutura Computacional
ROTEIRO
• A importância da infraestrutura
• Componentes
• Exemplo de infraestrutura
• Open Compute Project
• Por que se preocupar com a infraestrutura?
● Grossa
● Envolve componentes macro
● Fina
● Envolve componentes micro
Componentes
• Granularidade Grossa
● Servidores (banco de dados, firewalls, storage, autenticação,
réplicas), switches, roteadores, nobreaks e bancos de baterias,
ventilação, rack, ventilação (sistema de refrigeração com ar-
condicionados), sistemas de alarme do ambiente, controle de
acesso ao local onde ficam armazenados os servidores no data
center, barramento de energia elétrica, geradores, etc.
Componentes
• Granularidade Grossa
● Os componentes dos servidores em tipos e quantidades
● Assista a este vídeo curto para ter uma ideia de uma pequena
estrutura distribuída que ajuda no controle da aeronave
https://www.aeroin.net/piloto-airbus-a350-mostra-compartimento-secreto/
Exemplo de Infraestrutura
● lasdpc.icmc.usp.br
● 4 clusters independentes que formam uma nuvem privada
● Intel e AMD
● http://infra.lasdpc.icmc.usp.br/
Exemplo de Infraestrutura
● Virtualizadores
gerenciar as VMS
● Kimchi Project
● An HTML5 based management tool for KVM
https://github.com/kimchi-project/kimchi/wiki
Exemplo de Infraestrutura
• Site: https://www.opencompute.org/
Open Compute Project
• https://www.opencompute.org/
• https://en.wikipedia.org/wiki/Open_Compute_Project
• https://www.se.com/br/pt/work/solutions/for-business/data-centers-and-
networks/open-compute/
• https://azure.microsoft.com/pt-br/global-infrastructure/hardware-innovation/
• https://azure.microsoft.com/pt-br/blog/microsofts-project-olympus-delivers-
cloud-hardware-innovation-at-scale/
• https://www.opencompute.org/wiki/Server/ProjectOlympus
• https://azure.microsoft.com/pt-br/blog/microsoft-reimagines-open-source-
cloud-hardware/
• https://csrc.nist.gov/publications/detail/sp/800-193/final
• https://www.aeroin.net/piloto-airbus-a350-mostra-compartimento-secreto/
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Infraestrutura Computacional
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
• Introdução
• O que é?
• Principais características
• Funções do Firewall
• Tipos de Firewalls
Introdução
Motivação
● Alto índice de ataques a redes
segurança
● Pode gravar requisições
● Proteger uma rede contra conexões que não passam por ele
• Estratégias gerais:
● Allow-All
● Deny-All
• Há 2 tipos principais
● Filtro de Pacotes
● Servidores Proxy
Tipos de Firewalls
• Filtro de Pacotes
● Filtrar = peneirar, separar
● Incrementa a segurança
• Filtro de Pacotes
● As regras dos filtros contêm:
● Endereço IP de origem
● Endereço IP de destino
• Filtro de Pacotes
• Filtro de Pacotes
● Filtragem por adaptador de rede – vantagem ao administrador
• Filtro de Pacotes
• Filtro de Pacotes
• Problemas
● IP Spoofing
Tipos de Firewalls
• Proxy
• Proxy
Tipos de Firewalls
• Proxy
● Métodos de utilização:
● Método da Conexão Direta
● Método do Cliente Modificado
● Método do Proxy Invisível
Tipos de Firewalls
• Proxy
• Proxy
● Desvantagens do proxy:
• Firewalls x Proxy
● Tomada de decisões:
• Firewalls x Proxy
● Tomada de decisões:
● Servidor proxy toma decisões baseado em informações
● Desempenho:
● Filtro de pacotes possui uma vantagem por estar em nível mais
baixo
● Auditoria:
● Servidor proxy possui vantagem por permitir auditoria sobre o
controle do tráfego
REFERÊNCIAS
• Arquiteturas de Firewalls
● # mv /etc/squid/squid.conf /etc/squid/squid.conf.backup
● visible_hostname servidor
● Ex.: permissões
∙
WEB PROXY SQUID
∙ Filtragem de pacotes via ACL – Access Control
● Bloqueando por domínios ou palavras
● acl bloqueados dstdomain playboy.abril.com.br
● http_access deny bloqueados
● Problema:
● Cada novo endereço descoberto deve ser inserido na lista
● Solução:
● O Sarg pode ajudar bastante
WEB PROXY SQUID
∙ Filtragem de pacotes via ACL – Access Control
● É possível também inverter a regra, de forma que eu possa
bloquear tudo e ir liberando acesso a determinados sites
● Ex: acl permitidos url_regex –i “/etc/squid/permitidos”
● http_access allow permitidos
● http_access deny all
● Problemas?
● Falsos positivos
WEB PROXY SQUID
• Firewalls Híbridos
● A maioria dos firewalls podem ser classificados como Filtro de
● É a mais segura
● Componentes:
● Roteador externo
● Bastion Host
● Roteador Interno
ARQUITETURAS DE FIREWALLS
• Screened subnet
● Detecção de comportamento
• Detecção de assinaturas
● procura de padrões específicos
• Detecção Comportamento
● Cada rede tem determinada característica (estatística)
• Responsabilidade:
● Quais recursos podem ser acessados
intencionalmente ou acidentalmente
● Confidencialidade
● Somente os indivíduos autorizados a acessar os dados podem
fazê-lo
DEFINIÇÕES
• Elementos para garantir:
● Disponibilidade
● Redundância
● Backup
● Integridade
● Assinatura digital
● Confidencialidade
● Criptografia e controle de acesso
CLASSIFICAÇÃO DO CONTROLE DE ACESSO
• Baseada em:
● Hosts
● Roteadores, switches
IDENTIFICAÇÃO, AUTENTICAÇÃO, AUTORIZAÇÃO
• É importante destacar alguns componentes que fazem parte do
controle de acesso e o que eles representam
● Sujeito
● Aquele que solicita acesso a algum tipo de informação.
• Monitor de Referência
● Usado para mediar um acesso
● Identificação
● Autenticação
● Autorização
● Prestação de Contas/Responsabilidade
IDENTIFICAÇÃO, AUTENTICAÇÃO, AUTORIZAÇÃO
• Identificação
● Identificar um sujeito junto a um objeto
• Autenticação
● Confirma a identidade
● Tecnologias:
(biometria)
IDENTIFICAÇÃO, AUTENTICAÇÃO, AUTORIZAÇÃO
• Autorização
● Determina se o sujeito está autorizado a acessar um recurso
particular
● Faz parte de qualquer sistema operacional e é desejável em
aplicações
● Exemplo: Usuário autenticado no Active Directory ou no Servidor
LDAP, tem acesso a uma página ou a um arquivo no servidor Web
local
• Senhas Dinâmicas
● On Time Password
● Válida uma única vez
hardware/software
• Chaves Criptográficas
● Usada para comprovar a identidade do emissor
● Assinatura digital: tecnologia que utiliza chave privada para encriptar um hash
MECANISMOS DE AUTENTICAÇÃO
• Smart Cards
● Armazena e processa informações
● Contém circuitos
● Tipos
• Biometria
● Valida um comportamento ou traço físico do usuário (impressão
• Exemplos:
● DAC – Discretionary Access Control
● Tipos
● Tabelas de Capacidades
• Controle Centralizado
● Ponto central de controle
● Radius
● Mais usado em autenticação simples
● Encripta somente a senha
● Autenticação baseada em EAP, PAP, CHAP
GERÊNCIA DE IDENTIDADES
• Questões envolvidas
● O que cada usuário pode acessar?
● Quem aprova o acesso?
● Como o acesso é controlado de forma centralizada?
● Como utilizar controle de acesso para diferentes sistemas
operacionais e aplicações?
GERÊNCIA DE IDENTIDADES
● Diretórios
● Gerência de senhas
● Gerência de contas
● SSO
GERÊNCIA DE IDENTIDADES
• Diretórios
● É um catálogo que possui informações centralizadas de usuários e
recursos
● O formato de dados é hierárquico (protocolo X.500)
do usuários
● A base é um serviço de diretórios, que é um banco de dados,
otimizado para leitura e que suporta sofisticados métodos de
busca
● É ajustado para dar respostas rápidas a grandes volumes de
dados
● É oriundo do modelo X.500 que:
● É mais conhecido como DAP (Directory Access Protocol)
● CN – commonName
● L – locality name
● O - organizationName
GERÊNCIA DE IDENTIDADES
• Diretórios
● OpenLDAP
meio de:
● Autenticação
● https://www.linux.ime.usp.br/~cef/mac499-
06/monografias/erich/html/ch01s09.html
● https://www.openldap.org/
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Servidores Web
ROTEIRO
• História
• Características
• Funcionamento básico
• Exemplos
Servidores Web
• História
● 1980 – 1989: Tim Berners-Lee (CERN) propõe um projeto
● Objetivo: facilitar o compartilhamento de documentos de
pesquisa entre os colegas pesquisadores. Foram criados dois
programas:
• Características
● Troca de informações: Request e Response
• Formato genérico
● L1: Linha inicial (request-line ou status-line)
• Características
● Pode ter informações a respeito do recurso no corpo da
mensagem
• Exemplos:
● Last-modified: data da última modificação; Content-length:
tamanho;
● Content-type – MIME (Multipurpose Internet Mail Extensions):
tipo de formato.
Servidores Web
• Características
● Alguns métodos
● HTML
• Servidor
● Verifica se ele contém o que foi requisitado
● Ou encaminha a requisição para outro servidor (proxy)
● Devolve a resposta ao cliente
Servidores Web
• Provisão de conteúdo
Servidores Web
• Provisão de conteúdo
Servidores Web
• Exemplo
● https://www.univesp.br/cursos/
● Navegador quebra a URL em 3 partes
● O protocolo: HTTP/HTTPS
● Nome do servidor: www.univesp.br
● O nome do arquivo: /cursos/
● Navegador se comunica com servidor de nomes
● Traduz o nome do servidor www.univesp.br para um IP
(104.24.124.188)
Servidores Web
• Exemplo:
● http://www.univesp.br/cursos
• É criada então uma conexão entre o navegador e o servidor
na porta 80
• Porta 80 é padrão para os Servidores Web
• De acordo com o protocolo HTTP, o navegador envia uma
solicitação para obter o arquivo desejado
• O servidor então envia o texto da página para o navegador
• O navegador lê o arquivo e formata a página na tela
Servidores Web
Servidores Web
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Computação em Nuvem –
Contextualização e Definições
ROTEIRO
• O que é Computação em Nuvem?
• História
• Componentes
• Modelos de Serviços
• Aplicações
O que é computação em nuvem
• Computação em Grade
● Resolução de problemas complexos com processamento paralelo
• Computação Utilitária
● Oferecimento de recursos computacionais como serviços medidos
• Servidores Distribuídos
● São os hardwares (compostos de CPU, Memória, Discos) que em geral
• Data Centers
● Coleção de servidores distribuídos, em que a aplicação é armazenada
infraestrutura de comunicação
• IaaS
● Provisão em geral de rede de comunicação e hardware para
• Nuvem Pública
● Permite que os sistemas e os serviços sejam acessados pelo
público em geral, o que tende a deixá-la menos segura por conta
da abertura ao público
• Nuvem Privada
● Permite que os sistemas e os serviços sejam acessados dentro de
uma organização, o que faz dela, a princípio, um ambiente mais
seguro para executar e acessar os serviços
Implantação de Serviços na Nuvem
• Nuvem Comunitária
● Permite que os sistemas e os serviços sejam acessados por um
grupo de organizações
• Nuvem Híbrida
● É um misto de nuvem pública e privada. No entanto, as atividades
críticas são feitas utilizando a nuvem privada enquanto as não
críticas são realizadas utilizando a nuvem pública
Características Importantes
• Faz uso de APIs (Application Programming Interfaces)
• Independente de localização e de dispositivos
• Faz uso de tecnologias de virtualização
• Confiabilidade
• Manutenção
• Segurança
• Desempenho
• Agilidade para propor novas soluções
• Serviço sob demanda
• Pagamento pelo serviço utilizado (recursos alocados)
Fatores que reforçam a Computação em Nuvem
• SaaS
● Office365, Dropbox, Google Drive, OneDrive, etc
• PaaS
● Google App Engine
● Amazon EC2
● Microsoft Azure
• IaaS
● Rackspace
● Amazon EC2
Computação em Nuvem – Visão do Usuário
• SaaS
● Aplicação
• PaaS
● Sistemas operacionais, linguagens de programação, ambientes de
• IaaS
● Hardware, máquinas virtuais, storages e rede
● Vantagens: Utilizar uma infraestrutura segura por um período de
tempo. Sem custo de manutenção de hardware. Possibilidade de
escalar o hardware para mais ou menos recursos desejáveis.
Computação em Nuvem – Visão do Desenvolvedor
• É uma extensão de modelos distribuídos de desenvolvimento
de software
∙ https://www.nist.gov/programs-projects/nist-cloud-computing-
program-nccp
∙ https://www.oracle.com/us/dm/powering-generation-278787.pdf
∙ https://www.vmware.com/pdf/virtualization.pdf
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Computação em Nuvem –
Contextualização e Definições
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
• Introdução
• Características Principais
• Visão Estrutural
e escalonável de:
● armazenamento, hospedagem, redes de seus próprios servidores
Desvantagens
● Abordou apenas o tópico em uma camada superficial;
Diagramação
• A adição de SaaS exigiu que modificássemos um pouco o modelo,
especialmente porque precisávamos diferenciar PaaS e SaaS, porque
não funcionava para ter apenas uma camada de diferença entre as duas,
e ainda era necessário manter as escalas de diferenças entre as
variáveis;
Diagramação
• A visão da figura anterior foi criada (15 de janeiro de 2010), com uma
diferença consistente de duas camadas entre SaaS, PaaS e IaaS; e
uma diferença de 5 camadas entre IaaS e local para expressar que os
ambientes em nuvem são mais diferentes dos ambientes locais.
IaaS
• Desde o início, o setor é dominado pela AWS (Amazon Web Services),
líder global em receita, com 38% de participação no mercado. Em
seguida, aparece a Microsoft com 18%, a Google com 9% e o Alibaba
com 6%.
PaaS
● As gigantes da tecnologia, que têm capacidade para oferecer uma ampla
SaaS
• Qualquer pessoa que tenha utilizado apps da Google, como Gmail ou
Google Docs, ou serviços de armazenamento na nuvem, como o
Dropbox, já desfrutou de partes do SaaS.
• https://csrc.nist.gov/publications/detail/sp/800-145/final
• https://dachou.github.io/2018/09/28/cloud-service-models.html
• https://www.linkedin.com/pulse/20140730172610-9679881-pizza-
as-a-service/
• https://dachou.github.io/2011/03/16/cloud-ecosystems.html
• https://dachou.github.io/2009/01/13/cloud-computing-and-microsoft-
platform.html
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
• Origens da Virtualização
• Introdução
• Multiprogramação
• Virtualização
ORIGENS DA VIRTUALIZAÇÃO
• Motivação
●Organizar vários servidores virtuais em um conjunto reduzido
de servidores físicos.
●Consolidação de aplicações
●Ambientes de teste e homologação de sistemas
●Execução de aplicações que utilizam diferentes SO´s
●Migração de sistemas
●Provisionamento de servidores
●Recuperação de desastres
INTRODUÇÃO
• Motivação
●Diminuir custos com TI (hardware e software).
●Diminuir custos com energia elétrica.
●Diminuir lixo tecnológico.
●Flexibilidade e agilidade para criação de ambientes.
●Administrar e gerenciar melhor os ambientes de testes ou
produção.
INTRODUÇÃO
• Benefícios
Fonte: 4
MULTIPROGRAMAÇÃO
Fonte: 4
VIRTUALIZAÇÃO
Servidor Físico
VIRTUALIZAÇÃO
Hypervisor
Controlador Hypervisor
de partição
Sistema Operacional
VMware GSX,
VMware ESC Server, Microsoft Virtual Server,
System z LPAR System z, Linux KVM, HP Integrity VM User Mode Linux,
MS Hyper-v) z/VM e Xen Hypervisor
●https://www.redhat.com/pt-br/topics/virtualization/what-is-KVM
●https://www.virtualbox.org/
●https://www.ic.unicamp.br/~ducatte/mo401/1s2010/T2/Apresentacoes/
●https://edisciplinas.usp.br/mod/resource/view.php?id=2844150
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Tipos de Virtualização
ROTEIRO
• Virtualização x Emulação
• Containers
VIRTUALIZAÇÃO X EMULAÇÃO
• Virtualização
● As instruções do sistema operacional em uma VM são repassadas
• Emulação
● Todas as instruções são executadas via software
máquina real
Monitores de Máquinas Virtuais
● Dispositivos virtuais
● Desvantagem
● Prover um conjunto de dispositivos genéricos, o que pode causar
por este deve ser testada pelo monitor de máquinas virtuais (sobrecarga)
Monitores de Máquinas Virtuais
• Para-virtualização
são compatíveis
• AMD
● AMD-V – para arquiteturas x86 e 64 bits
• Intel
● Intel VT – para arquiteturas x86 e 64 bits
Softwares para Virtualização
Nome Tipo
VirtualBox Virtualização Total
Xen Para-Virtualização
VMWare Virtualização Total
QEMU Emulação
Linux VServer Virtualização no nível do SO
OpenVZ Virtualização Total
Containers
• O que é?
● Container é um ambiente isolado.
● Docker: é uma plataforma open source escrita na linguagem de
programação Go
● Ele agrupa partes de softwares de um sistema de arquivo
completo e que abrange todos os recursos necessários para a
sua execução.
● Desta forma, é uma plataforma de containers.
Containers
Fonte: 3
Containers
• Diferenças para ambientes virtualizados
● Container/Docker
Fonte: 3
Containers
• Diferenças para ambientes virtualizados
● Economiza recursos
Containers
Vantagens
● Tudo pode ser instalado no servidor e é armazenado nos containers.
Dessa forma, os mesmos softwares e as suas versões podem ter uma
execução facilitada em qualquer ambiente de desenvolvimento.
● Usa bibliotecas de kernel do SO em comum.
● Pacotes e até mesmo um ambiente inteiro são dispostos no container
e se tornam portáveis.
● Torna o trabalho conjunto mais eficiente.
● Simplifica a metodologia DevOps facilitando o desenvolvimento ágil.
● Permite o escalonamento de aplicações e o deploy de maneira mais
simples.
Containers
Vantagens
● Economia de recursos
● Maior disponibilidade dos sistemas
● Compartilhamento
● Os arquivos podem ser compartilhados entre o host e o
container ou um volume pode ser distribuído para outros
● Facilita o gerenciamento
● Aplicação como pacote completo
● Replicação e padronização
REFERÊNCIAS
● https://www.vmware.com/pdf/virtualization.pdf
● https://www.meupositivo.com.br/panoramapositivo/container-docker/
● https://www.mav.com.br/o-que-e-docker/
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Tipos de Virtualização
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Exemplos de Virtualizadores e
Ferramentas de Gerenciamento
ROTEIRO
• VirtualBox
• KVM/QEMU
• Docker
VirtualBox
• Site
● http://virtualbox.org
● É gratuita!
VirtualBox
• Hosted Hypervisor
● Código aberto (open-source) para arquiteturas x86. Roda em
Windows, macOS, Linux
Fonte: 7
VirtualBox
Fonte: 7
VirtualBox
Fonte: 7
KVM/QEMU
• Sites
● https://www.linux-kvm.org/page/Main_Page
● https://www.qemu.org/
• Bare-Metal
● KVM (Kernel-Based Virtual Machine):
Fonte: 3
KVM/QEMU
Fonte: 2
KVM/QEMU
Fonte: 2
Docker
• Site
● https://www.docker.com/
● Documentação
● https://docs.docker.com/
Fonte: 4
Docker
• Arquitetura Docker
Fonte: 4
Docker
Fonte: 6
Referências
https://www.oracle.com/us/technologies/virtualization/oraclevm/oracle-vm-virtualbox-ds-
1655169.pdf
https://sempreupdate.com.br/criar-vm-e-instalar-o-windows-10-no-virt-manager/
https://www.qemu.org/
https://fedorabr.org/discussion/176/tutorial-instalacao-e-uso-basico-do-qemu-kvm-virt-
manager
https://pt.wikiversity.org/wiki/Docker
https://www.alura.com.br/artigos/desvendando-o-dockerfile
https://www.virtualbox.org/manual/UserManual.html
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Exemplos de Virtualizadores e
Ferramentas de Gerenciamento
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
•Introdução
•Evolução dos Negócios
•Problemas
•Evolução das Tecnologias
•SOA
•Serviços Web
INTRODUÇÃO
Fonte: 3
EVOLUÇÃO DOS NEGÓCIOS
Fonte: 3
PROBLEMAS
● Objetivos:
● Integração de sistemas heterogêneos (interoperabilidade);
● Facilitar manutenções
SOA
Fonte: 2 (Adaptado)
ESTRUTURA E TERMINOLOGIA BÁSICA
Fonte: 2 (Adaptado)
SERVIÇOS WEB
• Características:
● Independente de linguagem ou plataforma
● Troca de mensagens XML
● Descreve uma operação a ser executada ou dados a serem
trocados
SERVIÇOS WEB
• Vantagens
● Permite diferentes serviços distribuídos executarem em uma
variedade de plataformas e arquiteturas.
● Integração com sistemas existentes.
● Integrar processos de negócios com clientes e fornecedores com
um custo menor.
● Web services permitem compartilhamento de processos sem
compartilhar tecnologias.
SERVIÇOS WEB
• Vantagens
● Oferecer serviços de negócios através da Web.
● Liberdade de escolha de ferramentas, produtos e tecnologias.
Usam padrões e protocolos abertos.
● Não fica preso a um middleware específico.
● Não importa se está utilizando Java ou Microsoft DCOM, etc.
● Permite o reúso de serviços e componentes.
SERVIÇOS WEB
• Desvantagens
• Arquitetura Básica
SERVIÇOS WEB
• Processamento
Fonte: 3
SERVIÇOS WEB
• Tecnologias envolvidas
● XML
● SOAP
● UDDI
● WSDL
SERVIÇOS WEB
• XML
● eXtensible Markup Language
● Padrão para descrição de dados para serem trocados pela Web.
● Base para todos os demais.
● Mensagens baseadas no protocolo SOAP.
● Descrições de serviços escritas em WSDL.
● Descrições de localização como entradas UDDI.
SERVIÇOS WEB
• SOAP
• Simple Object Access Protocol
• Formato de dados comum para troca de dados cliente–servidor.
• Utilizado para troca de informações em ambientes distribuídos.
• SOAP
Fonte: 3
SERVIÇOS WEB
<SOAP−ENV: E n v e l o p e
xmlns:SOAP−ENV=
” h t t p : // schemas . xmlsoap . org / soap / e n v e l o p e / ” SOAP−E N V : e n c o d i n
g S t y l e=
” h t t p : // schemas . xmlsoap . org / soap / e n c o d i n g / ”>
<SOAP−ENV: Header >
< t : T r a n s a c t i o n x m l n s : t=”some−URI ” SOAP−E NV: must Understand=”1
”>
</ t : T r a n s a c t i o n>
</SOAP−ENV:Header>
<SOAP−ENV: Body >
<m: Get Book Price xmlns: m=”some−URI ”>
< t i t l e >My L i f e and Times</ t i t l e >
<a u t h o r> F e l i x H a r r i s o n</ a u t h o r>
</ m: Get Book Price>
</SOAP−ENV:Body>
</SOAP−E NV: Envelope>
SERVIÇOS WEB
• WSDL
• UDDI
Repositório/registro/diretório de WS
● Constitui as “páginas amarelas” dos WS
● Localização de WS
● Obtenção de informações sobre os serviços
● Modo de utilizar o serviço (interface)
● Fornece todos os detalhes de como utilizar os serviços
SERVIÇOS WEB
< b u s i n e s s E n t i t y b u s i n e s s K e y=”35 AF7F00−1419−11D6−A0DC−000C0E00ACDD ”
authorized Name=”0100002CAL ” o p e r a t o r=”www−3. ibm . com/ s e r v i c e s / u d d i ”>
<name>BooksToGo</ name>
< d e s c r i p t i o n x m l : l a n g=”en ”>
The s o u r c e f o r a l l p r o f e s s i o n a l books
</ d e s c r i p t i o n>
< c o n t a c t s>
<c o n t a c t>
<personName>Benjamin Boss</ personName>
<phone>( 877 ) 1111111</ phone>
</ c o n t a c t>
</ c o n t a c t s>
REFERÊNCIAS
• Abstração
Fonte: 3
REFERÊNCIAS
1. Endrei, M., Ang, J., Arsanjani, A., Chua, S., Comte, P., Krogdahl, P., Luo, M., and
Newling, T. (2004). Patterns: Service-Oriented Architecture and Web Services. IBM
Redbooks Series. IBM Corporation. Disponível em:
http://www.redbooks.ibm.com/abstracts/sg246303.html
2. Web services and soap. Alonso, G., Casati, F., Kuno, H., and Machiraju, V. (2003).
Web services: Concepts, architectures, and applications. Springer
RESTFul Services
ROTEIRO
• Conceitos
• O que é REST
• Descrição de uma URI
• Implicação de uma Interface Uniforme
• Por que REST?
• A ideia por trás de REST
• Serviços RESTFul
CONCEITOS
• Interface restrita
● Usa os métodos padrão do protocolo
● HTTP: GET, POST, PUT, DELETE
•http://sales.com/customers/323421/customers/{customer-id}
•Leitura por humanos: Desejado, mas não mandatório
•Parâmetros da URI
•http://sales.com/customers?zip=49009
•Parâmetros de consulta para encontrar outros recursos
•http://sales.com/cars/mercedes/amg/e55;color=black
• Intuitivo
• Você sabe quais operações o recurso suportará
• Comportamento previsível
• GET - somente leitura e idempotente. Nunca altera o estado do recurso.
• PUT - uma inserção ou atualização idempotente de um recurso. Idempotente
porque é repetível sem efeitos colaterais.
• DELETE - remoção de recurso e idempotente.
• POST - não idempotente, operação "vale tudo“.
• Clientes, desenvolvedores, administradores, operações sabem o que esperar
• Muito mais fácil para os administradores atribuírem funções de segurança
• Para mensagens idempotentes, os clientes não precisam se preocupar com
mensagens duplicadas.
POR QUE REST?
∙ Simplicidade é melhor
∙ A Web funciona e muito bem
∙ Os serviços web devem seguir o estilo da Web
SERVIÇOS RESTFUL
• Conexão e descoberta
∙ Como a Web, as respostas HTTP contêm links para outros recursos
EXEMPLO DE REST API
Method GET
Querystring tag= Filter by tag
dt= Filter by date
Start = The number of the first
bookmark to return
end= The number of the last
bookmark to return
Returns 200 OK & XML
(delicious/bookmarks+xml)
401 Unauthorized
404 Not Found
EXEMPLO DE REST API
URL http://del.icio.us/api/[username]/bookmarks/
Method POST
Request XML
Body (delicious/bookmark+xml)
Method DELETE
[{"Email":"bob@example.com","Name":"Bob"},{"Email
":"mark@example.com","Name":"Mark"},{"Email":"j
ohn@example.com","Name":"John"}]
RECURSOS COM MÚLTIPLAS REPRESENTAÇÕES
Fonte: 4
REFERÊNCIAS
1. https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
2. Rotas & REST
3. Avaliação de manutenibilidade entre as abordagens de web services
RESTful e SOAP-WSDL
4. Three-Tier Architecture Overview
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
RESTFul Services