Title: Sistemas Distribu
1Sistemas Distribuídos
- Carlos Ferraz
- cagf_at_cin.ufpe.br
2Agenda
- Motivação
- O que são os Sistemas Distribuídos
- Definição
- Exemplo
- como funcionam e como são estruturados
- Desafios
- Convergência digital
- Habilidades para o desenvolvimento de Sistemas
Distribuídos - O profissional de Sistemas Distribuídos
3Motivação
Nos últimos anos, os sistemas distribuídos,
particularmente os serviços e aplicações baseados
na Web e Internet de forma geral, têm adquirido
interesse e importância sem precedentes. Técnicas
de sistemas distribuídos, como comunicação entre
processos, invocação remota, nomeação
distribuída, entre outras, fornecem a
infra-estrutura de execução que suporta as
aplicações em rede de hoje.
4O que são?
5Definição de Sistemas Distribuídos
- Um sistema distribuído é uma coleção de
computadores independentes que aparecem para os
usuários do sistema como um único computador.
(Tanenbaum) - Hardware máquinas autônomas
- Software os usuários pensam do sistema como um
único computador - Um sistema em que componentes de hardware e
software localizados em computadores em rede se
comunicam e coordenam suas ações por passagem de
mensagens. (Coulouris et al)
6Por que ter sistemas distribuídos?
- Integração de sistemas
- Ex sistema de alarme sistema de agenda
- Processamento de alto desempenho
- Paralelismo aproveitando recursos de
processamento distribuídos em rede - Segurança
- Distribuição dificulta ataques, como em
estratégias de guerra - Alta disponibilidade
- Falhas parciais
- Entre outras vantagens...
7Exemplo Web
Servidor DNS
Servidor de Arquivos
Servidor BD
Servidor DNS
Servidor Web
Porta 80
Internet
Servidor DNS
Servidor DNS
Cliente browser
8Como funcionam e como são estruturados?
- Clientes/servidores
- RPC
- Objetos distribuídos
- Baseados nos conceitos de orientação a objetos
C
S
Aplicação
C/S
C/S
O
O
O
O
O
Sistema Operacional
Sistema Operacional Distribuído
Sistema Operacional Distribuído
Rede
9Desafios
- Heterogeneidade
- Abertura
- Segurança
- Tratamento de falhas
- Concorrência
- Transparência
10Convergência Digital
Computação em rede
Sistemas Distribuídos Multimídia
Software Hardware para divertimento
informação
Difusão de conteúdo em rede
Mídia Filmes Música Notícias
11Desenvolvimento
12Habilidades
- Um pouco de redes
- Muito de plataformas de suporte a distribuição
- A maioria das linguagens de programação
incorporam modelos de programação distribuída
(RPC, RMI etc.) - Engenharia de software
- Requisitos funcionais
- Documentação
- ....
- Afinal está se desenvolvendo a Engenharia de
Software Distribuído!!! - Requisitos não-funcionais também
- Desempenho
- Segurança
- Tolerância a falhas, etc...
13Profissão
14O Profissional de Sistemas Distribuídos
- Desenvolve sistemas em redes, que vão
- desde sistemas operacionais,
- passando por middleware,
- até aplicações inerentemente distribuídas
envolvendo - educação a distância,
- telemedicina,
- vídeo-conferência,
- jogos em rede, entre outros...
- O mercado de trabalho para o profissional de
sistemas distribuídos é formado de - empresas de desenvolvimento de software
("fábricas de software"), básico ou aplicativo de
rede, - provedores de sistemas de informações na
Internet/Web, - ...
15Conclusão
Os profissionais de sistemas distribuídos, redes
e mídias colaboram para viabilizar a convergência
digital, que permite computação ubíqua, ou
seja, computação a qualquer hora e em qualquer
lugar.