Meta Integration® Model Bridge (MIMB)
"Metadata Integration" Solution

MIMB Bridge Documentation

MIMB Import Bridge from erwin 4.x Data Modeler

Bridge Specifications

Vendor erwin, Inc.
Tool Name erwin Data Modeler
Tool Version 4.x
Tool Web Site https://erwin.com/products/erwin-data-modeler/
Supported Methodology [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout via COM API on Native (.ER1) or Export (.XML) File

SPECIFICATIONS
Tool: erwin, Inc. / erwin Data Modeler version 4.x via COM API on Native (.ER1) or Export (.XML) File
See https://erwin.com/products/erwin-data-modeler/
Metadata: [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout
Component: CaErwin4Xml version 11.2.0

OVERVIEW
This bridge imports data models from erwin Data Modeler, including logical only models with Entities, Attributes, Domains, physical only models with Tables, Columns, Data Types, or Logical/Physical models with both. This bridge also imports all relationships and their implementation (e.g. PK/FK) as well as the graphical layout of the data models (diagrams).
This bridge can import either the .ER1 format files or .XML format files saved using erwin Data Modeler.
- erwin Native Format (.ER1):
This bridge requires the erwin Data Modeler COM/OLE API to be installed in order to parse .ER1 format files.
erwin Data Modeler must be properly installed with a valid license on the machine executing this bridge.
In order to test this, open an erwin model in Data Modeler and save it as 'XML Repository Format'.
- erwin XML File Format (.XML):
You can create the .XML version of a file (Save As... in erwin), select the 'XML Repository' format for the type of XML file that erwin creates.
Here are the steps to create this type of .XML file:
1. Open the .ER1 file in erwin.
2. Select 'Tools'->'Add-Ins...'->'Advantage Repository Export'
3. Select 'XML files (*.xml)' for the 'Save as type' pulldown.
4. Specify a path and name for the exported file.
5. Click OK

REQUIREMENTS
WARNING: This bridge uses the COM API of a Windows based tool client and/or SDK which must be (a) properly installed, (b) licensed on behalf of a Windows user capable of running this tool, and (c) capable of accessing the tool server content. In addition:
(1) As recommended by the tool vendor, the tool server must NOT be installed/coexist on the same machine where the tool client (and the bridge) is installed/running because of potential conflicts of resources, including with respect to COM API.
(2) Windows COM API based tools are notoriously unstable after repeated failures or lack of system resources, which requires a Windows reboot to make that tool COM API work properly again.
(3) If this bridge is running as an application, then it must be logged with the same above Windows user.
If the bridge is running as a Windows service, then go to the services manager of Windows, right-click on the MIMB Application Server service, and go to the "Log On" tab to define an account by name under which the service will run.

By default, erwin Data Modeler is NOT installed with this option to save .XML files in the 'Advantage Repository Format'. When installing, or modifying an installation, be sure to specifically select this component for installation.

- erwin User:
This bridge must run on behalf of the Windows user that can run the erwin software.
If this bridge is running as part of a Windows desktop application, then you must log onto Windows with that user.
If this bridge is running as part of a Windows service, then go to the Windows services and click on the 'Properties' menu of such service, go to the 'Log On' tab, select 'This account' and specify the same user name and password used as Windows session when testing connectivity from erwin to the mart, and restart the Windows service.

FREQUENTLY ASKED QUESTIONS
Q: How does this bridge import the ordering of attributes?
A: This bridge imports the physical order preferably, if the information is present in the XML file, otherwise the logical order is used.
To view the physical column ordering in erwin:
- Switch to the model Physical View,
- In the 'Format' menu, select 'Stored Display Settings...',
- Click on the 'Physical' tab, and select the 'Physical Order' radio button.
This is the order erwin uses when generating SQL DDL, and MIMB will import this order, if it is available in the file.
If you wish to import the logical order, please derive a logical only model in erwin and import it.

Q: Why do I see the message 'Error getting persistence units' when I run this bridge with an ER1 file?
A: This message usually indicates that the erwin software requires more information translating between the ER1 and XML formats. You can usually resolve this error by opening the ER1 file in the latest version of erwin 4 and saving it again as XML.

LIMITATIONS
Refer to the current general known limitations at https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html

- Warning On Potential Missing Physical Names:
This issue is particularly relevant when converting from erwin to ETL or BI tools, or to the OMG CWM XMI standard.
When saving a logical and physical model, the physical names of tables, columns, and keys may not always be saved into the XML file. Indeed, when erwin is used to manage the automatic generation of physical names from logical names, only the generation rules are saved. This will obviously not be an issue for physical only erwin models (which is often the case when re-engineering existing databases).
The main workaround for this issue is to use the erwin 4 Add-In for the Advantage Repository available in the menu 'Tools' -> 'Add-Ins' -> 'Advantage Repository Export'. This Add-In is primarily used to exchange metadata between erwin 4 and the Advantage Repository software. It is available since erwin v4.1 SP1 (build 2522) and a specific checkbox allows to install it in the erwin 4 installer wizard. This Add-In generates a slightly different XML file in which the physical names are explicitly expanded. Just import the produced XML file in the erwin 4 import bridge as usual.
Another solution is to make sure all physical names are explicitly set, therefore not relying on any generation rules from the logical names.
Alternatively, you can derive a new physical model (to be saved as XML) from your existing logical and physical model. Select 'Derive New Model...' from the 'Tools' menu, and select 'New Model Type' as 'Physical'. The next step of the wizard will then invoke all the generation rules to produce all the physical names. The new physical model can then be saved as XML. Note that the logical names of the tables are also available in this new XML file, but unfortunately the logical names of attributes might still be missing.
Note that this bridge automatically parses the .ER1 files using the correct XML generation function in erwin, so that the problem of missing physical names does not occur.

- Warning On Potential Missing Dimensional Modeling Roles:
This issue is particularly relevant when erwin is used for dimensional modeling to BI tools, or to the OMG CWM XMI standard. As for the physical name issue explained above, the dimensional modeling roles (Fact, Dimensional, or Outrigger) may not be available in the XML file if they are automatically calculated by erwin.
One solution, is to make sure all dimensional modeling roles are explicitly set (use the 'Table Editor', tab 'Dimensional'), therefore not relying on automatic calculations by erwin based on usage.

- Known Bugs of erwin 4.0 (SP1) build 1511:
1. Warning On Incorrect Graphical Information On Relationships: Some relationships can be properly displayed in the GUI of erwin, but the export XML may contain incorrect graphical positions. The solution is to move the relationships within erwin, then the graphical positions are systematically recomputed, and therefore properly exported to XML.
2. Warning On Missing Discriminator Of Subtype Relationship: When you import an erwin 3.5x ER1 file into erwin 4.0 (SP1) and save it as XML, discriminators of subtype relationships might be missing. Open the subtype relationship window and reselect the discriminators before exporting the XML.

SUPPORT
Provide a troubleshooting package with debug log. Debug log can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6


Bridge Parameters

Parameter Name Description Type Values Default Scope
File The erwin data model file which can be either:

'model.ER1'
The native format which requires erwin Data Modeler to be installed (Windows only) in order to access its COM API.

'model.XML'
The erwin data model file in the .ERX (erwin exchange format) which can then be used for import on both Linux and Windows. This .ERX format is produced by erwin Data Modeler as follows:
1. Choose 'Save As' from the 'File' menu.
2. Select the XML or ER1 format type in the 'Save as type' list.
3. Type the file name for the model you are saving in the 'File name' text box
4. Click 'Save'.
FILE
*.xml
*.er1
  Mandatory
Apply binary characters filter Specifies if invalid binary characters should be filtered out of the file as a pre-process, before parsing the XML document. This option is a workaround for a bug in the erwin 4 tool which sometimes generates a file that is not conformant with the XML specification, with binary characters in it.

Warning: Applying this filter may remove some Unicode national characters.

If some of your Unicode national characters are removed, turn this option off.
BOOLEAN   True  
Import IDs Each object defined in the erwin 4 XML file has an ID. This option allows you to specify whether this bridge should import them in the NativeID property.

'True'
The ID is saved in the NativeId property.

'False'
The ID is ignored.
BOOLEAN   True  
Import UDPs In erwin data modeler, a User Defined Property (UDP) is defined with a name (e.g. Threat Level), a definition (e.g. an enumeration with values: green, yellow, orange, red), and a possible default value (e.g. green). Applying a UDP to an object (e.g. table or column) can be done with an explicit value (e.g. orange) or without value therefore the default value of the UDP (e.g. green).
By default, this bridge imports the UDP definitions as a Property Type.

UDP can be imported:

'As metadata'
Import an explicit value as Property Value, implicit values are not imported, the default value is kept on the Property Type only.

'As metadata, migrate default values'
Import explicit and implicit values as Property Value objects.

'In description, migrate default values'
Append the property name and value, even if implicit, to the object's description and/or comment (depending upon the design level). This allows you to export the UDP values to another tool which does not support the notion of UDP.

'Both, migrate default values'
Import the UDP value, even if implicit, both as metadata and in the object's description and/or comment (depending upon the design level).
ENUMERATED
As metadata
As metadata, only when used
As metadata, migrate default values
In description, migrate default values
Both, migrate default values
As metadata  
Import relationship name Controls how the erwin relationship names are imported:

'From relationship name'
from the name property.

'From relationship description'
from the description property. This option may be useful to some database modelers who decided to use the description property to document the relationships name instead of the regular name property.
ENUMERATED
From relationship name
From relationship description.
From relationship name  
Import column order from In erwin data modeler, the columns physical order can viewed through edit the current subject area 'Stored Display Settings', then click on tab 'Physical', group 'Display Level', then on the 'Physical Order' radio button.

Controls how the erwin table's column order is imported:

'Column order'
Order of the columns displayed in the erwin physical view.

'Physical order'
Order of the columns in the database, as generated in SQL DDL.
ENUMERATED
Column order
Physical order
Physical order  
Import subject areas This bridge option controls how the erwin subject areas are imported:

'As diagrams'
Import as diagrams only.

'As packages and diagrams'
Import as packages and diagrams. This option may be useful to some database modelers who decided to save the hierarchy structure of subject areas.
This is the default value.

'Do not import subject areas'
Do not import subject areas.
ENUMERATED
As diagrams
As packages and diagrams
Do not import subject areas
As packages and diagrams  
Import owner schemas Controls how the erwin owner schemas are imported:

'True'
The owner schema for Tables and views and other database objects is imported.

'False'
The owner schema for Tables and views and other database objects is ignored. Useful for models where physical names are not unique, to indicate the model should be treated as a logical model (not ready for SQL DDL generation) while physical information is still maintained the model.
BOOLEAN   True  

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"erwin 4.x Data Modeler"
Metamodel
CaErwin4Xml
Mapping Comments
     
Association Relationship  
Aggregation Identifying/ Non Identifying True if identifying
Comment Comment  
Description Definition optional: UDP values can be added to the description
DesignLevel Logical_Only, Physical_Only  
PhysicalName Physical_Name Foreign Key Constraint Name
AssociationRole Relationship  
DesignLevel Logical Only, Physical Only  
ExtraConstraint Delete, Insert, Update Rule We may not know all the codes for these rules for models migrated from erwin 3.5
Multiplicity Cardinality, Nulls  
Source   Based on the multiplicity of each role and the Identifying/Non Identifying property
AssociationRoleNameMap Attribute/Index The association between the primary key column and the foreign key column
Attribute Attribute/Column  
Comment Comment  
Description Definition optional: UDP values can be added to the description
DesignLevel Logical Only, Physical Only  
ExtraConstraint Validation Rule if the validation rule cannot be set on the type
Optional Null Option  
PhysicalName Column Name  
Position Physical Order  
BaseType Domain, Attribute Data Type  
Comment Comment  
DataType Datatype See datatype conversion arrays
Description Definition optional: UDP values can be added to the description
Length Datatype extracted from the datatype
Name Logical Name  
PhysicalName   computed from the datatype, length and precision
Scale Datatype extracted from the datatype
CandidateKey Key Group/Index (non Foreign Key)  
Comment Comment  
Description Definition  
PhysicalName Physical_Name if set by the user
UniqueKey   True for Primary Key/Alternate Key, False for Inversion Entries
Class Entity/Table  
Comment Comment  
CppClassType   Set to ENTITY
CppPersistent   Set to True
Description Definition optional: UDP values can be added to the description
DesignLevel Logical_Only, Physical_Only  
DimensionalRole Dimensional Modeling Role  
DimensionalType Dimension Type  
Name Logical Name  
PhysicalName Physical Name  
ClassDiagram Subject Area  
Description Definition  
Name Name  
DatabaseSchema Owner Table, View or Index owner
Name Name  
DerivedType Domain, Attribute Data Type, Validation Rule  
Comment Comment  
DataType Datatype See datatype conversion arrays
Description Definition  
InitialValue Default value imported from the default value tag associated to this type
Length Datatype extracted from the datatype
LowerBound Validation_Rule_Max_Value imported from the validation rule associated to this type
Name Logical Name  
PhysicalName Physical Name computed from the datatype, length and precision
Scale Datatype extracted from the datatype
UpperBound Validation_Rule_Max_Value imported from the validation rule associated to this type
UserDefined   True for User Defined Domain
DesignPackage   No equivalent in erwin. A main package "Logical View" will be created to contain all entities/references
ForeignKey Key Group/Index (Foreign Key)  
Comment Comment  
Description Definition  
PhysicalName Physical_Name if set by the user
Generalization Supertype/Subtype  
DesignLevel   set to Logical Only if involved in a transformation
GeneralizationRole Supertype/Subtype Relationships  
DesignLevel   set to Logical Only if involved in a transformation
Identity Sequence, Identity properties  
Cycle Cycle  
IncrementValue Increment By  
MaximumValue Maximum Value  
MinimumValue Minimum Value  
StartValue Starting Value  
Index Key Group/Index  
Clustered Index Clustered  
Generate Index Generate  
Name physical name of the key erwin does it this way
IndexMember Key Group Member/Index Member Associated with each attribute in a key
Position Key Group Member Position  
SortOrder Desc  
Note Note  
Value   Note value
Projection Drawing Object Graphical Information
BackgroundColor fill color  
Bold bold  
FontColor font color  
FontName font  
FontSize font size  
Height height  
Italic italic  
LineColor outline color  
Strike strikeout  
Underline underline  
Width width  
X x  
Y y  
PropertyElementTypeScope User Defined Property  
Scope UDP Class  
PropertyType User Defined Property  
DataType Type  
Description Description  
DesignLevel   UDP design level: Logical and/or Physical
InitialValue Default value  
NativeId   Object id
PhysicalName   Not used
Position position  
Usage   set to User
PropertyValue User Defined Property used for UDP values and column physical information specific to Teradata: COMPRESS, CASE and FORMAT
Value Value value set on an object
RelationshipProjection Drawing Object Graphical Information
BackgroundColor fill color  
Bold bold  
FontName font  
FontSize font size  
Italic italic  
LineColor outline color  
LinePoints relationship path  
Strike strikeout  
Underline underline  
X x relationship mid point
Y y relationship mid point
SQLViewAssociation View Relationship  
Comment Comment  
SQLTableSequence Relationship Sequence  
SQLViewAttribute View Column  
Comment Comment  
Description Definition optional: UDP values can be added to the description
PhysicalName Column Name  
Position Column Position  
SQLViewEntity View Table  
Comment Comment  
Description Definition optional: UDP values can be added to the description
WhereClause View SQL or Where clause The View SQL if user defined or else the Where clause
Sequence Sequence  
DataType Datatype  
Length Datatype  
Name name  
NativeDataType Datatype  
Scale Datatype  
Shape Drawing Object  
BackgroundColor Fill Color Shape's background color
Bold Font, Bold Text property
FontColor Font Color  
FontName Font Font typeface name
FontSize Font Size  
Height   Calculated property
Italic Font Italic Text property
LineColor Line Color Shape outline color
LinePoints   Vertex coordinates for polygons and polylines, end points for straight lines
Name Name Autogenerated name of the shape
ShapeType   Type of the shape in the drawing objects palette
Strike Font Strikeout Text property
Underline Font Underline  
Width   Calculated property
X   X coordinate for center of the shape
Y   Y coordinate for center of the shape
Z   Not a user accesible property
StoreModel Model/Diagram The model is built using the elements contained in the erwin file
Description Definition optional: UDP values can be added to the description
SystemType Target Server  
SystemTypeOld Target Server  
StoredProcedure Stored Procedure Model-level and Table-level Stored Procedure
Comment Comment  
Description   optional: UDP values can be added to the description
Semantics Code  
Trigger Trigger Table Trigger
Comment Comment  
Description   optional: UDP values can be added to the description
Semantics Trigger Code  
TriggerType Fire  
TypeValue Validation Rule  
Position Order  
Value Definition  

Last updated on Fri, 15 Nov 2024 17:43:11

Copyright © 1997-2024 Meta Integration Technology, Inc. All Rights Reserved.

Meta Integration® is a registered trademark of Meta Integration Technology, Inc.
All other trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.