Linked universes are universes that share common components such as parameters, classes, objects, or joins. When you link two universes, one universe has the role of a core universe, the other a derived universe. When changes are made in the core universe, they are automatically propagated to the derived universes.
You can dynamically link one or more universes.
Universe Types
- Core Universe
- Derived Universe
Core Universe –
• Universe to which other universes are linked.
• It contains components that are common to the other universes linking to it (These universes are called derived universes).
• The core universe represents a re-usable library of components.
• Core universe can be a kernel or master universe depending on the way the core universe components are used in the derived universes.
Derived Universe –
• A derived universe is a universe that contains a link to a core universe. The link allows the derived universe to share common components of the core universe:
• If the linked core universe is a kernel universe, then components can be added to the derived universe.
• If the linked core universe is a master universe, then the derived universe contains all the core universe components.
• Classes and objects are not added to the derived universe. They can be hidden in the derived universe depending on the user needs.
Linked Universe Approach
Three different approaches are there to link between universes.
• Kernel Universe Approach
• Master Universe Approach
• Component Universe Approach
You can use any of the three approaches individually, or, combine one or more together.
Kernel Universe Approach
• The kernel approach, one universe contains the core components and core components can be added to the derived universe.
• The derived universes that you create from this kernel universe contain these core components as well as their own specific components.
• Any changes made to the kernel universe are automatically reflected in all the derived universes.
• The master universe holds all possible components.
• In derived Universe certain components are hidden depending on their relevance to the target users.
• The components visible in the derived universes are always a subset of the master universe.
• New classes and objects are not added to the derived universe.
• Any changes made to the kernel universe are automatically reflected in all the derived universes.
Component Universe Approach
• Merging of two or more universes into one universe.
Advantages of Linked Universe
• Reduced development and maintenance time and any changes made to the core universe are propagated to the derived universe.
• Centralize often used components in core universe, and include them in all the new universes and no need to re-create common components each time you create a new universe.
• Facilitate specialization by splitting the responsibility between database administrator for core universe and specialized designers for more functional universe.
Things to remember for Linked universes
• Linking universes must use the same data account/database and same RDBMS.
• Using the same connection for both universes makes managing the universes easier, but this can be changed at any time.
• Core and Derived universes must be in same repository.
• Core universe must be exported and re-imported at least once.
• Derived universe does not need to have been exported before creating a link.
• Only the table schema, classes and objects of the core universe are available in the derived universe. Contexts must be re-detected in the derived universe.
• Exported derived universes are located in the same universe domain as the core universe.
• You are authorized to link the given universe.
Linked Universe Limitations
• Only one level of linking is possible and you cannot create derived universes from a universe which is already derived.
• All classes and objects must be unique in both the core universe and the derived universes, If not conflicts will occur.
• To avoid Cartesian product issue, two universe structures must allow joins between tables in one universe to a table in the other universe.
• Lists of values associated with a core universe are not saved when you export a derived universe with the core universe structures. (There is a work around to achieve LOV and is defined in end of this post)
• You cannot edit any structure, class, or object from the linked universe (core universe), within the derived universe.
• You can remove a link to a core universe only if the derived universe does not contain objects based on core components, or joins to core components.
Linked Universe creation process
Example, we have 2 universes, Loan Universe and Credit Universe. Here I am going to link Credit Universe (Core Universe) into Loan Universe (Derived Universe).
Go to Loan Universe–>Universe Parameters –>Links tab–> Click Add Link and then select your Core universe.
After Linking the Core universe (Credit universe) components appear dimmed (highlighted) in the derived universe (Loan Universe).
Save the derived universe and export both the core and the derived universe to the same repository.
Note: If the location of your core universe has changed, then you need to indicate the new location in order to maintain the link using Change source option in the Links tab (universe Parameters).
Include one universe to another
You can copy the components of a core universe to a derived universe. The resulting components in the derived universe are independent of those in the core universe. These components are not linked to the core universe. Any changes made to the core universe are not inherited by the derived universe.
Derived universes and lists of values
Lists of values associated with core objects are not saved with the derived universe, when it is exported to the repository. You can use to save lists of values associated with the core objects as mentioned below:
1. Create new objects using the same definition as the objects containing lists of values that you want to export to the repository with the derived universe.
2. Assign the new objects the same lists of values as the core objects.
3. Hide these new objects and those hidden objects serve the function of holding the lists of values, so that they can be exported and imported with the derived universe.
Please share your comments!
Pingback: Business Objects – List of Values (LOV) | DWBI castle
Very nice post in-depth and detailed… Thanks