The JBoss Extensible Server

JBoss is an extensible, reflective, and dynamically reconfigurable Java application server. It includes a set of components that implement the J2EE specification, but its scope goes well beyond J2EE. JBoss is open-ended middleware, in the sense that users can extend middleware services by dynamically deploying new components into a running server. We believe that no other application server currently offers such a degree of extensibility. This paper focuses on two major architectural parts of JBoss: its middleware component model, based on the JMX model, and its meta-level architecture for generalized EJBs. The former requires a novel class loading model, which JBoss implements. The latter includes a powerful and flexible remote method invocation model, based on dynamic proxies, and relies on systematic usage of interceptors as aspect-oriented programming artifacts.

[1]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Gregor Kiczales,et al.  Discussing aspects of AOP , 2001, CACM.

[4]  Ian T. Foster,et al.  Grid Services for Distributed System Integration , 2002, Computer.

[5]  Jacques Ferber,et al.  Computational reflection in class based object-oriented languages , 1989, OOPSLA '89.

[6]  Willy Zwaenepoel,et al.  Performance and scalability of EJB applications , 2002, OOPSLA '02.

[7]  Sheng Liang,et al.  Dynamic class loading in the Java virtual machine , 1998, OOPSLA '98.

[8]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[9]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[10]  Microsystems Sun,et al.  Enterprise JavaBeans^ Specification Version 2.1 , 2002 .

[11]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[12]  Jean-Pierre Hubaux,et al.  A Survey of Distributed Enterprise Network and Systems Management Paradigms , 1999, Journal of Network and Systems Management.

[13]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[14]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[15]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[16]  L. Deri,et al.  Yasmin: a component based architecture for software applications , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[17]  Gordon S. Blair,et al.  An Efficient Component Model for the Construction of Adaptive Middleware , 2001, Middleware.

[18]  Luca Deri,et al.  A Component-based Architecture for Open, Independently Extensible Distributed Systems , 1997 .

[19]  Juha Lindfors,et al.  JMX: Managing J2EE with Java Management Extensions , 2002 .

[20]  Stuart Dabbs Halloway Component Development for the Java¿ Platform , 2001 .