scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

The JBoss extensible server

16 Jun 2003-pp 344-373
TL;DR: 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, which requires a novel class loading model, which JBoss implements.
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 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.

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI
TL;DR: The internal component‐based architecture of the FRASCATI platform is presented, a run‐time support for SCA with dynamic reconfiguration capabilities and run‐ time management features are introduced, and its key features are presented.
Abstract: ThetextitService Component Architecture (SCA) is a technology-independent standard for developing distributed Service-oriented Architectures (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the lifecycle steps of implementation and deployment. Unfortunately, SCA does not address the governance of SCA applications and provides no support for the maintenance of deployed components. This article covers this issue and introduces the FRASCATI platform, a run-time support for SCA with dynamic reconfiguration capabilities and run-time management features. This article presents the internal component-based architecture of the FRASCATI platform, and highlights its key features. The component-based design of the FRASCATI platform introduces many degrees of flexibility and configurability in the platform itself and it can host the SOA applications. This article reports on micro-benchmarks highlighting that run-time manageability in the FRASCATI platform does not decrease its performance when compared with the de facto reference SCA implementation: Apache TUSCANY. Finally, a smart home scenario illustrates the extension capabilities and the various reconfigurations of the FRASCATI platform. Copyright © 2011 John Wiley & Sons, Ltd.

182 citations


Cites methods from "The JBoss extensible server"

  • ...FRASCATI shares with component platforms, such as OPENCOM [52], HADAS [53], PRISM [54], LEGORB [55], K-COMPONENT [56] and the microkernel of JBOSS [57], several characteristics like introspection and reconfigurability....

    [...]

Proceedings ArticleDOI
23 May 2004
TL;DR: This paper describes a technique that uses run time observations about an executing system to construct an architectural view of the system, and develops mappings that exploit regularities in system implementation and architectural style.
Abstract: One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses run time observations about an executing system to construct an architectural view of the system. With this technique, we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations. We describe the current implementation of a tool that uses these mappings, and show that it can highlight inconsistencies between implementation and architecture.

115 citations


Cites methods from "The JBoss extensible server"

  • ...To gain further experience with developing the state machines, we are applying DiscoTect to other systems, most significantly the JBoss [6] framework....

    [...]

  • ...To gain further ex­perience with developing the state machines, we are ap­plying DiscoTect to other systems, most significantly the JBoss [6] framework....

    [...]

  • ...The JBoss Extensible Server....

    [...]

Journal ArticleDOI
TL;DR: The design, implementation, and experimental evaluation of a middleware architecture for enabling service level agreement (SLA)-driven clustering of QoS-aware application servers shows that this approach makes possible JBoss' resource usage optimization and allows JBoss to effectively meet the QoS requirements of the applications it hosts.
Abstract: In this paper, we discuss the design, implementation, and experimental evaluation of a middleware architecture for enabling service level agreement (SLA)-driven clustering of QoS-aware application servers. Our middleware architecture supports application server technologies with dynamic resource management: application servers can dynamically change the amount of clustered resources assigned to hosted applications on-demand so as to meet application-level quality of service (QoS) requirements. These requirements can include timeliness, availability, and high throughput and are specified in SLAs. A prototype of our architecture has been implemented using the open-source J2EE application server JBoss. The evaluation of this prototype shows that our approach makes possible JBoss' resource usage optimization and allows JBoss to effectively meet the QoS requirements of the applications it hosts, i.e., to honor the SLAs of those applications

80 citations


Cites methods from "The JBoss extensible server"

  • ...For each request, the QoS delivered by the cluster is compared to the desired level of QoS specified in the hosting SLA in order to monitor adherence to this SLA....

    [...]

Proceedings ArticleDOI
19 Oct 2008
TL;DR: JOLT is a lightweight dynamic churn optimizer that uses the authors' algorithms and eliminates over 4 times as many allocations as a state-of-the-art escape analysis alone.
Abstract: It has been observed that component-based applications exhibit object churn, the excessive creation of short-lived objects, often caused by trading performance for modularity. Because churned objects are short-lived, they appear to be good candidates for stack allocation. Unfortunately, most churned objects escape their allocating function, making escape analysis ineffective. We reduce object churn with three contributions. First, we formalize two measures of churn, capture and control (15). Second, we develop lightweight dynamic analyses for measuring both capture and control. Third, we develop an algorithm that uses capture and control to inline portions of the call graph to make churned objects non-escaping, enabling churn optimization via escape analysis. JOLT is a lightweight dynamic churn optimizer that uses our algorithms. We embedded JOLT in the JIT compiler of the IBM J9 commercial JVM, and evaluated JOLT on large application frameworks, including Eclipse and JBoss. We found that JOLT eliminates over 4 times as many allocations as a state-of-the-art escape analysis alone.

78 citations


Cites methods from "The JBoss extensible server"

  • ...These are: an implementation of TPC-W (2) running atop the JBoss application server (16); the Eclipse benchmark found in the DaCapo benchmark suite (9); the JPetStore e-commerce application running atop the Spring application framework (1) (the most popular framework listed on sourceforge....

    [...]

Book
30 Aug 2008
TL;DR: The thesis proposes an ontology-based approach to support the management of Application Server and Web Services based applications, which retains the original flexibility, but it adds new capabilities for the developer and user of the system.
Abstract: The Ph.D. proposal addresses the complexity of building distributed applications and systems with Application Servers and Web Services middleware, respectively. Despite their flexible XML-based configuration, taming the ever growing complexity remains all but an easy task. To remedy such problems, the thesis proposes an ontology-based approach to support the management (i.e. development and administration) of Application Server and Web Services based applications. The ontology captures properties of, relationships between and behaviors of the components and services that are required for management purposes. The ontology is an explicit conceptual model with formal logic-based semantics. Therefore its descriptions of components and services may be queried, may foresight required actions, or may be checked to avoid inconsistent system configurations --- during development as well as during run time. Thus, the ontology-based approach retains the original flexibility, but it adds new capabilities for the developer and user of the system.

72 citations


Cites methods from "The JBoss extensible server"

  • ...We have chosen JB ossM X which is the core of the open-source JBoss Application Server [13] that augments J2EE by dynamic component deployment....

    [...]

  • ...We have chosen JBossMX which is the core of the open-source JBoss Application Server [13] that augments J2EE by dynamic component deployment....

    [...]

References
More filters
Book
01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Abstract: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out they've known about patterns all along. It's just that they've never considered them as such, or tried to centralize the idea behind a given pattern so that it will be easily reusable.

22,762 citations

Journal ArticleDOI
Gregor Kiczales1
TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Abstract: The performance of relational database applications often suffers. The reason is that query optimizers require accurate statistics about data in the database in order to provide optimal query execution plans. Unfortunately, the computation of these statistics must be initiated explicitly (e.g., within application code), and computing statistics takes some time. Moreover, it is not easy to decide when to update statistics of what tables in an application. A well-engineered solution requires adding source code usually in many places of an application. The issue of updating the statistics for database optimization is a crosscutting concern. Thus we propose to use aspect-orientation to automate the calculation. We show how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries. Due to the automatic nature, computation takes place on time for complex queries, only when necessary, and only for stale tables. The implementation language for the automated aspect-oriented statistics update concern is AspectJ, a well known and mature aspect-oriented programming language. The approach can however be implemented in any other aspect-oriented language. Unlike in traditional object-oriented pattern solutions, e.g. using the interceptor pattern, we do not have to modify existing code.

5,161 citations

Book
23 Nov 2002
TL;DR: Anyone responsible for developing software strategy, evaluating new technologies, buying or building software will find Clemens Szyperski's objective and market-aware perspective of this new area invaluable.
Abstract: From the Publisher: Component Software: Beyond Object-Oriented Programming explains the technical foundations of this evolving technology and its importance in the software market place. It provides in-depth discussion of both the technical and the business issues to be considered, then moves on to suggest approaches for implementing component-oriented software production and the organizational requirements for success. The author draws on his own experience to offer tried-and-tested solutions to common problems and novel approaches to potential pitfalls. Anyone responsible for developing software strategy, evaluating new technologies, buying or building software will find Clemens Szyperski's objective and market-aware perspective of this new area invaluable.

4,791 citations


"The JBoss extensible server" refers background in this paper

  • ...It produced an open-source server whose download statistics [23] since January 2002 have been above 100,000 per month, and have exceeded 200,000 downloads in peak months....

    [...]

Book ChapterDOI
14 Jun 1999
TL;DR: An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Abstract: We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement. This forces the implementation of those design decisions to be scattered throughout the code, resulting in “tangled” code that is excessively difficult to develop and maintain. We present an analysis of why certain design decisions have been so difficult to clearly capture in actual code. We call the properties these decisions address aspects, and show that the reason they have been hard to capture is that they cross-cut the system's basic functionality. We present the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects, including appropriate isolation, composition and reuse of the aspect code. The discussion is rooted in systems we have built using aspect-oriented programming.

3,355 citations


"The JBoss extensible server" refers background or methods in this paper

  • ...• usage of MBeans as meta-level components that support and manage baselevel EJB13 components; • a uniform model for reifying base-level method invocations; • a remote method invocation model based on dynamic proxies; • usage of a variant of the interceptor pattern [22] as an aspect-oriented programming [16,8] technique....

    [...]

  • ...They provide serverside join points for aspects [16,8] that crosscut the central concerns of multiple EJB components....

    [...]

Proceedings ArticleDOI
01 Sep 2001
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
Abstract: Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way. It works with AspectJ, a seamless aspect-oriented extension to the Java(tm) programming language, and with AspectC, an aspect-oriented extension to C in the style of AspectJ. It also includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.

3,187 citations


"The JBoss extensible server" refers background in this paper

  • ...They provide serverside join points for aspects [16, 8] that crosscut the central concerns of multiple EJB components....

    [...]