Apache Geronimo, J2EE Container Project 

I step in to the Geronimo J2EE Container project as the EWS can be use to implement the Web Service stack of the Geronimo. One should step in to a project of that capacity to see the complexity of the work taken place. Geronimo consist s of number of modules each can be called project a project by its on right. Additionally the project brings in the projects like Open EJB, Jetty, and Axis and provides their respective services.

The core of the Geronimo is a minimal kernel based on IOC, Inversion of control pattern which knows nothing about J2EE. The architecture is based on set of management Beans called GBeans. Almost anything is a GBean and one can specify references and dependencies and listeners among each other so the complexity is taken care by the of Management framework behind the curtain. When the Geronimo started it is said that this would be a real test to open source development methodologies due to the complexity of the project. 

Axis- Geronimo Module has two parts, first implement the runtime of the Web Service invocation and the second handling the deployment of the Web Services. The architecture consists of AxisGBean that bring up the Axis and register Axis as a Servlet in the Web Container. The deployment is to construct the set of GBean for the Web Service and add the dependencies among them. When those GBean are started by the Geronimo the magic happen and Web Service is deployed.