Zusammenfassung der Ressource
distribuição O O
- SISTEMAS DISTRIBUÍDOS ORIENTADOS A OBJETOS
- permite que os
objetos sejam
instanciados num
ambiente distribuído
- Distribuição: o sistema executa numa rede de
computadores independentes e heterogêneos
- Transparência: o sistema esconde o ambiente
distribuído e outros detalhes desnecessários ao
usuário
- Por exemplo, um sistema pode prover a
característica de transparência de localização e
com isto o usuário não precisa se preocupar com a
localização física de um objeto para fazer uma
invocação.
- ntegridade dos dados: o sistema assegura a
integridade do objeto sempre que uma
invocação é executada
- Tolerância a falhas: a falha de um computador ou
um objeto representa apenas uma falha parcial do
sistema, a perda é restrita ao computador ou ao
objeto. O restante do sistema continua
processando.
- Disponibilidade: o sistema assegura a disponibilidade
dos objetos, independente de falhas nos computadores.
- "Recuperabilidade”: se um computador falhar, o
sistema recupera automaticamente os objetos
persistentes residentes neste computador.
- Autonomia dos objetos: o sistema permite ao
criador do objeto especificar os clientes
autorizados a operar sobre ele
- Concorrência no processamento: o sistema
permite que objetos de um programa possam ser
atribuídos a múltiplos processadores para que
eles possam ser executados "concorrentemente”
- Concorrência nos objetos: um objeto servidor pode
atender a múltiplas invocações de clientes
"concorrentemente”
- Gerenciamento
- Objetos
- Gerenciamento de transações
Anmerkungen:
- tem a função de gerenciar transações onde uma transação é uma coleção de operações que executa uma única função lógica numa aplicação.
- “Serialização”: transações
concorrentes são escalonadas de forma
a serem executadas seqüencialmente
em alguma ordem
- Atomicidade: uma transação é completada
de forma total ou é abortada.
- Persistência: os efeitos de uma transação completada,
com sucesso, nunca são perdidos, exceto quando
houver uma falha catastrófica.
- Sincronização: tem a função de garantir que
atividades de múltiplas transações, invocando o
mesmo objeto não conflitem ou interfiram entre si
- Segurança de acesso: tem a função de atribuir diferentes níveis
de segurança aos usuários para operar sobre diferentes
conjuntos de objetos
- Confiabilidade de objetos: tem a função de num
sistema detectar e recuperar objetos.
- recuperar a falha ocorrida
num objeto o mais rápido
possível
- replicar os objetos em vários
computadores e utilizar a cópia
disponível
- Invocaçãpo de objetos cooperantes
- localizar um determinado objeto
- prover a propriedade de transparência de
localização que possibilita a um cliente
invocar um objeto sem conhecer a sua
localização
- manipular as interações entre os objetos
- quando um cliente faz uma invocação
sobre um objeto, o sistema é
responsável por executar os passos
necessários para entregar o pedido
para o objeto servidor especificado e
retornar o resultado para ao cliente
- detectar falhas de invocação
- detectar falhas de hardware ou software que
ocorram antes de uma invocação ser iniciada
ou durante a execução de uma invocação
- recursos físicos da rede
- armazenamento em memória/disco
Anmerkungen:
- armazenar apenas uma única versão de cada objeto, assim, todas as requisições que invocam um objeto modificam a mesma versão ou armazenar múltiplas versões de cada objeto, desta forma, toda requisição invocando um objeto é atribuída a uma das versões na qual a modificação é executada. Isto possibilita que múltiplas requisições sejam invocadas sobre o mesmo objeto simultaneamente assegurando a não interferência delas entre si
- balanceamento de carga
Anmerkungen:
- o principal objetivo do balanceamento de carga é maximizar a taxa de resposta do sistema. Isto pode ser obtido de duas formas: primeiramente, os objetos podem ser atribuídos a processadores que estão mais ociosos para que eles trabalhem “concorrentemente” ou objetos que interajam freqüentemente possam ser atribuídos ao mesmo processador ou a processadores próximos para reduzir o custo de comunicação entre eles
- Objetos Distribuidos
- características
- propósito de um objeto distribuído é executar um
conjunto de funções relacionadas entre si que
atendam a múltiplos clientes remotos
- visão do cliente de um objeto distribuído é uma
interface, definindo somente o comportamento (a
funcionalidade) que o cliente pode esperar de um
determinado objeto distribuído
- Desempenho: o custo da invocação de um
objeto distribuído, isto é, de um pedido de
execução de um dos seus métodos, é medido em
milissegundos, assim, para um objeto distribuído
não se pode ignorar o custo da invocação de
métodos na determinação do desempenho,
devendo este custo ser cuidadosamente
considerado na análise do desempenho geral de
um sistema
- Complexidade: objetos distribuídos são
usualmente complexos, mas essa complexidade
é invisível ao cliente
- Número: sistemas baseados em objetos
distribuídos tipicamente são compostos por
um número pequeno de interfaces e um
número pequeno de objetos distribuídos
- Localização: objetos distribuídos geralmente
não estão localizados no mesmo espaço de
endereçamento dos seus clientes
- Concorrência: objetos distribuídos são
utilizados por um grande número de clientes
necessitando, com isto, o gerenciamento de
problemas de concorrência muito complexos
- Dificuldades/Soluções
- Dificuldades
- Como essas aplicações devem ser implementadas.
- Como esses sistemas irão se comunicar.
- Como manter as informações num estado consistente
- Como situar serviços de forma a satisfazer as
necessidades dos usuários
- Como manter a segurança de acesso
- Como as falhas podem ser resolvidas
- Como gerenciar a evolução dos sistemas
- Serviços
- Objetos de uma aplicação possam residir em qualquer lugar da rede
- Serviços de persistência possam armazenar e recuperar objetos
eficientemente.
- Serviços de pesquisa possam localizar objetos
apropriadamente onde quer que eles residam.
- Serviços de segurança possam restringir o acesso a
objetos sensíveis
- Serviços de concorrência possam prover isolamento de ações
entre usuários
- Serviços de transações possam coordenar atualizações
em múltiplos objetos