Applications and libraries are deployable containers of resources, such as message flows, subflows, message definitions (DFDL, XSD files), JAR files, XSL style sheets, and WebSphere® Adapters files.
An application is a container for all the resources that are required to create a solution. An application can contain IBM® Integration Bus resources, such as flows, message definitions, libraries, and JAR files.
You use applications to group all the resources that are required to deliver an integration solution, enabling easier development and management. If you are developing resources for multiple integration solutions in the IBM Integration Toolkit, then consider grouping your resources into applications. The use of a library helps organization by grouping reusable resources together. This library can also be used by other applications, services, libraries, or integration projects.
Applications typically contain message flows. If the message flow requires only one or two additional resources, such as one schema file and one ESQL file, consider storing all resources at the application level. But when you start to require multiple resources for your solution, or resources that might be shared with other solutions, consider putting the resources that your message flow requires into a library. That library can then be referenced by the application.
Applications provide runtime isolation whereby resources inside the application are not visible to other resources, such as message flows, libraries, or other applications that are running outside the application. Consider using applications if you need to ensure that updates to one group of deployed resources do not affect another group. For example, use an application when you want to control which flows pick up the latest version of an ESQL module. For examples of how to use applications to achieve runtime isolation, see Runtime isolation and resource sharing with applications and libraries.
A library is a logical grouping of related code, data, or both. A library typically contains reusable helper routines and resources such as subflows, ESQL modules, message definitions, maps, and Java utilities. A library is useful to group together resources of the same type or function, for reuse or ease of management. Libraries are optional.
If you want to develop an integration solution where changes made to common resources can be deployed in one deployment operation without redeploying all your message flows and subflows, then you should define your message flows and subflows as independent resources within an Integration project or library that references the library that contains your common resources.
For an example of how to use applications and libraries, see the Coordinated Request Reply sample. You can view information about samples only when you use the product documentation that is integrated with the IBM Integration Toolkit or the online product documentation. You can run samples only when you use the product documentation that is integrated with the IBM Integration Toolkit.
For an example of how you might convert your existing resources to applications and libraries, see Example: Manual conversion of Version 7.0 resources to applications and libraries.
Applications and libraries provide a consistent view of your resources through the development, deployment, and operational management processes. In WebSphere Message Broker Version 7.0 and earlier versions, file types and concepts were different at each stage of the development process. Multiple project types were used in the IBM Integration Toolkit to contain different types of resource. No consistent way existed of reusing common components across all processes. However, applications and libraries span the IBM Integration Toolkit for development, the broker archive (BAR) file for deployment, and tools like IBM Integration Explorer for operational management.
Applications and libraries are shown in the Application Development view. Resources that are contained in an application or library are also shown, whether an application or library refers to them directly or indirectly.
Message flow projects have been replaced by integration projects in IBM Integration Bus Version 9.0 (for more information, see Integration projects). Migrate message flow projects by following the instructions in Importing resources from previous versions.
Icon | Description |
---|---|
Application | |
Library | |
Integration project | |
Java project | |
Message set project |
Applications and libraries that have been deployed to an integration server are displayed directly beneath the integration server in the IBM Integration Toolkit and IBM Integration Explorer. You can also view deployed applications and libraries by using the IBM Integration API or the mqsilist command. Libraries that are referenced by applications (that is, private libraries) are displayed directly beneath the application.
You can also specify how an application or message flow is started after it is deployed, or after the broker, integration server, or containing application is restarted. You can choose to start an application or flow manually, or for it to be started automatically. You can also choose to maintain the existing state of an application or library. You can configure the run state by using the BAR file editor, as described in Configuring the start mode of flows and applications at development time. You can also use the mqsiapplybaroverride command, as described in Setting the start mode of flows and applications at run time.
If you focus on a library or application, the Application Development view shows only that library or application. When viewing projects, you can also filter resources by using working sets.
For detailed instructions about how to manage your resources by using applications and libraries, see Managing message flow resources.
For a demonstration of how to start using applications and libraries, see IBM Education Assistant module: Applications and Libraries.