Aspectos para Construção de Aplicações Distribuídas

  • Cristiano Amaral Maffort PUC Minas
  • Marco Túlio de Oliveira Valente PUC Minas

Resumo


Plataformas de middleware são largamente empregadas por engenheiros de software para tornar mais produtivo o desenvolvimento de aplicações distribuídas. No entanto, os sistemas atuais de middleware são, em geral, invasivos, pervasivos e transversais ao código de negócio de aplicações distribuídas. Neste artigo, apresenta-se um sistema de apoio à programação distribuída que encapsula em aspectos os serviços de distribuição providos por duas plataformas de middleware: Java RMI e Java IDL. O sistema proposto é suficientemente flexível e expressivo de forma a permitir o uso das principais abstrações providas por estas duas tecnologias de middleware, além de suportar diversas arquiteturas e configurações típicas de sistemas distribuídos.
Palavras-chave: distribuição, middleware, orientação por aspectos, separação de interesses

Referências

Mariano Ceccato and Paolo Tonella. Adding distribution to existing applications by means of aspect oriented programming. In 4th IEEE International Workshop on Source Code Analysis XX Simpósio Brasileiro de Engenharia de Software 285 and Manipulation, pages 107–116. IEEE Computer Society, 2004.

Shigeru Chiba and Rei Ishikawa. Aspect-oriented programming beyond dependency injection. In 19th European Conference on Object-Oriented Programming, volume 3586 of Lecture Notes in Computer Science, pages 121–143. Springer, 2005.

Tal Cohen and Joseph Gil. AspectJ2EE = AOP + J2EE. In 18th European Conference on ObjectOriented Programming, volume 3086 of LNCS, pages 219–243. Springer-Verlag, 2004.

S. Ghosh, R. B. France, A. Bare, B. Kamalalar, R. P. Shankar, D. M. Simmonds, G. Tandon, P. Vile, and S. Yin. A middleware transparent approach to developing distributed applications. Software Practice and Experience, 35(12):1131–1154, October 2005.

Java IDL. http://java.sun.com/products/jdk/idl.

Dawid Kurzyniec, Tomasz Wrzosek, Vaidy S. Sunderam, and Aleksander Slominski. RMIX: A multiprotocol RMI framework for Java. In 17th International Parallel and Distributed Processing Symposium, pages 140–146. IEEE Computer Society, April 2003.

Cristina Videira Lopes. D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University, December 1997.

Martin Fowler. Inversion of control containers and the dependency injection pattern. http://www.martinfowler.com/articles/injection.html.

Muga Nishizawa, Shigeru Chiba, and Michiaki Tatsubori. Remote Pointcut: A Language Construct for Distributed AOP. In 3rd International Conference on Aspect-Oriented Software Development, pages 7–15. ACM Press, 2004.

OMG Model Driven Architecture. http://www.omg.org/mda.

Roman Pichler, Klaus Ostermann, and Mira Mezini. On aspectualizing component models. Software Practice and Experience, 33(10):957–974, August 2003.

Macneil Shonle, Karl J. Lieberherr, and Ankit Shah. Xaspects: an extensible system for domainspecific aspect languages. In OOPSLA Companion, pages 28–37. ACM Press, October 2003.

Jon Siegel. CORBA 3 Fundamentals and Programming. John Wiley & Sons, 2nd edition, 2000.

Sergio Soares, Paulo Borba, and Eduardo Laureano. Distribution and persistence as aspects. Software Practice and Experience, 36(7):711–759, 2006.

Sergio Soares. An Aspect-Oriented Implementation Method. PhD thesis, Federal Universisty of Pernambuco, Recife, Brazil, October 2004.

Eli Tilevich, Stephan Urbanski, Yannis Smaragdakis, and Marc Fleury. Aspectizing server-side distribution. In Automated Software Engineering Conference, pages 130–141. IEEE Press, October 2003.

Mitchell Wand. Understanding aspects: extended abstract. In 8th International Conference on Functional Programming, pages 299–300. ACM Press, August 2003.

A. Wollrath, R. Riggs, and J. Waldo. A distributed object model for the Java system. In 2nd Conference on Object-Oriented Technologies & Systems, pages 219–232, 1996.
Publicado
16/10/2006
Como Citar

Selecione um Formato
MAFFORT, Cristiano Amaral; VALENTE, Marco Túlio de Oliveira. Aspectos para Construção de Aplicações Distribuídas. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 20. , 2006, Florianópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2006 . p. 271-286. DOI: https://doi.org/10.5753/sbes.2006.21218.