O documento discute sistemas operacionais aplicados, especificamente sobre servidores de aplicação e conceitos relacionados como programa, serviço, rede, modelos de comunicação e protocolos. Aborda também aplicações centralizadas versus distribuídas e os papéis da rede e protocolos nesses sistemas.
3. Entendendo
• O que é um Servidor?
– Um computador que responde a solicitações de
serviços;
– Redundante, robusto, etc..
• O que é uma aplicação?
– Um programa em execução (processo).
4. Conceitos
• Programa (como é feito, para que serve);
• Serviço (como disponibilizar);
• Rede (como transferir mensagens);
• Modelos de comuncação (como montar a
arquitetura das aplicações);
• Protocolos (como entender as mensagens);
• Sistemas Distribuídos (como se comporta).
5. Aplicações Centralizadas
• São aplicações que executam em sua
totalidade ou quase totalidade em uma única
máquina.
• Um programa é executado tornando-se um
processo autonomo
6. Problemas de Aplicações
Centralizadas
• Descentralização dos dados (quando mais de uma
estação deve executar o programa);
• Ambiente não uniforme (diferentes máquinas
fazendo o mesmo trabalho);
• Alto investimento em estações de trabalho
(utilizam poucos recursos, principalmente
processamento);
7. Sistemas Distribuídos
• Descentralização do processamento (mantendo
sincronismo dos dados);
• Sistema mais robusto (poucas máquinas processam
em ambiente controlado);
• Sistema Eficiente (um grupo de máquinas podem
responder a uma solicitação);
• Redução de custo (estações de trabalho podem
operar com recurso limitado).
8. Problemas de Sistemas
Distribuídos
• Necessidade de infra-estrutura;
• Interconeção de redes;
• Investimento em departamento de tecnologia
(manter servidores);
• Reestruturação de empresas (que já trabalham
centralizadas).
9. Oportunidades
• Prover novos serviços;
• Portabilidade (caso de serviços web);
• Expandir as fronteiras da empresa.
10. O papel da Rede
• Prove ao sistema um canal de comunicação
entre as máquinas;
• Fundamental em sistemas distribuídos.
12. Cadmada de Aplicação
• Localizada na fronteira usuário-rede é o local
em que as aplicações do usuário (ou sistema)
são executados;
• Tanto cliente quanto servidores utilizam esta
camada para manter aplicações.
18. Chamada Procedimento Remoto
RPC
• Permite que aplicações invoquem métodos em
outras aplicações;
• Isola a lógica nos métodos remotos;
• Permite execução de aplicações complexas em
clientes burros.
19. Mensagem
• Sempre que uma comunicação é feita em RPC
uma mensagem é enviada para o servidor.
• Nesta mensagem é passado como parametros
dados de métodos, parametros de métodos,
valores, tipos, endereço de retorno, etc..
24. Resiliência de Processos
Idéia Básica: Replicar processos em grupos
para proteção contra falhas de processos.
Objetivo: Manter qualidade de serviço.
25. Resiliência de Processos
Processos idênticos são organizados em grupos
– Quando uma mensagem é enviada a um
grupo, TODOS os membros a recebem
– Se um processo do grupo falhar, espera-se
que um outro se encarregue do tratamento da
mensagem.
26. Resiliência de Processos
Grupos de processos são dinâmicos
– Grupos podem ser criados, processos podem
se mover entre os grupos.
OBS.: Uma mensagem pode ser enviada a um
grupo de processos e não a um processo
específico.