The RHQ Domain Model represents a core set of classes and structure that are utilized by all the other subsystems to coordinate data sharing. These classes are both a Java contract to the underlying data plus they have EJB3 data bindings and JAXB bindings so that we have our core information modeled in Java, RDBMS and XML. The Java interfaces have managed serialization to allow sending these classes over remote interfaces such as that between the agent and server. They can be stored in the database via the EJB3 mappings and they can be exposed via JAX-WS as web service interface components (such as is done with the enterprise server services).
The domain model's Java classes are found in the domain module: