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

Full description

Bibliographic Details
Author: Figueiredo, Orlando de Andrade
Format: master thesis
Status:Published version
Publication Date:2002
Country:Brasil
Institution:Universidade de São Paulo (USP)
Repository:Biblioteca Digital de Teses e Dissertações da USP
Language:Portuguese
OAI Identifier:oai:teses.usp.br:tde-08032003-012015
Online Access:http://www.teses.usp.br/teses/disponiveis/55/55134/tde-08032003-012015/
Access Level:Open access
Keyword:espaços de tuplas
Java
JavaSpaces
Jini
persistência de objetos
sistemas distribuídos
Description
Summary: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.