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

MIMB Bridge Documentation

MIMB Import Bridge from Metadata Excel Format

Bridge Specifications

Vendor Meta Integration Technology, Inc.
Tool Name Metadata Excel Format
Tool Version Excel 2003 to 2010
Tool Web Site http://metaintegration.com/Products/MIMB/
Supported Methodology [Metadata Management] Multi-Model, ETL (Source and Target Data Stores, Transformation Lineage, Expression Parsing) via Excel 2007 (XLSX) File

SPECIFICATIONS
Tool: Meta Integration Technology, Inc. / Metadata Excel Format version Excel 2003 to 2010 via Excel 2007 (XLSX) File
See http://metaintegration.com/Products/MIMB/
Metadata: [Metadata Management] Multi-Model, ETL (Source and Target Data Stores, Transformation Lineage, Expression Parsing)
Component: MicrosoftExcel version 11.0.0

DISCLAIMER
This bridge requires internet access to https://repo.maven.apache.org/maven2/ (and exceptionally a few other tool sites)
in order to download the necessary third party software libraries into $HOME/data/download/MIMB/
- If https fails, the bridge then tries with http.
- If a proxy is used to access internet, you must configure that proxy in the JRE (see the -j option in the Miscellaneous parameter).
- If the bridge does not have access to internet, that directory can be copied from another server with internet access.
By running this bridge, you hereby acknowledge responsibility for the license terms and any potential security vulnerabilities from these downloaded third party software libraries.

OVERVIEW
The purpose of this bridge is to import metadata from technologies / tools for which no existing bridge is available: such as legacy data store or ETL tools, or hand written ETL jobs written in an unsupported language.

This bridge imports the metadata representing physical data stores, logical data models, and/or data mappings expressed in Microsoft Office Excel spreadsheets based on a standard Metadata Excel Format which uses multiple tabs (sheets) to represent different metamodel aspects:
- Data Modeling tabs: Models, Packages, Relationships, Domains, Constraints, Enumerations.
- Data Mappings tabs: Mappings, Joins, Filters, Lookups, Rules.

This bridge imports metadata as:
- a data mapping / data integration model if it contains any Mappings,
- a logical/physical data model if it contains any Packages,
- a physical data store (e.g. Oracle) otherwise.

A Metadata Excel Format add-in creates a new 'Metadata' menu in the Excel ribbon to help navigate and manage spreadsheets which are designed using the standard format. These functions include:
- Inserting new worksheets in the 'Standard' format
- Show and hide functions to control which columns are displayed
- Annotation, formatting and validation of entries on a worksheet

The best way to learn, the standard Metadata Excel Format is to learn from examples exported from previously imported databases, data models, or data integration jobs.
However, note that the Metadata Excel Format was not designed (and therefore does not support) export, edit, and import round-trip. In other words, this bridge imports metadata as an onboarding technology, while its matching bridge to export is a metadata as reporting (e.g. summarizing lineage of complex DI/ETL jobs).

REQUIREMENTS
The file must comply to the standard Metadata Excel Format which is:
- based on an Excel template called Standard-Blank.xlsx
- supported/enforced by an Excel 'Add-In' called Standard-Addin.xlam
both located in ${MODEL_BRIDGE_HOME}\conf\MIRModelBridgeTemplate\MIRMicrosoftExcel

Follow Microsoft Excel documentation about installing add-ins in Excel.

FREQUENTLY ASKED QUESTIONS
Q: Why are Business Name and Business Description not imported
A: When the Metadata Excel Format file does NOT contain any data mappings or data modeling packages, the metadata is imported as a physical data store (e.g. Oracle Database) for which the metamodel does not contain (and therefore ignore) any business names and business descriptions.
Note in this case of RDBMS that any SQL Comments (which can be used to document any tables or columns in the DDL) will be imported as Comment (itself not related to any other concept of User Comment / Feedback).

Q: How does the bridge handle 'implicit joins'?
A: When a transformation is defined that requires the joining of two or more tables, a join should be specified on a 'Joins' type worksheet. If there are no entries on any 'Joins' type worksheet or if there are no worksheets of that type, then the bridge will attempt to generate the corresponding join specifications required. In many cases, the bridge will not have sufficient information to create the correct join and will instead generate a proposed join that must be corrected in the export tool.

On the other hand, if there are any entries (join specifications) on any 'Joins' type worksheets, the bridge assumes that all joins are fully specified.

Q: Why do I see errors such as 'Table not found', 'Schema not found', or 'Model not found'.
A: These and other errors can be avoided by using the 'Add-In's Validation' operation. This catches most errors and positions the cursor to the first error cell. The cell is turned red and a specific error message is added as a cell comment.

Q: How do I create an XLSX file with an Excel version earlier than 2007?
A: From the Microsoft Download center, install the 'Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint File Formats'. It supports Office XP and 2003.

Q: How do I resolve an 'Out of Memory' error message in the log?
A: By default the bridge allocates 512 MB of memory. For large models, you can increase this amount, as well as switch to a 64-bit Java Virtual Machine if you require more than 2GB. Update the configuration file $MetaIntegration/conf/conf.properties with appropriate -Xmx parameter for a 64-bit JVM, for example:
M_JAVA_HOME=..\jre
M_JAVA_OPTIONS=-Xmx2G

LIMITATIONS
Refer to the current general known limitations at http://metaintegration.com/Products/MIMB/MIMBKnownLimitations.html or bundled in Documentation/ReadMe/MIMBKnownLimitations.html
Productivity tools, such as spreadsheet editing tools, are commonly used to capture, document or publish physical, logical, and business metadata throughout the industry. A tool like Microsoft Office Excel is an especially common choice as it is nearly always available. It is understood by and familiar to business users, offers simple copy and paste compatibility with other Office applications, and conveniences such as spelling correction. Microsoft Excel import and export capabilities are provided to leverage these advantages.

1. All metadata source spreadsheets must be defined in the Standard format, as this is the only format directly supported. To accommodate a legacy migration activity involving a very large number of existing spreadsheets, the format expected by the bridge is not hard coded but rather defined by 'Blank' spreadsheets specifying how each spreadsheet cell relates to a neutral repository metamodel. This flexibility is available only as a specific customized bridge which may be provided through consulting services.

2. While both import (reading from spreadsheet) and export (writing to spreadsheet) capabilities are offered, they are not designed to support round-trip re-engineering. For example, one may forward engineer the mapping requirements into a DI/ETL tool for design, but the purpose of exporting from that DI/ETL tool back to Excel is to provide a mapping lineage summary independent of all internal multiple complex transformations and not to re-engineer the design and re-import.

3. Data Design and Architecture tool models may support round-trip type editing within Excel, to take advantage of the spell-checking, column and row based copy and paste, and other conveniences inherent to a spreadsheet environment. In this case, one should export to a spreadsheet, make the edits and then re-import into the original design tool, leveraging the compare and merge facilities provided with the receiving tool.

4. New source or target data stores may be exported to an existing spreadsheet. However, no merge or update features are offered at this time. Also, when importing an Excel spreadsheet into a DI/ETL tool, the receiving tool is responsible for integrating/merging the models and mappings within its existing versions.

5. Specific assumptions and limitations are provided for each pre-defined format in the appropriate ${MODEL_BRIDGE_HOME}\conf\MIRModelBridgeTemplate\MIRMicrosoftExcel\*-Blank.xlsx file

6. Using a spreadsheet to manage metadata may have limitations in some cases. There are no actual limits for any information represented as rows in the spreadsheet, for example there are no limits in the number of entities/tables per model, or the number of attributes/columns per entity/table. However, there are some limitations for any information represented as columns for usability reasons. For example, the nesting of packages within a model, the number of PK/FK/AK keys a given attribute/column can be involved in, or more importantly the number of custom UDP allocated to an entity/table, attribute/column, or data type.

7. Flat file type supports Delimited or Fixed Width flat files. Fixed Width files use the Position attribute to set 'absolute number of characters from the beginning of the row' for each of their fields/columns. Delimited files use the Position attribute to depict the order of their fields/columns.

8. With respect to Comments vs. Descriptions:
A physical data model has a "Comment" on a table which ends up been generated as SQL Comment in the DDL.
A logical data model has a "Description" on an entity. That logical entity may be associated to a physical table if the model is both Logical/Physical, but a Physical only data model cannot have a description and a comment by design.
Therefore, when an Entity / Table / Record / View / File has a Design Level of a Logical/physical, you may see both a (physical) comment, and separately a (logical) description.
However, when an Entity / Table / Record / View / File has a Design Level of a Physical only, then it can have only one description taken from (physical) comment, or (logical) description if present (in such case the physical comment is ignored).

SUPPORT
Provide a trouble shooting package with:
- the debug log (can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6)
- the metadata backup if available (can be set in the Miscellaneous parameter with option -backup)


Bridge Parameters

Parameter Name Description Type Values Default Scope
File This bridge reads an Excel spreadsheet in XLSX format and creates a model from its textual information. The "File" parameter should contain the name of this first spreadsheet, generally referred to as the "metadata import spreadsheet."

This metadata import spreadsheet MUST be formatted to match the blank spreadsheet.
Please find samples of these metadata import spreadsheets in ${MODEL_BRIDGE_HOME}\conf\MIRModelBridgeTemplate\MIRMicrosoftExcel\BlankFiles\. Using these files as guides, you may simply create a metadata import spreadsheet with your own model information that matches these examples.
FILE *.xlsx   Mandatory
Miscellaneous INTRODUCTION
Specify miscellaneous options starting with a dash and optionally followed by parameters, e.g.
-connection.cast MyDatabase1="SQL Server"
Some options can be used multiple times if applicable, e.g.
-connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
As the list of options can become a long string, it is possible to load it from a file which must be located in ${MODEL_BRIDGE_HOME}\data\MIMB\parameters and have the extension .txt. In such case, all options must be defined within that file as the only value of this parameter, e.g.
ETL/Miscellaneous.txt

JAVA ENVIRONMENT OPTIONS
-java.memory <Java Memory's maximum size> (previously -m)

1G by default on 64bits JRE or as set in conf/conf.properties, e.g.
-java.memory 8G
-java.memory 8000M

-java.parameters <Java Runtime Environment command line options> (previously -j)

This option must be the last one in the Miscellaneous parameter as all the text after -java.parameters is passed "as is" to the JRE, e.g.
-java.parameters -Dname=value -Xms1G
The following option must be set when a proxy is used to access internet (this is critical to access https://repo.maven.apache.org/maven2/ (and exceptionally a few other tool sites) in order to download the necessary third party software libraries.
-java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass -Dhttps.proxyUser=user -Dhttps.proxyPassword=pass

-java.executable <Java Runtime Environment full path name> (previously -jre)

It can be an absolute path to javaw.exe on Windows or a link/script path on Linux, e.g.
-java.executable "c:\Program Files\Java\jre1.8.0_211\bin\javaw.exe"

-environment.variable <name>=<value> (previously -v)

None by default, e.g.
-environment.variable var2="value2 with spaces"

MODEL IMPORT OPTIONS
-model.name <model name>

Override the model name, e.g.
-model.name "My Model Name"

-prescript <script name>

The script must be located in the bin directory, and have .bat or .sh extension.
The script path must not include any parent directory symbol (..).
The script should return exit code 0 to indicate success, or another value to indicate failure.
For example:
-prescript "script.bat arg1 arg2"

-cache.clear

Clears the cache before the import, and therefore will run a full import without incremental harvesting.
Warning: this is a system option managed by the application calling the bridge and should not be set by users.

-backup <directory>

Full path of an empty directory to save the metadata input files for further troubleshooting.

DATA CONNECTION OPTIONS
Data Connections are produced by the import bridges typically from ETL/DI and BI tools to refer to the source and target data stores they use. These data connections are then used by metadata management tools to connect them (metadata stitching) to their actual data stores (e.g. databases, file system, etc.) in order to produce the full end to end data flow lineage and impact analysis. The name of each data connection is unique by import model. The data connection names used within DI/BI design tools are used when possible, otherwise connection names are generated to be short but meaningful such as the database / schema name, the file system path, or Uniform Resource Identifier (URI). The following options allows to manipulate connections. These options replaces the legacy options -c, -cd, and -cs.

-connection.cast ConnectionName=ConnectionType

Casts a generic database connection (e.g. ODBC/JDBC) to a precise database type (e.g. ORACLE) for SQL Parsing, e.g.
-connection.cast "My Database"="SQL SERVER".
The list of supported data store connection types includes:
ACCESS
CASSANDRA
DB2
DENODO
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
SQL SERVER
SYBASE
TERADATA
VECTORWISE
VERTICA

-connection.rename OldConnection=NewConnection

Renames an existing connection to a new name, e.g.
-connection.rename OldConnectionName=NewConnectionName
Multiple existing database connections can be renamed and merged into one new database connection, e.g.
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

Splits a database connection into one or multiple database connections.
A single database connection can be split into one connection per schema, e.g.
-connection.split MyDatabase
All database connections can be split into one connection per schema, e.g.
-connection.split *
A database connection can be explicitly split creating a new database connection by appending a schema name to a database, e.g.
-connection.split MyDatabase.schema1=MySchema1

-connection.map DestinationPath=SourcePath

Maps a source path to destination path. This is useful for file system connections when different paths points to the same object (directory or file).
On Hadoop, a process can write into a CSV file specified with the HDFS full path, but another process reads from a HIVE table implemented (external) by the same file specified using a relative path with default file name and extension, e.g.
-connection.map hdfs://host:8020/users/user1/folder/file.csv=/user1/folder
On Linux, a given directory (or file) like /data can be referred to by multiple symbolic links like /users/john and /users/paul, e.g.
-connection.map /users/John=/data -connection.map /users/paul=/data
On Windows, a given directory like C:\data can be referred to by multiple network drives like M: and N:, e.g.
-connection.map M:\=C:\data -connection.map N:\=C:\data

-connection.casesensitive ConnectionName

Overrides the default case insensitive matching rules for the object identifiers inside the specified connection, provided the detected type of the data store by itself supports this configuration (e.g. Microsoft SQL Server, MySql etc.), e.g.
-connection.casesensitive "My Database"

ETL POST PROCESSING OPTIONS
These options are available on all ETL/DI tools and scripting import bridges in order to:
- Process all SQL parsing
- Build run time models from design models and runtime variables
- Calculate run time summary lineage

-etl.summary.add.ultimate (previously -ppus)
Adds the ultimate runtime lineage summary (may generate a very large model).

-etl.summary.only.ultimate (previously -ppsp)
Only produces the ultimate runtime lineage summary (may generate a very large model).

-etl.connections.add.internal.design (previously -pppd)
Adds the internal ETL design data connectors (needed for ETL conversion).

-etl.connections.remove.input (previously -ri)
Removes all input (source) data connections (to reduce the size of the generated model).
STRING      

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"Metadata Excel Format"
Metamodel
MicrosoftExcel
Mapping Comments
     
Attribute Attributes, SourceAttributes or TargetAttributes  
Comment Attribute Comment  
Description Attribute Description  
InitialValue Attribute Initial Value  
Name Attribute Name  
Optional Is Attribute Optional Is Attribute Required
PhysicalName Attribute Physical name  
Position Attribute Position  
Class Classes, SourceClasses or TargetClasses  
Comment Class Comment  
Description Class Description  
Name Class Name  
PhysicalName Class Physical name  
ClassifierMap   Computed based on feature maps
DataAttribute   Computed based on feature maps
DataSet   Computed based on Transformation
DatabaseSchema Schemas, SourceSchemas or TargetSchemas Created based on the "System Type"
Comment Schema Comment  
Description Schema Description  
Name Schema Name  
PhysicalName Schema Physical name  
DerivedType   Create using "Data Type Inherited From" or calculated using template data.
Comment Data Type Comment  
Description Data Type Description  
InitialValue Data Type Initial Value  
Length Data Type Length  
LowerBound Data Type Min Value  
Name Data Type Name  
PhysicalName Data Type Physical Name  
Scale Data Type Scale  
UpperBound Data Type Max Value  
UserDefined   Calculated based on the datatype usage
DesignPackage DataPackages, SourceDataPackages or TargetDataPackages  
Comment Package Comment  
Description Package Description  
Name Package Name  
PhysicalName Package Physical name  
FeatureMap FeatureMaps Computed based on source and target attribute references.
Description Feature Map Description  
Name Feature Map Name  
Operation Feature Map Operation  
FileDirectory Schemas, SourceSchemas or TargetSchemas Created based on the "System Type"
Comment Schema Comment  
Description Schema Description  
Name Schema Name  
PhysicalName Schema Physical name  
PropertyType   Defined in the template
DataType   Defined in the template
InitialValue   Defined in the template
Name   Defined in the template
Name   Defined in the template
Value   Defined in the template
StoreModel Models  
Author Model Creation Time  
Comment Model Comment  
CreationTime Model Creation Time  
Description Model Description  
ModificationTime Model Creation Time  
Modifier Model Creation Time  
Name Model Name  
PhysicalName Model Physical name  
SystemType System Type  
SystemTypeOld System Type  
TypeValue DataTypes, SourceDataTypes or TargetDataTypes  
Description Data Type Enumerated Value Description  
Name Data Type Enumerated Value  

Last updated on Wed, 18 Nov 2020 17:34:26

Copyright © Meta Integration Technology, Inc. 1997-2020 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.