Overview
The Module View contains high level information about how Geronimo is organized into subsystems and packages. It's also intended to give a high level picture of what each module/subsystems purpose is and how it communicates with other modules/subsystems. For the purposes of this document, the focus with be the modules directory in the Geronimo Source. It's likely that this page will change as I gain a better understanding of what the modules/subsystems do and how they communicate with other modules/subsystems.
Subsystems
A subsystem is a logical grouping of modules. Below is a list of subsystems and the modules assigned to those subsystems:
Subsystem |
Module(s) |
---|---|
ActiveMQ |
ge-activemq-rar |
Web Services |
geronimo-axis |
JavaMail |
geronimo-activation |
Clustering |
geronimo-clustering |
JCA |
geronimo-connector |
Deployment |
geronimo-deploy-config |
Java Persistance API |
geronimo-persistence-jpa10 |
J2EE Management Model |
geronimo-management |
Jetty |
geronimo-jetty |
Tomcat |
geronimo-tomcat |
JNDI |
geronimo-naming |
JAAS |
geronimo-security |
Shared |
geronimo-common |
Unclassified (still todo) |
geronimo-client |
ActiveMQ
It's important to note with this subsystem that the code in Geronimo around ActiveMQ is just a wrapper (specifically a GBean). The ge-activemq-rar modules contains the ActiveMQ RAR, and then the other modules encapsulate that in a GBean for access by the rest of the system.
Web Services
Clustering
Java Connector Arcthiecture (JCA)
This subsystem contains Geronimo's implementation of the Java Connector Architecture (also known as JSR-112).
Deployment
This subsystem is Geronimo's implementation of Sun's J2EE Deployment API , also known as JSR-88. This subsystem contains modules that will deploy resources such as Enterprise ARchives (EARs) and other J2EE resources. Classes in this subsystem are also what backs the deployment tools for the commandline.
J2EE Management Model
This subsystem is Geronimo's implementation of the Sun's J2EE Management Model (or JSR 77). The purpose of this subsystem is to provide generic interfaces for Geronimo's specific implementations. For example, in the geronimo-management modules there is an interface called JMSBroker that is implemented by the ActiveMQBroker. TODO: Does this belong in with the Deployment stuff? The geronimo-j2ee-schema and the geronimo-j2ee-builder modules both look to be deployment related.
Jetty and Tomcat
Jetty and Tomcat are both containers that are available for use with Geronimo. The code these subsystems are meant for adapting these projects into the Geronimo application.
JAAS
Geronimo's implementation of the Sun JAAS Specification.
GBean Wrappers
A few of the subsystems listed above aren't reimplemented by Geronimo, but rather are existing implementations that are wrapped in a GBean. The existing code is used as a dependency and the GBean wrapper allows it to be managed and accessed by Geronimo. Below are a list of modules that are essentially GBean wrappers around existing code:
- ActiveMQ
- JavaMail
- JNDI