Implementação de espaços de tuplas do tipo JavaSpaces.

Um espaço de tuplas tem como função criar uma abstração de memória compartilhada sobre um sistema distribuído. Por propiciar modelos de programação muito simples e com baixo acoplamento entre os elementos do sistema, espaços de tuplas têm sido empregados na construção de sistemas distribuídos comple...

ver descrição completa

Detalhes bibliográficos
Autor: Figueiredo, Orlando de Andrade
Tipo de documento: dissertação
Estado:Versão publicada
Data de publicação:2002
País:Brasil
Recursos:Universidade de São Paulo (USP)
Repositório:Biblioteca Digital de Teses e Dissertações da USP
Idioma:português
OAI Identifier:oai:teses.usp.br:tde-08032003-012015
Acesso em linha:http://www.teses.usp.br/teses/disponiveis/55/55134/tde-08032003-012015/
Access Level:Acceso aberto
Palavra-chave:espaços de tuplas
Java
JavaSpaces
Jini
persistência de objetos
sistemas distribuídos
Descrição
Resumo:Um espaço de tuplas tem como função criar uma abstração de memória compartilhada sobre um sistema distribuído. Por propiciar modelos de programação muito simples e com baixo acoplamento entre os elementos do sistema, espaços de tuplas têm sido empregados na construção de sistemas distribuídos complexos. O espaço de tuplas JavaSpaces é um dos mais populares espaços de tuplas para a linguagem Java. Ele tem como características relevantes a conformidade a objetos, a persistência e o emprego de transações. As atuais implementações de JavaSpaces apresentam restrições como: complexidade de configuração, limitação de alcance e não serem abertas. Por “complexidade de configuração" entende-se ter que usar boa parte da infra-estrutura Jini (feita para facilitar o desenvolvimento e administração de sistemas distribuídos) e o Remote Method Invocation (mecanismo de chamadas remotas padrão no ambiente Java), mesmo quando eles seriam dispensáveis. Por "limitação de alcance", entende-se não poder usar as implementações sobre redes amplas, como a Internet. Por “não ser aberto" entende-se que: ou o código fonte não está disponível ou o código fonte e o aplicativo são distribuídos por licenças de software proprietárias ou o uso do software requer algum componente proprietário. Um projeto de espaço de tuplas em conformidade com a especificação JavaSpaces e que busca contornar as restrições acima é apresentado neste trabalho. São destaques do projeto proposto: 1. Dispensar o Remote Method Invocation pois utiliza sockets diretamente; 2. Implementar a persistência sobre bases de dados relacionais; 3. Suscitar o emprego de um mecanismo direto para obtenção de proxies Jini. As características 1 e 3 simplificam a configuração do espaço de tuplas e viabilizam o seu emprego da Internet. A característica 2 viabiliza uma implementação baseada em software aberto. Um protótipo foi implementado para verificar as idéias propostas.