Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

Appendix C. ESB Archives

C.1. Types of Java Archives

The JBoss Enterprise Application Platform recognizes several different types of archive files. Archive files are used to package deployable services and applications.
In general, archive files are Zip archives, with specific file extensions and specific directory structures. If the Zip archive is extracted before being deployed on the application server, it is referred to as an exploded archive. In that case, the directory name still contains the file extension, and the directory structure requirements still apply.

Table C.1. 

Archive Type Extension Purpose Directory structure requirements
Java Archive .jar Contains Java class libraries.
META-INF/MANIFEST.MF file (optional), which specifies information such as which class is the main class.
Web Archive .war
Contains Java Server Pages (JSP) files, servlets, and XML files, in addition to Java classes and libraries. The Web Archive's contents are also referred to as a Web Application.
WEB-INF/web.xml file, which contains information about the structure of the web application. Other files may also be present in WEB-INF/.
Resource Adapter Archive .rar
The directory structure is specified by the JCA specification.
Contains a Java Connector Architecture (JCA) resource adapter. Also called a connector.
Enterprise Archive .ear
Used by Java Enterprise Edition (EE) to package one or more modules into a single archive, so that the modules can be deployed onto the application server simultaneously. Maven and Ant are the most common tools used to build EAR archives.
META-INF/ directory, which contains one or more XML deployment descriptor files.
Any of the following types of modules.
  • A Web Archive (WAR).
  • One or more Java Archives (JARs) containing Plain Old Java Objects (POJOs).
  • One or more Enterprise JavaBean (EJB) modules, containing its own META-INF/ directory. This directory includes descriptors for the persistent classes which are deployed.
  • One or more Resource Archives (RARs).
Service Archive .sar
Similar to an Enterprise Archive, but specific to the JBoss Enterprise Application Platform.
META-INF/ directory containing jboss-service.xml or jboss-beans.xml file.

C.2. ESB Archive

An ESB archive is a special type of JAR file. It contains all of the files that make up a deployable ESB project.

C.3. Deploy an Archive

Procedure C.1. Task

  • To deploy an archive to your server, copy it to the deploy directory: cp FILENAME.esb SOA_ROOT/jboss-as/server/PROFILE/deploy.
Result

The directory is being polled by the server, so it will find the archive immediately. Note you can also deploy *.war files in archived or uncompressed form.

C.4. Structure of an ESB Archive

An ESB archive file consists of a number of other files, as follows:
At the archive's root level, there are these files:
*-ds.xml (for example, message-store-ds.xml or quickstart-ds.xml)
These are database scripts.
*-service.xml (for example, jbm-queue-service.xml)
Services, including the Admin objects for queues, and one that initializes the database using above script
hsqldb
For a database example. Below it resides a create.sql file that makes the database.
Under the archive's META_INF directory, there are these files:
deployment.xml
This lists the dependencies required by the .esb
jboss-esb.xml
This is the deployment descriptor for this .esb
MANIFEST.MF
The manifest file.
Finally, nested under the org/jboss/soa/esb directories there are custom actions and database scripts.