The digital thread is key in our industry and the PLM Backbone is essential to make sure you can keep the dots connected in a single and safe location. But we know our industry is also made of alliances and partnerships that do not always allow sharing a single PLM instance. Therefor there may be times when you need to inter-connect environments. Aras Innovator provides the triggers and methods to implement data federation between any type of data-source that can be queried using .NET.
Typical Federation Use Cases
Here are a few use cases where federation may be implemented within a company.
The PLM system needs to:
- … get the customer list from the CRM system.
- … get manufacturing plant locations detail from the ERP system.
- … attach bug tickets already handled in Jira or Mantis.
Federation is typically used when either the data is controlled by another discipline, or we need to integrate with legacy systems before eventually replacing them.
But sometimes you may have two different companies who cannot rely on a common Aras Innovator instance because of governance or specific rules (location of a database for example). In this case, we can setup a federation mechanism between two Aras Innovator instances.
The Code Snippet
I wrote the initial code for this federation just to get you started. It is just the onAfterGet method which will append your customer’s list with the other database, but it shows how easy it is to get two Aras Instances federated on some specific ItemTypes.
Of course this is just a start you also need to take care of the other events like Update and Delete (if you allow to do so on the external instance, which is not likely). Here is a quick list on the top of my mind of what else may need to be taken care of:
- Identities and users will not be connected to internal instances in your system, as they might only exist in the other database.
- You may want to handle the attachments and relationships