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.
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.
| |||
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.