Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.

Detalhes bibliográficos
Autor(a) principal: LIMA, Aliandro Higino Guedes.
Data de Publicação: 2006
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
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.
id UFCG_ba511a1a5da9b0473bc514eb277fbb6a
oai_identifier_str oai:localhost:riufcg/8474
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.Combining distributed objects and architectures event-oriented infrastructure in a communication for distributed systems.Sistemas de Processamento DistribuídoObjetos Distribuídos AssíncronoArquitetura Baseada em EventosDistributed Processing SystemsAsynchronous Distributed ObjectsEvent Based ArchitectureCiência da ComputaçãoNas ú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.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.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGCIRNE FILHO, Walfredo da Costa.Cirne Filho, W.http://lattes.cnpq.br/5908699791494075BRASILEIRO, Francisco Vilar.GUERRERO, Dalton Dario Serey.LEJBMAN, Alfredo Goldman Vel.LIMA, Aliandro Higino Guedes.2006-09-222019-10-25T09:40:36Z2019-10-252019-10-25T09:40:36Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474LIMA, 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/8474porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-23T18:15:47Zoai:localhost:riufcg/8474Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-23T18:15:47Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
Combining distributed objects and architectures event-oriented infrastructure in a communication for distributed systems.
title Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
spellingShingle Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
LIMA, Aliandro Higino Guedes.
Sistemas de Processamento Distribuído
Objetos Distribuídos Assíncrono
Arquitetura Baseada em Eventos
Distributed Processing Systems
Asynchronous Distributed Objects
Event Based Architecture
Ciência da Computação
title_short Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
title_full Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
title_fullStr Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
title_full_unstemmed Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
title_sort Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
author LIMA, Aliandro Higino Guedes.
author_facet LIMA, Aliandro Higino Guedes.
author_role author
dc.contributor.none.fl_str_mv CIRNE FILHO, Walfredo da Costa.
Cirne Filho, W.
http://lattes.cnpq.br/5908699791494075
BRASILEIRO, Francisco Vilar.
GUERRERO, Dalton Dario Serey.
LEJBMAN, Alfredo Goldman Vel.
dc.contributor.author.fl_str_mv LIMA, Aliandro Higino Guedes.
dc.subject.por.fl_str_mv Sistemas de Processamento Distribuído
Objetos Distribuídos Assíncrono
Arquitetura Baseada em Eventos
Distributed Processing Systems
Asynchronous Distributed Objects
Event Based Architecture
Ciência da Computação
topic Sistemas de Processamento Distribuído
Objetos Distribuídos Assíncrono
Arquitetura Baseada em Eventos
Distributed Processing Systems
Asynchronous Distributed Objects
Event Based Architecture
Ciência da Computação
description 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.
publishDate 2006
dc.date.none.fl_str_mv 2006-09-22
2019-10-25T09:40:36Z
2019-10-25
2019-10-25T09:40:36Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
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
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8474
identifier_str_mv 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
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744406996058112