This page last changed on Mar 11, 2009 by rynam0.

Architecture


Cargo offers differents ways of using it at different levels:

  • Module Java API: A Java API to parse/create/merge J2EE Modules (WAR, EAR, etc)
  • Container Java API: A Java API to start/stop/configure Java Containers and deploy modules into them.
  • Generic Java API: A Java API that sits on top of the Container API but allows writing generic code that works with any container. It consists mostly in a set of Factory classes to instantiate Container API objects by name.
  • Build plugins
    • Ant tasks: A set of Ant tasks that wrap the Generic Java API
    • Maven 1: A Maven 1 plugin that wraps the Ant tasks
    • Maven 2: A Maven 2 plugin
  • IDE plugins

The main Container API objects are:

  • The Container is the top level interface wrapping a real physical container. Cargo supports local and remote containers. A Container is composed of a Configuration.
  • A Configuration tells Cargo how the container is to be configured (whether it should create a standalone setup, whether it should be based on an existing configuration, etc). A Configuration can be configured to install Deployables before the Container is started.
  • You can use a Deployer to hot-deploy Deployables (i.e. after the Container is started).
  • Deployables are archives to be deployed in the Container. They are WAR, EAR, EJBs, etc.

access-layers.jpg (image/jpeg)
architecture.jpg (image/jpeg)
Document generated by Confluence on Jul 10, 2010 12:22