Using Shared Libraries in IIB v10

IBM Integration Bus v10 has introduced many new features. One of the important feature, from my point of view, is the introduction of Shared Library concept.

We all know that WebSphere Message Broker v8 provided new ways of organizing resources in toolkit by introducing

  • Application container, as per the info-center, is a container for all the resources that are required to create a solution.
    • Provides run-time isolation –> resources inside the application are not visible to other resources
    • Used when updates to one group of deployed resources should not affect another group of deployed resources
  • Library container, for organizing resources for re-usability. Can be referenced by applications or services or integration projects.
    • WMB v8 introduced Static library

The behavior of the library container introduced in WMB 8 and used in IIB v9, as per info-center are provided below

StaticLib

Drawback of Library used in WMB 8 / IIB 9: Owing to Application / Service’s run time isolation behavior, we solution developers faced major challenges on deciding whether to organize our solution using Applications / Services or using Integration Projects.When solutions were organized using Applications / Services and the reusable artifact(s), like Common Error Handling framework / logging framework, organized using libraries, each application / services carried copy of library within themselves. As a result, any changes made to these reusable artifact always resulted in need to re-deploy all applications / services.

In that regards, organizing the resources as Integration Projects was better and very much appealing.

But IIB v10 has addressed this concern / problem by introducing Shared Libraries. Now the Applications / Services do not take copy of the Shared Library within themselves. As the Shared Libraries are deployed directly at the Integration Server level.

Advantages of Shared Libraries

  1. Shared Libraries can be added to the BAR file independently of referencing Applications / Services
  2. Deployment of updated Shared Library results in the changes immediately picked up by all referencing applications / services at run-time. Hence no need to redeploy all referencing applications / services
  3. Enables using / referencing to multiple XML or DFDL schema files that declare the same elements and types, by having them stored in separate Shared Libraries

Reference: http://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/bc23067_.htm?lang=en

SharedLib

Shared Library vs Static Library from Toolkit to Run-time

  • In the New Library window, specify the name for the library and selecting the library type as “Shared Library”, click FinishLoggerSL
  • Below Images shows the Shared and Static libraries in the toolkit

StaticVsShared

  • Referencing to Shared Library / Static library from Application is shown belowLibReferences
  • When adding to the BAR file, Shared Libraries are displayed in the BAR Editor separately and have to be selected explicitly for adding to the bar file. This is not the case with Static Library as they are added automatically when application referencing them is added to BAR file.

BAREditor

  • After deployment, you could notice the difference between Shared & Static library. Static library copy will be present within the application container, where as the Shared Library is outside the application container and directly under the Integration Server.

Runtime

Hope this blog provides insight into Shared Library feature of IIB 10.

For any corrections / suggestions / query please do drop a note to reachnebula@learnibmesb.com (or) reachnebula@gmail.com.

 

Advertisements

5 thoughts on “Using Shared Libraries in IIB v10

  1. vinod says:

    Hi Yuvaraj,

    Thanks for valuable knowledge sharing.But i have a doubt , if we are using as independent resources instead of the Application/Resources, then the behavior of the static and the shared libraries will be same right in IIB 10 ? since its at Execution group level.

    Like

    • Hi Vinod

      Thanks for your comment.

      Pertaining to your query, your understanding is correct. For resources (message flows) deployed from one / more Integration project container that refer to a static library, concept of static library works the same way as shared libraries do for Applications / Services. This is because, as you mentioned in your comment, static libraries referred to by the resources in Integration Projects are deployed at Integration Server / Execution Group level and hence shared amongst them. Kindly note, these static libraries deployed at Integration Server / Execution Group level are not accessible by resources inside Application / Services container.

      Also kindly note, neither Integration Project container nor a static library can refer to shared libraries.

      Hope this clarifies.

      Thanks
      Yuvi

      Like

  2. T.Vinothkumar says:

    Hi.. Thanks for your blog on IIB Shared Libraries. I have a query. My scenario is, I am having some java classes which is called from ESQL. I want to put those java jars in shared library and then refer it from application(s). I also would like to build the bar by referencing java shared library and by using “Compile anld in-line resources”. The thing is, when I use “Compile-in line resources” option, I am unable to build the bar file when application references java shared library. When that option is cleared in the toolkit, I am able to build the bar and all the resources are included as it is (as per the option). Please advise on how to include and build application bar with shared library and using compile-in line option so that I can get the bar file with resources compiled.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s