Static libraries

The libraries that were introduced in WebSphere® Message Broker Version 8.0 are static libraries.

A static library can be referenced by one or more applications. Changes that are made to the library in the IBM® Integration Toolkit are available to all applications that reference that library. However, when the applications are packaged into a BAR file and deployed, each application has its own private copy of the library and the resources that are contained in it. If you update a static library, you must repackage and redeploy each application that references that library.
The graphic is described in the surrounding text.

Static libraries can be referenced by applications, services, integration projects, or other static libraries. You cannot refer to a static library from a shared library. Similarly, you cannot reference a shared library from a static library.

Static libraries behave in the following ways, depending on the resources that reference them.
  • If a static library is referenced by an application, a copy of that referenced library is isolated at run time from resources outside the application. This copy of the library is not available to resources outside the application.
  • If a static library is referenced by a service, a copy of that referenced library is isolated at run time from resources outside the service. This copy of the library is not available to resources outside the service.
  • If a static library is referenced by an independent resource, that referenced library is available to all independent resources that are deployed in the same integration server as the library.
Some restrictions are associated with static libraries. You can overcome the following restrictions by using shared libraries.
  • When an application is deployed, all the XML and DFDL schema files in that application and its referenced static libraries are compiled into a single model that represents the application. Duplicate element or type names cannot coexist in a single model. Therefore, an application cannot include conflicting XML or DFDL schema files. However, you might need to use multiple conflicting XML or DFDL schema files in a single application. For example, you might want to map elements between versions one and two of a particular XML schema file.
  • The presence of complex XML schema files in static libraries can affect the compilation process and the time that is taken to deploy the application. Static libraries are redeployed with the application. Therefore, every time the application is deployed, all the XML schema files are recompiled, even if they have not changed.