Deploying Applications on JBoss AS 7

Deployment is the process of uploading resources or applications into the application server. In the software production cycle, it’s the step that logically follows the development phase and can be performed either manually or in an automated fashion, using scripts.

In this tutorial, we will explore both approaches using the set of tools that are part of the server distribution. We will also cover how to deploy resources on the applications server using the Eclipse development environment, which is the preferred choice of JBoss AS developers.

Enroll for Instructor Led JBOSS Training

In the last part of this chapter, we provide details about the new JBoss AS classloader architecture. In short, our agenda for this chapter includes the following topics:

  • Which resources can be deployed on the application server

  • How to deploy applications on JBoss AS standalone

  • How to deploy applications on JBoss AS domain

  • Understanding the JBoss AS 7 classloading architecture

Deploying resources on the application server

There are basically three file types that we work with in Java Enterprise applications:

1. JAR file: This is the most basic package that can be used for both application and common resources.
2. WAR file: This archive is used for packaging web applications.
3. EAR file: This package acts as a container for Enterprise applications.
Besides these, JBoss AS is able to process the following archives, which provides additional functionalities to the application server.

RAR file: This is a resource adapter file, which is used to define a resource adapter component (the resource adapter subsystem is provided by IronJacamar project; for more information, look here: https://www.jboss.org/ironjacamar)

SAR file: This enables the deployment of Service Archives containing MBean Services, as supported by previous versions of the application server

In this chapter, we will discuss the first three kinds of archives, which constitute the typical packaging solution for Java Enterprise applications. Before discussing application deployment, let’s see the single archives a bit more in detail.

The JAR archive

A Java Archive (JAR) file is used for organizing many files into one. The actual internal physical layout is much like a ZIP file, and as a matter of fact, it uses the same algorithm as the zip utility for compressing files.

A JAR is generally used to distribute Java classes and associated metadata. In Java EE applications, the JAR file often contains utility code, shared libraries, and EJBs.

MindMajix Youtube Channel

Frequently asked Jboss Interview Questions

The WAR archive

A Web Application Archive (WAR) file is essentially an archive used to encapsulate a web application. The web application usually includes a collection of Java Server Pages (JSP), Servlets, Java classes, XHTML, and HTML files, plus other file types, depending on the technology used.

Since Java EE 6, a web application is now able to package EJBs in a WAR, using the same packaging guidelines that apply to web application classes. This means that you can place EJB classes under the WEB-INF/classes directory or as a JAR file within the WEB-INF/lib directory.

Because of this, it’s expected that developers will use the WAR archive as the most common type of archive to distribute Java EE 6 applications.

The EAR archive

An Enterprise Archive (EAR) file represents an application archive, which acts as a container for a set of modules. An EAR file can contain any the following:

  • One or more web modules packaged in WAR files

  • One or more EJB modules packaged in JAR files

  • One or more application client modules

  • Additional JAR files required by the application

  • JBoss specific archives such as Service Archives (.sar)

Note

The advantage of using an Enterprise Archive file is two-fold: at first, it helps to distribute all applications components using a single archive, instead of distributing every single module. Second, and most important, is the fact that applications within an EAR archive will be loaded by a single classloader. Thus, by default, each module will have visibility on other modules packed in the archive.

The isolation level of applications modules contained in the EAR archive is controlled by the ear-subdeployments-isolated element of the main configuration file (standalone.xml/domain.xml).

isolated element

In the section of this tutorial named JBoss AS 7 classloading explained, we will discuss in depth the application server classloading architecture, also showing how to override this configuration setting at application level.

Explore Jboss Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now!

Job Support Program

Online Work Support for your on-job roles.

jobservice

Our work-support plans provide precise options as per your project tasks. Whether you are a newbie or an experienced professional seeking assistance in completing project tasks, we are here with the following plans to meet your custom needs:

  • Pay Per Hour
  • Pay Per Week
  • Monthly
Learn MoreGet Job Support
Course Schedule
NameDates
JBoss TrainingNov 23 to Dec 08View Details
JBoss TrainingNov 26 to Dec 11View Details
JBoss TrainingNov 30 to Dec 15View Details
JBoss TrainingDec 03 to Dec 18View Details
Last updated: 28 Sep 2024
About Author

Ravindra Savaram is a Technical Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.

read less