A business-level application (BLA) is a concept that aims to expand the notion of an "application" beyond Java EE. Its administration model provides the entire definition of an application as it makes sense to the business. In contrast with an enterprise application (EAR file), a business-level application is only a logical WebSphere configuration artifact, similar to a server or cluster, that is stored in the configuration repository.
Figure below shows the concept of business-level applications:
Business-level applications can be used in several different ways. Often a business application, such as an Order System, does not consist of only one enterprise application (EAR), but rather multiple applications that must all be running for the whole business application to work.
One way of using business-level applications is to group the separate enterprise applications that make up the business application into one manageable unit that can be started, stopped, updated, and so on. However, a business-level application can reference Java EE components as well as assets that are not part of the Java EE concept, for example, CORBA (C++) executables that are hosted in a generic server or files on the file system that are not managed by WebSphere but that are required by the application.
A business-level application does not represent or contain application binary files. Instead, it is a configuration that lists one or more composition units that represent the application binary files. A business-level application uses the binary files to run the application business logic. Administration of binary files is done using the normal methods for managing modules (for example, web or EJB modules) and is separate from administration of the application definition.
A business-level application does not introduce any new programming, runtime, or packaging models:
You do not need to change your application business logic. The business-level application function does not introduce new application programming interfaces (APIs).
You do not need to change your application runtime settings. WebSphere supports all of the runtime characteristics, such as security, class loading, and isolation, required by individual programming models to which business components are written.
You do not need to change your application packaging. There is no specific unique packaging model that provides a business-level application definition.
The terminology for business-level applications introduces two new terms:
An asset represents one or more application binary files that are stored in an asset repository. Typical assets include application business logic, such as EAR files, EJB modules, web modules, service component architecture (SCA) modules, shared library files, static content, and other resource files. The asset repository is managed by WebSphere Application Server and does not require any third-party software.
You must register files as assets before you can add them to one or more business-level applications. At the time of asset registration, you can import the physical application files into WebSphere's configuration repository or you can specify an external location where the asset resides.
A composition unit represents a configured asset in a business-level application. Configured in this context means installed, so a configured web module means a web module which is installed.
WebSphere Application Server handles the following types of composition units:
Asset composition units
Composition units created from assets by configuring each deployable unit of the asset to run on deployment targets.
Shared library composition units
Composition units created from JAR-based assets by ignoring all the deployable objects from the asset and treating the asset JAR file as a library of classes.
Business-level application composition units
Composition units created from business-level applications that are added to existing business-level applications.
Figure below shows the relationship between assets, composition units, and business-level applications:
If an asset depends on another asset, you can create a relationship between them to allow, for example, a web module asset to reference classes in a shared library.
So, to summarize, a business-level application consists of composition units. When you add an asset to a business-level application, a composition unit is created for the asset. The composition unit is the configured (installed) asset.