JBoss Community Archive (Read Only)

RHQ 4.9

Module Overview

Path

Description

/etc

Miscellaneous files for developers to refer to and use such as sample code, Eclipse and IntelliJ tools and testing tools

/modules

where all of the code artifacts go that contribute to the built product

/modules/core

An aggregate module used to house any other modules that will be reused in Embjopr and RHQ

/modules/core/client-api

The server-side interfaces, conventionally named *ServerService, that the RHQ Agents (the clients) will interact with when wanted to initiate a request. It also houses the XML schemas for the agent-side plugin descriptors and related XML data. This module existing before the new remote client/CLI, so don't be confused with the name "clientapi". This module is for server-to-agent communication only.

/modules/core/comm-api

Location for housing our configurable extensions (usually annotations) to the remoting/comm layer

/modules/core/dbutils

Module that knows how to manage the creation and upgrading of our physical database layout including but not limited to tables, primary/foreign keys, constraints, indexes

/modules/core/domain

Module where all of our EJB 3.0 POJO entities are placed; convention is to use annotations to specify table mappings. There are also composite objects here used to transfer data from various Hibernate queries.

/modules/core/gui

Module where we place code that is shared between the "enterprise" RHQ GUI and the embjopr GUI, including but not limited to the configuration/configSet components and shared helper classes for interacting with the JSF context

/modules/core/native-system

A thin java wrapper around the JNI interfaces that are part of our native library, Sigar, which can talk to the various native platforms we support, i.e. Windows, Linux, AIX, Mac, etc

/modules/core/plugin-api

Module which defines the contract between the plugin container and the developer of some agent plugin; each "facet" governs what plugins are able to managed with respect to each managed exposed by the plugin container

/modules/core/plugin-container

The plugin container is responsible for loading/unloading plugin classes, as well as managing the subsystem-specific communication between the agent and server; each "manager" inside the plugin container interacts with the server by means of the client API

/modules/core/plugindoc

A utility that knows how to read plugin descriptor files (rhq-plugin.xml) and automatically generate documentation for our wiki outlining the various facets each plugin supports, as well as details about each supported facet

/modules/core/plugin-validator

An Ant-based program that runs as a post-processing build hook for plugins to indicate to the developer whether they have implemented all of the appropriate facets according to what they have defined in the plugin descriptor

/modules/core/util

A collection of useful utilities that we want to be shared across the rest of the project as well as downstream dependencies (other projects that consume the RHQ base)

/modules/enterprise

An aggregate module used to house code that is specific to the "enterprise" version of RHQ (i.e., wouldn't be used in an embjopr situation), this includes 5 major pieces: the agent, the server, the comm layer between them, the web app GUI and the remote API/CLI.

/modules/enterprise/agent

The Agent, need more be said? ; )

/modules/enterprise/agentupdate

A thin layer (java/Ant amalgam) that drives the agent's auto-update process

/modules/enterprise/comm

The module that leverages the abstract remoting layer to initiate a pipe between the agent and server; supports individual remote commands with serialized parameters and results, as well as serves as the underlying framework for remote pojo invocation, i.e. implementations of client-api

/modules/enterprise/gui

An aggregate module used to house anything that we can claim functions as the "web user interface" for the applications; projects under this aggregate will use JSF / Facelets / Seam

/modules/enterprise/gui/portal-war

The location for code of the deprecated JSF UI.

/modules/enterprise/gui/coregui

The location for any and all code that will serve as part of the main GWT webapp for the product

/modules/enterprise/remoting

The parent for remote client modules such as CLI, WebServices. The actual Remote interfaces are defined throughout the ../server/jar

/modules/enterprise/remoting/cli

The Command Line Interface module. Requires Java 6.

/modules/enterprise/remoting/scripts

CLI Script runners and scripts used for testing and samples. Requires Java 6.

/modules/enterprise/server/install

A command line product installer that takes rhq-server.properties settings that the user sets, stores those values to appropriate properties / configuration files, and finishes the server-side installation of the product

/modules/enterprise/server/appserver

A module that knows how to instrument a vanilla copy of some version of JBossAS to properly serve as the container for an RHQ Server instance including but not limited to java wrapper process, post-installer hooks, custom tweaks to deployers, mail services, JMS destination declarations, datasource definitions, etc

/modules/enterprise/server/ear

A module mostly used for packaging up the core/domain, server/jar, and gui/coregui artifacts into an EAR file, and deploying that inside of the server

/modules/enterprise/server/startup-subsystem

A custom AS7 module used to deploy the EAR at runtime

/modules/enterprise/server/jar

The modules where the bulk of the business logic that comprises the RHQ Platform resides

/modules/enterprise/server/xml-schemas

Server-side XML schemas and their respective JAXB generated classes are found here. The bulk of the schemas in here are to support the server-side plugin container. Note that no agent-side code can be in here, the code in here is only accessible on the server.

/modules/enterprise/server/plugins

Some subsystems within RHQ have server-side pluggable interfaces (not just the agent-side plugin facets); this module houses those implementations, which need to be installed into the server prior to startup so they can be properly registered in the system. This consists today of the server-side content source plugins.

/modules/enterprise/server/safe-invoker

A utility that nullifies uninitialized relationships on EJB 3.0 entity beans so that these objects can be safely passed across web services boundaries

/modules/enterprise/server/sars

A module that will be a parent to all individual sar deployments

/modules/helpers

An aggregate module used to house helpful utilities and small applications that are tightly related to the RHQ project, but which should not be part of it's main module (/modules/enterprise)

/modules/helpers/pluginGen

A small, text-based, interaction console application that will interrogate you for various information to help build skeletal structures for new plugins

/modules/helpers/rtfilter

A small utility that is used to instrument and collection response time statistics for a variety of deployable forms of web-based applications

/modules/plugins

The various agent plugins that are offered as part of the base RHQ platform. These are the "product" plugins that manage different products and services such as platform services, Postgres, Apache, etc. Many Jopr agent-side plugins extend one or many of these base plugins in order to provide richer, JBoss-specific functionality such as managing JBossAS servers, Hibernate, Tomcat, etc.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 08:19:55 UTC, last content change 2013-09-18 19:40:39 UTC.