This article offers advice on the choice of whether to link or to sync the resources of lifecycle management systems. The article also states the challenges with each tactic.
When syncing information, choose a tool like SodiusWillert Tasktop Sync for PTC Integrity.
When linking information, choose a tool like OSLC Connect for Windchill.
When in need of mentoring to determine Enterprise Architecture solutions for integrating information, choose a service like the SodiusWillert Integration Mentoring product.
Synthetic Networks are Valuable
Analysis is an act of clarifying knowledge for improved comprehension; analyzed information does not increase the amount knowledge.
Synthesis is an act of learning new information through the relating of concepts.
Therefore, while collections of resources are useful, the synthetic networks formed through defensible claims of relationship are especially valuable.
Link Semantically Differing Concepts while Sync Semantically Identical Ones
In every situation where systems are to be integrated, the first question to be answered should be, “given two instances of resources from the two repositories that are to be integrated, are these two resources semantically identical or are they semantically different?”
When integrating two systems whose repositories store semantically similar concepts then a synchronization service for those resources is the proper solution. For example, when integrating the requirement resources of Jazz RM with those of the requirement resources of IBM DOORS9, then a synchronizing service is recommended.
When integrating two systems whose repositories store semantically distinct concepts then a linking service for those resources is the proper solution. For example, when integrating the Change Requests of PTC Windchill with the Test Cases of Jazz QM, then a linking service is recommended.
When linking instances, an attribute for the link must also be supported and collected: the intention of the link. That is, why were the resources linked? For example, a Change Request may need to relate to a Test Case because a Test Case must act as the evidence that warrants the claim that the Change Request was verified to effect the change originally requested.
Complications with Linking
Linking of information between repositories has subtle challenges.
The philosophical challenge with linking is the need to discover not only intentional semantics of the data within each repository but also the semantics of the links between resources and which instances of types of resources can participate in instances of particular types of links.
A persistence challenge with links is determining whether or not the assertion of a link between resources can, should, or must modify the target resources. If the assertion of a link is permitted to modify the target resources then the existence of that link can alter the state of its linked resources. On the other hand, if the assertions of links must not modify the resources, then links have to persisted in an external repository.
Complications with Syncing
Synchronization of information throughout heterogeneous systems is intrinsically complicated. The bespoke repositories of engineering information were conceived as solutions for specific engineering disciplines and were optimized for the storage and retrieval of discipline-specific data using a variety of different tools and storage formats that were popular at different eras of information technology evolution.
The philosophical challenge with synchronization is the need to discover the intentional semantics of the data in each repository, to specify ontologies to express those semantics, and to conceive mappings between the resources of one repository with the resources of a peer paired repository.
Furthermore, while there may be concepts in one repository that are semantically the same as concepts in the peer repository, the shapes of the reifying resources may differ between between the two repositories. Additionally, it may take instances of several different resources to express the common concept. In such cases, the mapping between repositories can be “non-functional”. (A functional mapping is bijective and invertible.) When this is the situation, it may not be possible to map from a resource in one repository to several resources in the peer repository and to then map back from the peer repository to the source repository without a loss of information or without the creation of inaccurate new information.
A performance challenge with synchronization is the users’ demand that information move between the peers of a pair of repositories with latencies as close to zero as is practical. The promise of synchronization is that information within one repository is almost instantly available in a peer repository.
A communications challenge with synchronization is that automated synchronization depends on an electrical conduit between the repositories of a coupled pair. Today, that conduit is realized with Ethernet networks that are either wired or wireless. However, modern networks are not as available as is needed to satisfy the performance demands. Networks often become disconnected, corrupt their traffic, delay traffic, or may not be present where needed due to either a lack of infrastructure or to Access Control protections.