JCMB Technology Inc.

  • Increase font size
  • Default font size
  • Decrease font size
Home Products Fusion Framework

Fusion Framework

Developing connectivity centric applications in a framework designed for utilities. Fusion is the first environment designed from the ground up to be a connectivity centric environment. Creating applications to manage and exploit connected devices is built into Fusion's core functionality

FUSION is a software Framework that offers a full suite of applications built to exploit Data in order to effectively plan, design, build, maintain, share, report and analyze the Distribution Network. This technology provides utilities with an integrated approach to maintaining their infrastructure.

Fusion framework diagram Link to mapping page Link to estimating page Link to construction page Link to engineering page Link to system control page Link to field operation page Link to mobile dispatch page Link to reporting page Link to Fusion data center page

FUSION’s open-architecture design was created to be used collaboratively with third-party applications; this enables users to easily integrate their legacy applications and co-exist within the FUSION Framework. Since FUSION is a Microsoft® .NET application that uses Oracle as a data store, it exposes all the power of those combined technologies into one unified development environment. Using the .NET Framework makes it possible to tap into a rich functionality set that connects to many different technologies and standards.

What are the Benefits of Using FUSION?

  • Reduce maintenance costs and improve data integrity
  • Optimized and streamlined business processes
  • Reduced labor costs by working with reliable information
  • FUSION is flexible, scalable and open; it evolves with the business and facilitates Data sharing with third party technologies
Plug-in architecture

Plug-in architecture

To enable customizing the functionality of the Fusion Framework, a programmer typically builds a Fusion Plug-in. The Plug-in is installed in the Fusion environment as a .Net DLL that implements the IPlugin interface. This DLL is copied to the Plug-in directory of the Fusion instance and is automatically loaded when the Fusion environment is started by the user.

At load time, the Plug-in negotiates its menu entries, which are the specific views it requires, if any, to operate; and it subscribes to any UI events of the Frame through the IPlugin interface contract. Then, it receives the UI messages from the application Frame and can begin to carry out the tasks for which the plug-in was designed. In effect, once the plug-in is instantiated in the frame, it becomes an extension of Fusion and gains access to all of the Fusion functionalities. This mechanism is transparent to the user. To this person, the Fusion application looks like one single program.

Since Fusion is built on the Microsoft .Net platform, any CLR compliant language can be used to build Fusion Plug-ins. The toolkit installs a C# Fusion Plug-in template that can be used as a starting point for building your own Fusion extensions.

Multiview environment

Multiview environment

Fusion is a leading-edge environment for viewing data. It has built-in support for graphical and tabular views and is extensible for custom views.

Same data, different theme

The Fusion environment supports viewing the same data using different viewing themes to help you get the most out of your data. Some users are interested only in a part of the network, this is why the Fusion environment enables you to customize the way you see the data. For instance, the Operation group might want to look at the graphical representation of distribution network using a different symology and color scheme than the Maintenance group responsible of visiting and fixing street lights and night guards

Same data, different version

As seen with versioning, you can have multiple editing scenarios. Fusion enables you to look at different scenario at the same time so that you can productively compare them.

Synchronized views

A great productivity tool! When looking at different scenarios, or at data using different viewing themes, the synchronized views automatically zoom to the correct portion of the network as you look at it, for all views.



Softwares that are conceived to work in multiuser edition environments need to take care of data locking. Typically, two different methods can be used to handle this problem: pessimistic and optimistic locking.

Fusion supports both methods for locking data. You can use the software the way you prefer. The power of versioning comes from the combination of work processes with optimistic locking. On the Fusion platform, it is implemented using the Oracle Workspace Manager technology.

Pessimistic locking

When pessimistic locking is used, the data will be marked as locked before being edited, preventing concurrent users to edit it. This locking method eliminate the complex task of reconsiling the data that might have been updated in another work session.

Optimistic locking

Optimistic locking is quite the opposite. Every user can modify the same data at the same time. Optimistic locking assumes that conflicts will not occur frequently, it assumes that the same data will rarely be modified during the same time frame. Even though those conflicts do not occur often, when they do occur, applying the changes cannot be completed until they are resolved.


A scenario is a virtual environment where you can edit data. The modifications done in one scenario are never made public outside of the scenario until you explicitly apply them to the parent scenario. This mean you can use scenarios to analyse different options for a project, and then choose the best one and only commit this one.

You can create yourself as many scenarios as you want. They get created using a tree hierarchy: each scenario inherits from another scenario, at the exception of the LIVE scenario.

The LIVE version

On the top of the tree is the LIVE version. The LIVE version is a special instance of a scenario and is the only scenario that has no parent scenario. This version can be considered as the most up to date one. Every project your team works on should eventually end up in the LIVE version. You could work directly in the LIVE version, but pessimistic locking should be enabled to ensure full data integrity on the database content.


When you have done a part of your project you can create yourself a marker. A marker is a way to tell the environment that you might have to rollback to that point later in time. You can use markers as batch undo.

What is so great about versioning?


Being implemented using Oracle Worspace Manager, when using versioning, you are one step away from having the history of your networks. The only thing that needs to be done is to activate the option in Oracle.


Versioning is not only a check-out/check-in procedure. This architecture can be used to assign different permissions to user groups, based on their role in the organization. It can be adapted to support a wide range of business processes.

The most simple way of using version is to create yourself a scenario under the LIVE version. Once the modifications are completed, you apply them to the LIVE version, all at once.

If you have people responsible for quality assurance in your organisation, you can make them approve an editing scenario before it is applied to the LIVE version


You want to know exactly what changes you made for a scenario? Or only since a specific marker? With versioning, viewing the differences between two version is only one click away. With this feature, you can make sure you modified everything you needed to before applying your changes to the parent scenario.

A powerful tracing engine

A powerful tracing engine

The Fusion Framework is designed to build connected networks efficiently. Whether you want to create a new network, modify one or just validate one, the trace engine will make these tasks easy to accomplish.

Here are the tracing options you can have:

  • Trace in all directions
  • Trace upstream
  • Trace downstream
  • Trace with costs
  • Find loops
  • Find de-energized segments
  • For electrical networks, trace by phase

All these options simplify the task of creating and maintining a certified connected network, but they can also be used to perform other actions. For instance, a trace result could be used to apply batch data updates, to generate a tabular reports based on connectivity or to be used in network analysis calculation. The usages are almost endless.



Trigger based validation is an event driven paradigm that is implemented at the in-memory model level. Any change to the in memory data, triggers an event that starts the execution of validation code. In our model the events triggered are not limited to the usual add, modify or delete transactions but also include contextual triggers detected when the electrical context of the device changes. So you end up with triggers on connect, disconnect and internal state changes.




Meet us at Distributech 2020

Don't hesitate to contact us to make an appointment to meet with us during the show.