Semânticas de Invocação e Camadas Arquiteturais
Classificado em Computação
Escrito em em
português com um tamanho de 2,91 KB
Semânticas de Invocação em Sistemas Distribuídos
1. Semântica "Poderia Ser" (Could Be)
Exemplos: UDP, métodos CORBA que retornam resultados.
- Não há certeza se um objeto foi executado uma vez, ou se não foi executado.
- Não se aplica qualquer medida de tolerância a falhas.
- Pode sofrer falhas de omissão se a invocação ou a resposta for perdida.
- Se o servidor falhar, o objeto remoto falharia.
- Se for definido um tempo limite, a resposta pode ser recebida após a sua expiração (assíncrono).
- É uma semântica útil em aplicações onde é aceitável ter falhas de invocação.
2. Semântica "Pelo Menos Uma Vez" (At Least Once)
Exemplos: Consultas, SUN RPC.
- Os resultados recebidos garantem que o método foi executado pelo menos uma vez, ou houve uma exceção indicando que não houve resultado.
- Pode conseguir transmitir mensagens que não foram respondidas.
- Dependendo se a falha ocorreu no envio para o servidor ou na resposta do servidor, podem ocorrer falhas arbitrárias (o método pode ser executado duas vezes, por exemplo).
- É uma semântica válida quando o método é idempotente.
3. Semântica "No Máximo Uma Vez" (At Most Once)
Exemplos: TCP, Java RMI, CORBA.
- Garante que o método foi executado exatamente uma vez, ou recebe uma exceção que indica que não foi executado.
- Implementa todas as medidas de tolerância a falhas.
- Não há erros de omissão, pois se uma mensagem falhar, ela é repetida.
- Como é executado apenas uma vez ou não, não pode haver julgamentos arbitrários.
Camadas Arquiteturais
Camada de Apresentação
- Módulo de Inicialização
- Session Manager
- Diálogo Manager
- Adaptação e Validação de Entrada
- Adaptador Channel
- Modelos de Apresentação
- Gerenciamento de Conteúdo
Camada de Negócios (Business Layer)
- Operações de Execução
- Serviços Empresariais
Camada de Integração
- Data Access Manager
- Gerente de Serviços de Acesso a Negócios
- Gerente de Adaptações Específicas
Comunicação Síncrona e Multicast
Garantias adicionais geradas em relação à ordem de entrega dos avisos de pontos de vista sobre a distribuição de mensagens de multicast:
- Integridade: Um processo entrega cada mensagem apenas uma vez. Se um processo envia uma mensagem, ela é enviada a um membro da sua visão.
- Acordo (Agreement): Processos corretos entregam as mesmas mensagens em cada vista.
- Validade (Validity): Processos corretos sempre entregam as mensagens que enviam.
A máquina de entrega falha, e são imediatamente entregues [m] um aviso de audiência sem [q].