Advertisement

The JBoss Extensible Server

  • Marc Fleury
  • Francisco Reverbel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2672)

Abstract

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 o.ers 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.

Keywords

Virtual Machine Service Component Java Virtual Machine Application Component Management Interface 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    J. Bloch. Effective Java. The Java Series. Addison-Wesley, 2001.Google Scholar
  2. 2.
    F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, 1996.Google Scholar
  3. 3.
    E. Checchet, J. Marguerite, and W. Zwanepoel. Performance and scalability of EJB applications. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’02), 2002.Google Scholar
  4. 4.
    M. Clarke, G. S. Blair, G. Coulson, and N. Parlavantzas. An efficient component model for the construction of adaptive middleware. In Middleware 2001 — IFIP/ACM International Conference on Distributed Systems Platforms, volume 2218 of LNCS, pages 160–178. Springer-Verlag, 2001.Google Scholar
  5. 5.
    M. Dahm. Byte code engineering with the BCEL API. Technical Report B-17-98, Freie Universität Berlin — Institut für Informatik, 1998.Google Scholar
  6. 6.
    L. Deri. A Component-Based Architecture for Open, Independently Extensible Distributed Systems. PhD thesis, University of Berne, Switzerland, 1997.Google Scholar
  7. 7.
    L. Deri. Yasmin: A component-based architecture for software applications. In 8th International Workshop on Software Technology and Engineering Practice (STEP’97), pages 4–12, London, July 1997. IEEE Computer Society. Also published as IBM Research Report RZ 2899.Google Scholar
  8. 8.
    T. Elrad, M. Aksit, G. Kiczales, K. Lieberherr, and H. Ossher. Discussing aspects of AOP. Communications of the ACM, 44(10):33–38, October 2001.CrossRefGoogle Scholar
  9. 9.
    J. Ferber. Computational reflection in class-based object-oriented languages. In Proceedings of the 4th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’89), pages 317–326, 1989.Google Scholar
  10. 10.
    I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke. Grid services for distributed system integration. Computer, 35(6):37–46, June 2002.CrossRefGoogle Scholar
  11. 11.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns — Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.Google Scholar
  12. 12.
    S. D. Halloway. Component Development for the Java Platform. Addison-Wesley, 2002.Google Scholar
  13. 13.
    R. Hayton and ANSA Team. FlexiNet Architecture. ANSA Architecture Report, Citrix Systems Ltd., Cambridge, UK, February 1999. Available in the ANSA web site (http://www.ansa.co.uk).Google Scholar
  14. 14.
    T. Jewell. EJB 2 and J2EE packaging, part II, July 2001. Available in O’Reilly’s On Java web site (http://www.onjava.com).
  15. 15.
    C. G. Jung. java.lang.ClassLoader.loadClassInternal (String) is too restrictive. Bug report submitted to java.sun.com (bug id 4670071), April 2002.Google Scholar
  16. 16.
    G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP’97 — Object-Oriented Programming, 11th European Conference, volume 1241 of LNCS, pages 220–242. Springer-Verlag, 1997.Google Scholar
  17. 17.
    F. Kon, F. Costa, G. Blair, and R. H. Campbell. The case for reflective middleware. Communications of the ACM, 45(6):33–38, June 2002.CrossRefGoogle Scholar
  18. 18.
    S. Liang and G. Bracha. Dynamic class loading in the Java virtual machine. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’98), pages 36–44, 1998.Google Scholar
  19. 19.
    J. Lindfors, M. Fleury, and The JBoss Group. JMX: Managing J2EE with Java Management Extensions. SAMS, 2002.Google Scholar
  20. 20.
    J. P. Martin-Flatin, S. Znaty, and J. P. Hubaux. A survey of distributed enterprise network and systems management paradigms. Journal of Network and Systems Management, 7(1): 9–26, 1999.zbMATHCrossRefGoogle Scholar
  21. 21.
    B. Peterson. Understanding J2EE application server class loading architectures, May 2002. Available in TheServerSide.com (http://www.theserverside.com).
  22. 22.
    D. Schmidt, M. Stal, H. Rohnert, and F. Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Wiley, 2000.Google Scholar
  23. 23.
    SourceForge.net. Monthly download statistics for JBoss, December 2002. http://sf.net/project/stats/index.php?report=months&groupid=22866.
  24. 24.
    S. Stark and The JBoss Group. JBoss Administration and Development, Edition 2.JBoss Group, 2002.Google Scholar
  25. 25.
    Sun Microsystems. Enterprise JavaBeans Specification, Version 2.0, 2001. http://java.sun.com/ejb/.
  26. 26.
    Sun Microsystems. Java 2-Platform Enterprise Edition Spec., v1.3, 2001. http://java.sun.com/j2ee/.
  27. 27.
    Sun Microsystems. Java Management Extensions — Instrumentation and Agent Specification, v1.1, 2002. http://java.sun.com/jmx/.
  28. 28.
    C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 1998.Google Scholar
  29. 29.
    G. J. Vecellio, W. M. Thomas, and R. M. Sanders. Containers for predictable behavior of component-based software. In Proceedings of the 5th ICSE Workshop on Component-Based Software Engineering: Benchmarks for Predictable Assembly, Orlando, Florida, USA, 2002. Carnegie-Mellon Software Engineering Institute.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2003

Authors and Affiliations

  • Marc Fleury
    • 1
  • Francisco Reverbel
    • 2
  1. 1.The JBoss GroupLLCNE, AtlantaUSA
  2. 2.Department of Computer ScienceUniversity of São PauloSão PauloBrazil

Personalised recommendations