
In the world of integration, efficiency and consistency are key. TIBCO ActiveMatrix BusinessWorks 6 (BW6) empowers developers with powerful mechanisms for code reuse, but sometimes the nuances can get a little tricky. Today, we’re demystifying three core concepts that are vital for building scalable and maintainable applications: Shared Modules (SM), External Shared Modules (ESM), and Binary Shared Modules (BSM).
Think of these as different types of blueprints you can use for your reusable components. Each has a specific purpose, offering varying degrees of visibility and modifiability. Choosing the right one can significantly impact your development lifecycle.
The Blueprint Analogy: Which Module to Use When?
Let’s imagine you’re building a complex city (your application) and you have specific designs for different buildings (your processes and services).
1. Shared Module (SM): The Local Workshop Blueprint
- What it is: Your everyday, flexible blueprint for components within an application.
- Key Feature: Fully Modifiable and Visible. You can see all the details and tweak them as needed.
- When to use: Perfect for common helper processes, utility functions, or shared schemas that are unique to this particular application. It’s like having a workshop where you can open up any design and make changes.
- Analogy: You build a specific type of café. Its blueprint is an SM because you might adjust its layout or menu (logic) as your city block evolves.
- For more information please checkout official documentation as below
2. External Shared Module (ESM): The Standardized City-Wide Blueprint
- What it is: A blueprint designed for robust reuse across multiple, independent applications.
- Key Feature: Read-Only. Its content is locked down to ensure consistency.
- When to use: Ideal for enterprise-wide standards like common error handling routines, canonical data models (XSDs), or global security policies. Once published, everyone uses the exact same, unchangeable version.
- Analogy: The blueprint for the city’s power grid. It’s standardized and must be used exactly as designed by all buildings connecting to it. No one building can alter the main grid’s design.
- For more information please checkout official documentation as below
3. Binary Shared Module (BSM): The Proprietary Black Box Blueprint
- What it is: A compiled, protected blueprint for hiding intellectual property.
- Key Feature: Hidden Logic / Encrypted. You can use its functionality, but you cannot see the underlying implementation.
- When to use: When you need to provide a service or component without exposing its internal workings, similar to how a third-party Java library works. It protects your proprietary algorithms or sensitive configurations.
- Analogy: The blueprint for a highly specialized, secret government building. You know what it does and how to interact with it from the outside, but its internal layout and technology are completely obscured and protected.
- For more information please checkout official documentation as below
Simple Use Case :
Imagine you need a module that connects to a database:
- Use an SM if you want to update queries and credentials whenever needed.
- Use an ESM if you want everyone to use the same logic without changing it.
- Use a BSM if you want to keep connection details hidden and only provide an API.
How to Choose?

Comparison with Java World:

Bringing It All Together
By strategically using SMs, ESMs, and BSMs, you can build TIBCO BW6 solutions that are not only powerful but also incredibly modular, scalable, and maintainable. Choose the right module type for your needs, and streamline your integration landscape!




