[pt] Neste trabalho apresentamos o design e implementação de visualização
distribuída e colaboração para um visualizador 3D imersivo. Começamos
apresentando, em um alto nível de abstração, nosso design de um
visualizador genérico. O design segue a abordagem MVC, isolando todos
os objetos de negócios na camada de baixo da aplicação para torná-la
modular e extensível, permitindo assim a mais fácil prototipagem de
funcionalidades e isolamento de algoritmos complexos da lógica de negócios.
Este design como solução surgiu da necessidade real de um visualizador
de implementação monolítica, cuja manutenção e aprimoramento se
encontravam com alta complexidade devido à mistura entre a lógica
de aplicação e os diversos algoritmos de visualização e distribuição.
Esperamos que nosso design possa ser reutilizado como inspiração para
outros visualizadores que queiram reduzir a complexidade e o custo do
desenvolvimento de novas funcionalidades de negócios. Sobre este design,
então, apresentamos o design e implementação detalhados de um módulo
que provê visualização distribuída e colaboração para o visualizador. Este
módulo é não intrusivo porque não requer qualquer mudança na arquitetura
da aplicação, e esta pode se tornar distribuída apenas pela inclusão do
módulo. Este módulo serve como prova de conceito para o nosso design,
por solucionar um problema clássico de distribuição e sincronismo em um
visualizador de maneira transparente para a lógica de negócios. Ainda
implementamos um visualizador exemplo com este design e nele conectamos
o módulo proposto, onde verificamos ambos o sincronismo da visualização
distribuída e a consistência da colaboração entre múltiplos nós, avaliamos
também o impacto no desempenho causado pela visualização distribuída. / [en] In this work, we present the design and implementation of distributed
visualization and collaboration for a, immersive 3D visualizer. We start by
presenting, on a high abstraction level, our design of a generic visualizer.
The design follows an MVC approach, isolating all the business objects
in the lowest level of the application, making it modular and extensible,
therefore providing an easier prototyping of functionality and the isolation
of complex business logic algorithms. This design as a solution came
from the real necessity of a visualizer with a monolithic implementation,
whose maintainability and improvement are impaired due to a high
complexity because of the coupling between the business logic and the
diverse visualization and distribution algorithms. Our hope is that our
design can be reused as an inspiration for other visualizers that wish
to reduce the complexity and cost of the development of new business
functionality. On top of this design, then, we present the detailed design
and implementation of a module that provides distributed visualization
and collaboration to the visualizer. This module is non intrusive because
it requires no changes to the application architecture, and the application
can become distributed just by the inclusion of the module. This module
serves as a proof of concept for our design as it solves a classic problem of
distribution and synchronism in a visualizer in a way that is transparent
to the business logic. Also, we implemented an example visualizer with our
design and our proposed module, where we veried both the synchronism
of the distributed visualization and the consistency of the collaboration
among multiple nodes, we also evaluated the performance impact caused by
the distributed visualization.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:23953 |
Date | 29 January 2015 |
Creators | ALEXANDRE VALDETARO PORTO |
Contributors | ALBERTO BARBOSA RAPOSO |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | English |
Detected Language | English |
Type | TEXTO |
Page generated in 0.002 seconds