Chapter 2. JBoss Enterprise Web Platform 5 Architecture

The following diagram illustrates an overview of the JBoss Enterprise Web Platform and its components.
The directory structure of JBoss Enterprise Web Platform is outlined here:
-jboss-as-web - the path to your JBoss Enterprise Web Platform application server.
		|-- bin - contains start scripts and run.jar
		|-- client - client jars 
		|-- common/lib - static jars shared across server configuration
		|-- docs - schemas/dtds, examples
		|-- lib - core bootstrap jars
		|   lib/endorsed - added to the server JVM java.endorsed.dirs path
		`-- server - server configuration/profile directories. See Section 3.2 
                     for details of the server profiles included in this release.
-seam - the path to JBoss Seam application framework 
		|-- bootstrap
		|-- build
		|-- examples - examples demonstrating uses of Seam's features
		|-- extras
		|-- lib - library directory
		|-- seam-gen - command-line utility used to generate simple skeletal Seam code to get your project started
		|-- ui -
-resteasy - RESTEasy - a portable implementation of JSR-311 JAX-RS Specification
		|-- embedded-lib
		|-- lib
		|-- resteasy-jaxrs.war

2.1. The JBoss Enterprise Web Platform Bootstrap

The org.jboss.Main entry point in JBoss Enterprise Web Platform 5 loads an org.jboss.system.server.Server implementation. This is a JBoss Microcontainer.
The default JBoss Enterprise Web Platform 5 org.jboss.system.server.Server implementation is org.jboss.bootstrap.microcontainer.ServerImpl. This implementation is an extension of the kernel basic bootstrap that boots the MC from the bootstrap beans declared in <jboss.server.config.url>/bootstrap.xml descriptors using a BasicXMLDeployer. In addition, the ServerImpl registers install callbacks for any beans that implement the org.jboss.bootstrap.spi.Bootstrap interface. The bootstrap/profile.xml configurations include a ProfileServiceBootstrap bean that implements the Bootstrap interface.
The org.jboss.system.server.profileservice.ProfileServiceBootstrap is an implementation of the org.jboss.bootstrap.spi.Bootstrap interface that loads the deployments associated with the current profile. The $PROFILE is the name of the server configuration profile being loaded and corresponds to the server -c command line argument. The default $PROFILE is default.