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: Repositório Institucional da UCB
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 UCB-2_ba511a1a5da9b0473bc514eb277fbb6a
oai_identifier_str oai:localhost:riufcg/8474
network_acronym_str UCB-2
network_name_str Repositório Institucional da UCB
repository_id_str
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:Repositório Institucional da UCBinstname:Universidade Católica de Brasília (UCB)instacron:UCB2022-03-23T18:15:47Zoai:localhost:riufcg/8474Repositório InstitucionalPRIhttps://repositorio.ucb.br/oai/requestsara.ribeiro@ucb.bropendoar:2022-03-23T18:15:47Repositório Institucional da UCB - Universidade Católica de Brasília (UCB)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:Repositório Institucional da UCB
instname:Universidade Católica de Brasília (UCB)
instacron:UCB
instname_str Universidade Católica de Brasília (UCB)
instacron_str UCB
institution UCB
reponame_str Repositório Institucional da UCB
collection Repositório Institucional da UCB
repository.name.fl_str_mv Repositório Institucional da UCB - Universidade Católica de Brasília (UCB)
repository.mail.fl_str_mv sara.ribeiro@ucb.br
_version_ 1834012926991663104