Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
Title: Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
Other Titles: Combining distributed objects and architectures event-oriented infrastructure in a communication for distributed systems.
???metadata.dc.creator???: LIMA, Aliandro Higino Guedes.
???metadata.dc.contributor.advisor1???: CIRNE FILHO, Walfredo da Costa.
???metadata.dc.contributor.referee1???: BRASILEIRO, Francisco Vilar.
???metadata.dc.contributor.referee2???: GUERRERO, Dalton Dario Serey.
???metadata.dc.contributor.referee3???: LEJBMAN, Alfredo Goldman Vel.
Keywords: Sistemas de Processamento Distribuído;Objetos Distribuídos Assíncrono;Arquitetura Baseada em Eventos;Distributed Processing Systems;Asynchronous Distributed Objects;Event Based Architecture
Issue Date: 22-Sep-2006
Publisher: Universidade Federal de Campina Grande
Citation: LIMA, A. H. G. Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos. 2006. 130 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2006. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
???metadata.dc.description.resumo???: Nas últimas décadas, muito esforço foi empregado na intenção de tornar o desenvolvimento de sistemas distribuídos tão simples quanto o desenvolvimento de sistemas locais. Todavia, certas características inerentes a ambientes distribuídos (e.g., falhas parciais e concorrência), precisam ser evidenciadas para o programador. Existem também aspectos como conectividade parcial (devido ao uso de firewalls e NATs) que são bastante comuns quando a comunicação acontece entre múltiplos domínios administrativos. Diante disso, o modelo de Objetos Distribuídos surgiu como uma solução que se aproxima ao máximo do paradigma local orientado a objetos. Contudo, objetos distribuídos criam a ilusão de que as threads atravessam o espaço de endereçamento local, caminhando por toda a aplicação distribuída. Conseqüentemente, esta solução apresenta todos os problemas relacionados ao modelo complexo e não-determinístico de threads. Além disso, uma vez que objetos distribuídos usam um modelo de comunicação bloqueante, não são apropriados para aplicações nas quais um cliente tem outras “coisas” a fazer além de esperar uma resposta do servidor. Como alternativa, existe uma série de soluções baseadas em mensagens, que delimitam escopo para as threads da aplicação, mas falham em fornecer boa integração com a linguagem de programação, mecanismo de detecção de falhas bem definido e bom suporte à comunicação na presença de firewalls e NATs. Nesta dissertação, sustentamos a tese de que é possível combinar objetos distribuídos com arquiteturas event-driven (tipo específico de solução baseada em mensagens), construindo uma solução bem integrada à linguagem de programação, apropriada para aplicações não-bloqueantes e cujas threads têm escopo bem definido. Para sustentar nossa tese, apresentamos o JIC (Java Internet Communication), uma solução que também permite comunicação na presença de firewalls e NATs e oferece um mecanismo de detecção de falhas simples de usar e com semântica precisa. Experimentos mostram que o JIC tem desempenho comparável a Java RMI e uma análise que considera aspectos de engenharia de software mostra que, usando JIC, é possível focar mais em lógica de negócio e construir um código mais modularizado, explorando paralelismo sem precisar escrever código multi-threaded e, conseqüentemente, evitando problemas inerentes a threads.
Abstract: In the last decades, much work has been done in order to make the development of distributed systems as simple as the development of centralized systems. However, there are inherent characteristics of a distributed environment (e.g., partial failure and concurrency), which need to be explicited to the programmer. There are also other aspects, like partial connectivity (imposed by firewalls and NATs), which are common in communication across multiple administrative domains. Distributed Objects then appeared as a solution that is as close as possible to the centralized object oriented model. Nevertheless, distributed objects create the illusion that threads traverse the whole application, which brings all the problems related to the complex and non-deterministic thread model. Moreover, as distributed objects rely on a blocking communication model, they are not well suited for applications in which a client has other things to do besides waiting for the server response. As an alternative, there are a number of message-based solutions, which delimit scope for it’s threads, but fail on providing good integration to the programming language, a well-defined failure detection mechanism or even a good support for firewall and NAT traversal. Our thesis is that it is possible to combine distributed objects with an event-driven architecture (which is an specific type of message-based solution) in order to provide a solution that relies on a non-blocking communication model, yet providing close semantics to the object oriented paradigm, providing precise scope for the application’s threads. Then, we propose JIC (Java Internet Communication), a solution that supports our thesis, also designed to be firewall and NAT friendly and which provides an embedded failure detection mechanism simple to use and with precise semantics. An evaluation shows that JIC has performance comparable to Java RMI. A software engineering analysis also shows that, by using JIC, it is possible to focus more on the business logic of the application and build well-modularized code, exploiting parallelism without writing multi-threaded programs. This greatly avoids the inherent problems of threads.
Keywords: Sistemas de Processamento Distribuído
Objetos Distribuídos Assíncrono
Arquitetura Baseada em Eventos
Distributed Processing Systems
Asynchronous Distributed Objects
Event Based Architecture
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
ALIANDRO HIGINO GUEDES LIMA - DISSERTAÇÃO (PPGCC) 2006Aliandro Higino Guedes Lima - Dissertação (PPGCC) 2006.3.03 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.