Combinando objetos distribuídos e arquiteturas orientadas a eventos em uma infraestrutura de comunicação para sistemas distribuídos.
Autor(a) principal: | |
---|---|
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 |