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].

Entradas relacionadas: