An architecture for extensible middleware platforms

This article presents a middleware platform architecture whose goals, motivated by the needs of a real‐world application, are the following: separation of functional and non‐functional code in applications, composition of non‐functional properties, and modularity and extensibility of the middleware platform itself. This architecture is inspired by the Enterprise Java Beans platform, and uses a new object composition model to separate and compose the non‐functional properties. In order to evaluate this architecture, we have implemented the JavaPod platform which we have used to implement a prototype of the application that motivated our goals. The results of these experiments show that our goals can indeed be achieved with our architecture. Copyright © 2001 John Wiley & Sons, Ltd.

[1]  Eric Bruneton JavaPod: an Adaptable and Extensible Component Platform , 2000 .

[2]  Bedir Tekinerdogan,et al.  Solving the modeling problems of object-oriented languages by composing multiple aspects using composition filters , 1998 .

[3]  Charlotte Pii Lunau Is Composition of Metaobjects = Aspect Oriented Programming , 1998, ECOOP Workshops.

[4]  Cristina V. Lopes,et al.  A study on exception detection and handling using aspect-oriented programming , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[5]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[6]  Michel Riveill,et al.  JavaPod : une plate-forme à composants adaptable et extensible , 2000 .

[7]  George F. Riley,et al.  Efficient Implementation of Java Remote Method Invocation (RMI) , 1998, COOTS.

[8]  Jean-Charles Fabre,et al.  C++およびJavaによる自己反映プログラミング = Proceedings of OOPSLA '98 Workshop on Reflective Programming in C++ and Java, Vancouver, Canada, Sunday, October 18th, 1998 , 1998 .

[9]  Lodewijk Bergmans,et al.  The Composition-Filters Object Model* , 1998 .

[10]  Gordon S. Blair,et al.  Experiments with Reflective Middleware , 1998, ECOOP Workshops.

[11]  Linda G. DeMichiel,et al.  The Common Lisp Object System: An Overview , 1987, ECOOP.

[12]  Gordon S. Blair,et al.  On the Design of Reflective Middleware Platforms , 2000 .

[13]  Jeff McAffer Meta-level Programming with CodA , 1995, ECOOP.

[14]  Michael Golm,et al.  metaXa and the Future of Reflection , 1998 .

[15]  J. McAffer,et al.  Meta-level architecture support for distributed objects , 1995, Proceedings of International Workshop on Object Orientation in Operating Systems.

[16]  Roy H. Campbell,et al.  Reflective ORBs: Supporting Robust, Time-Critical Distribution , 1997, ECOOP Workshops.

[17]  Andrew Herbert,et al.  FlexiNet: A Flexible, Component-Oriented Middleware System , 1999, Advances in Distributed Systems.

[18]  A. J. Herbert,et al.  Mobile Java Objects , 1999 .

[19]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[20]  Michel Riveill,et al.  Reflective implementation of non-functional properties with the JavaPod component platform , 2000 .

[21]  Daniel Hagimont,et al.  A protection scheme for mobile agents on Java , 1997, MobiCom '97.

[22]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[23]  Luiz Eduardo Buzato,et al.  The Design and Implementation of Guaraná , 1999, COOTS.