Upload
timothy212
View
122
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Common Warehouse Metamodel
Meta data : data describing dataMata data is critical to achieving integration between dissimilarsoftware systems and products from multiple vendors.
Product/component
Product/ component
metadata metadata
Data warehousing & business analysis domain’s component
Posses rich meta data
Why meta dataA given software product(eg Relational database system can perform operations on data effectively only if it has a precise definition of that data available.
Internal meta model
Several software products can be integrated effectively onlyif they have a common understanding of their data
External meta model
Most products have differing or incompatible internal meta modelsand interfaces exposing their meta data
Relational ware house
OLAP ware house
metadata
metadata
interchange
Data ware housing/business analysis domain’s
However it is nearly impossible for commercial software products & Systems to share meta data.
WhyMost products coming from different vendors have dissimilar meta dataModels(or meta models) and interfaces exposing their meta data.
So what do we need Bridges between dissimilar meta models.
A CB products
Meta data
Bridges
Bridges: not good enoughWhyTime consumingCostlyNot reused in other integration efforts
What are we expecting thenA single, low cost, meta data integration architecture.
It is simply not possible to have a single metadata repository that implements a single meta model for all the metadata.
Instead, what is needed is a standard for interchange of warehouse metadata.
A CB products
meta data
CWMMetamodel
(shared meta data)
CWM meta data interchange(based on XML or api calls)
Cs630 Dr.Hawker EE112
Cs601 Dr.Borie EE111
Course table and its values
courseID Instructor Room no
Course
CorseIDDataType="varchar"
Instructor
RoomNo DataType=string
Data Type=String
isActive=True
0..n
table column
0..n1
Column
name : StringdataType : String
Table
name : StringisActive : Boolean
Course Table instance
Relational table model
UML (PIM)
SQL DDL (PSM)CRATE TABLE Course(
ID VARCHAR NOT NULL,
Instructor CHAR
Roomno CHAR );
Export Mapping : process that translates its internal meta data into a platform independent model
Import Mapping : process ro transilate model into an instance of its own, product specific data
Note: If we consider an other relational table modle such as DEPARTMENTS , any software that understands the common metamodel defining relational tables in general can understand both COURSE and DEPARTMENT table models, both of which are instances of the same metamodel.
maps
CWM components1. A formal language capable of specifying meta data in terms of shared, platform-independent models.2. A common metamodel defining the problem domain.3. A common interchange format for interchanging shared meta data4. A common programming interface for meta data access5. Standard mechanism for extending the metamodels.6. Software adapters facilitating products meta data import & export
CWM is targeted at six categories of users:• Warehouse platform and tool vendors• Professional service providers• Warehouse developers• Warehouse administrators• End users• Information technology managers
CWM• A primary objective of the CWM is to define a metamodel of a generic data warehouse architecture.• CWM metamodel defines formal rules for modeling instances of data warehouses.• CWM metamodel should be expressed in MOF (and thus enabled for interchange via either CORBA interfaces or XMI).
The main purpose of CWM is to enable easy interchange of warehouse and business intelligence metadata between warehouse tools, warehouse platforms and warehouse metadata repositories in distributed heterogeneous environments. CWM is based on three key industry standards:• UML - Unified Modeling Language, an OMG modeling standard• MOF - Meta Object Facility, an OMG metamodeling and metadata repository standard• XMI - XML Metadata Interchange, an OMG metadata interchange standard
UMLCWM is expressed in UMLCWM extends subset of UML language to include data warehousingand business analysis domain concepts through extension mechanism.The UML notation is used in the diagrammatic representations of the CWM metamodel.
The CWM metamodel includes an Object Model package which is based on the UMLmetamodel.
Any metaclass within CWM ultimately inherits from some metaclassof the Object Model.Ex. CWM Relational PackageRelational metamodel defines a metaclass called "Table" that represents any Relational database table. This metaclass derives from the Object Model metaclass "Class". Similarly, the Relational metaclass "Column" derives from the Object Model "Attribute".
MOF
MOF specification consists ofMOF model : Defines the modeling elements, including the rules for their use, which can be used to construct meta modelsMOF reflective interfaces . Allows a program to create, update, access, navigate, and invoke operations on meta data .MOF to IDL mapping. Defines the standard mapping from a meta model defined using the MOF model onto CORBA IDL, thus allowing the automatic generation of metamodel specific interfaces for accessing and manipulating meta data (M1 level )
MOF enables dissimilar metamodels representing different domainTo be used in an interoperable manner.
CWM IDL
Java/c++
MOF compliant metamodel, CWM Maps using MOF specification
IDL compilar
XMIThis specifications allow data warehouse metadata based on CWMmetamodel to be interchanged using W3C’s Extensible Markup Language (XML).
XMI is used• to transform the CWM metamodel into a CWM Document Type Definition (DTD),• to transfer instances of warehouse metadata that conform to the CWM metamodel as XML documents, based on the CWM DTD, and• to transform the CWM metamodel itself into an XML document, based on the MOF DTD, for interchange between MOF-compliant repositories.
--XMI allows MOF meta data, that is meta data that conforms to MOF based metamodel, to be interchanged as streams or files with a Standard format based on XML.
--XML defines how XML tags are to be used to store CWM metamodel instances in XML document
XMI
XML MOF
UML DTDCWM DTDMOF DTD
UML ModelsCWM metadataMOF meta models
XML DTD XML documents
validate
DTD<!element course(Courseid,InstructorRoomno)>
XML<course><courseid>cs630 </courseid><instructor>Dr. Hawker</instructor><Roomno> ee111 </Roomno></course>
The model elements are contained in the following packages:ObjectModel package
• Core packageContains classes and associations that form the core of the CWM object
model, which are used by all other CWM packages including other ObjectModel packages.
• Behavioral packageContains classes and associations that describe the behavior of CWM
objects and provide a foundation for describing the invocations of defined behaviors.
• Relationships packageContains classes and associations that describe the relationships between
CWM object.
• Instance packageContains classes and associations that represents instances of CWM
classifiers.
Foundation package• Business Information packageContains classes and associations that represent business information about model
elements.
• Data Types packageContains classes and associations that represent constructs that modelers can use
to create the specific data types they need.
• Expressions packageContains classes and associations that represent expression trees.
• Keys and Indexes packageContains classes and associations that represent keys and indexes.
• Software Deployment packageContains classes and associations that represent how software is deployed in a
data warehouse.
• Type Mapping packageContains classes and associations that represent mapping of data types between
different systems.
Resource package• Relational packageContains classes and associations that represent metadata of relational
data resources.• Record packageContains classes and associations that represent metadata of record data
resources.• Multidimensional packageContains classes and associations that represent metadata of
multidimensional data resources.• XML packageContains classes and associations that represent metadata of XML data
resources.Analysis package• Transformation packageContains classes and associations that represent metadata of data
transformation tools.
• OLAP packageContains classes and associations that represent metadata of on-line
analytical processing tools.• Data Mining packageContains classes and associations that represent metadata of data mining
tools.• Information Visualization packageContains classes and associations that representing metadata of
information visualization tools.• Business Nomenclature packageContains classes and associations that represent metadata on business
taxonomy and glossary. Management package• Warehouse Process packageContains classes and associations that represent metadata of warehouse
processes.• Warehouse Operation packageContains classes and associations that represent metadata of results of
warehouse operations.
core relationships
0..n
table column
0..n1
Column
name : StringdataType : String
Table
name : StringisActive : Boolean
MOFModel
XMI
UMLMetaModel
CWMData
Mining
JMI
JDMAPI
Mapping to XML Mapping to java
instance of
instance of
instance of extends
Relationships between OMG MDA and J2EE
Mapping to java