Modules often use artifacts that are located in libraries.
Artifacts and libraries are contained in Java™ archive
(JAR) files that you identify when you deploy a module.
While developing a module, you might identify certain resources
or components that could be used by various pieces of the module.
These resources or components could be objects that you created while
developing the module or already existing objects that reside in a
library that is already deployed on the server. This topic describes
the libraries and files that you will need when you install an application.
What is a library?
A library contains objects
or resources used by multiple modules within
WebSphere® Integration Developer. The artifacts
can be in JAR, resource archive (RAR), or Web service archive (WAR)
files. Some of these artifacts include:
- Interfaces or Web services descriptors (files with a .wsdl extension)
- Business object XML schema definitions (files with an .xsd extension)
- Business object maps (files with a .map extension)
- Relationship and role definitions (files with a .rel and .rol
extension)
When a module needs an artifact, the server
locates the artifact from the EAR class path and loads the artifact,
if it is not already loaded, into memory. From that point on, any
request for the artifact uses that copy until it is replaced. Figure 1 shows how an application
contains components and related libraries.
Figure 1. Relationship amongst module, component
and library
What are JAR, RAR, and WAR files?
There
are a number of files that can contain components of a module. These
files are fully described in the Java Platform, Enterprise Edition specification.
Details about JAR files can be found in the JAR specification.
In WebSphere ESB, a JAR file
also contains an application, which is the assembled version of the
module with all the supporting references and interfaces to any other
service components used by the module. To completely install the application,
you need this JAR file, any other libraries such as JAR files, Web
services archive (WAR) files, resource archive (RAR) files, staging
libraries (Enterprise Java Beans
- EJB) JAR files, or any other archives, and create an installable
EAR file using the serviceDeploy command (see Installing a module on a production server).
Naming conventions for staging
modules
Within the library, there are requirements for the
names of the staging modules. These names are unique for a specific
module. Name any other modules required to deploy the application
so that conflicts with the staging module names do not occur. For
a module named
myService, the staging module names
are:
- myServiceApp
- myServiceEJB
- myServiceEJBClient
- myServiceWeb
Note: The serviceDeploy command
only creates the myService Web staging module if
the service includes a WSDL port type service.
Considerations when using libraries
Using
libraries provides consistency of business objects and consistency
of processing amongst modules because each calling module has its
own copy of a specific component. To prevent inconsistencies and failures
it is important to make sure that changes to components and business
objects used by calling modules are coordinated with all of the calling
modules. Update the calling modules by:
- Copying the module and the latest copy of the libraries to the
production server
- Rebuilding the installable EAR file using the serviceDeploy command
- Stopping the running application containing the calling module
and reinstall it
- Restarting the application containing the calling module