What is JBoss ?
What is JBoss ? JBoss Application Server (or JBoss AS) is a free software/open-source Java EE-based application server. An important distinction for this class of software is that it not only implements a server that runs on Java, but it actually implements the Java EE part of Java. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that supports Java. JBoss AS was developed by JBoss, now a division of Red Hat.
JBoss application server can be freely downloaded from the Community site :site:
http://www.jboss.org/jbossas/downloads/
The installation of JBoss is simply a matter of extracting the compressed archive into a folder.
In order to start up JBoss correctly, you have to define the environment variable JAVA_HOME to the location where you have installed Java.
After you have installed JBoss, perform a simple startup test to validate that there are no problems with your Java VM/operating system combination. To test your installation, move to the bin directory of your JBOSS_HOME directory and issue the following command:
run.bat # Windows users
$ run.sh # Linux/Unix users
The JBoss 5.1 structure
let's have a look at the application server folders:
Here's a description about the single folders:
| bin | This directory contains the scripts necessary to start-up and shutdown the server. This folder also contains some scripts (like twiddle) there are a few utilities for web services and server management |
| client | This directory contains the client libraries needed to run client applications |
| common | This directory contains the lib folder which is the new repository for the common libraries used by all application server configurations. |
| docs | This folder contains the xml schemas used by the various xml configuration files and useful JMS, JTA and Datasource configuration examples which can be used as templates |
| lib | This is the repository for all JBoss bootstrap libraries. Here is the new Micro-container along with earlier JMX kernel |
| server | This directory is the home of all server configurations. Here you can find the built-in server configurations (minimal, default, standard, web and all). Each server configuration contains the following directories in the next table |
Place in the folder common/lib the libraries which are shared between all your server configuration
JBoss 5.1 available server configurations:
JBoss 5 ships with a set of pre-built server configurations. Most of the time you'll need to use the "default" configuration for single node applications and "all" for clustered applications. Here's anyway a description of each configuration:
The "default" configuration:
This is the basic JBoss configuration containing a default set of services. It has the most frequently used services required to deploy a JEE application. It does not include the JAXR service, the IIOP service, or any of the clustering services.
The "all" confuguration:
This configuration is a full JEE server profile with enterprise extensions such as Clustering and RMI/IIOP.
Inside each server configuration there's one more level containing the single server configuration and deployed artifacts. Here' s the next level:
The "standard" configuration:
The standard folder hosts the configuration that has been tested for Java EE 5.0 compliance. The major differences with the other server existing configurations is that call-by-value and deployment isolation are enabled by default, along with support for RMI-IIOP and jJUDDI. .
The "web" configuration
The "web" configuration is a new experimental lightweight configuration created around JBoss Web that will follow the developments of the Java EE 6 web profile. Besides being a servlet/jsp container (and this is the most relevant difference with a pure Ttomcat Web Server), it provides support for JPA and JTA/JCA.
The "minimal" configuration
This is the has a minimal configuration—the bare minimum services required to start JBoss. It starts the logging service, a JNDI server and a URL deployment scanner to find new deployments. This is what you would use if you want to use JBoss to start your own services without any other JEE technologies. This is just the bare server. There is no web container, no EJB or JMS support. This is not a JEE compatible configuration.
Inside each server configuration there's one more level which contains the configuration folders, the deployment folder and others. Here's a table which resumes the server structure:
| conf | This is the configuration directory of the single server configurations. |
| data | The data directory is a location available for use by services that want to store content in the file system |
| deploy | The default location for deployment of JBoss services |
| deployers | Contains all the JBoss AS services that are used to recognize and deploy different application and archive types |
| lib | This folder used to contain the common libraries of all applications. You can use this directory for storing configuration-specific libraries |
| log | The default directory into which the bootstrap logging service places its logs |
| tmp | The location to which deployments are copied for local use |
| work | Used by JBoss Web Server (the web container that comes prepackaged with JBoss AS) to store compiled JSP files and other temporary data. |

