CWM: A Model-based Architecture For Data Warehouse Interchange
description
Transcript of CWM: A Model-based Architecture For Data Warehouse Interchange
1Unisys
CWM: A Model-based Architecture For Data Warehouse Interchange
Doug TolbertPacific Development Lab
Unisys Corporation
Mission Viejo, [email protected]
2Unisys
CWM Submitters & Supporters
• Submitters– IBM– Unisys– Oracle– NCR– Hyperion– UBS AG– Genesis Development– Dimension EDI
• OMG Specs: http://www.omg.org• CWM Info: http://www.cwmforum.org
• Supporters– Deere & Co.– Sun Microsystems– Hewlett-Packard– Data Access Technologies– InLine Software– Aonix– Hitachi
3Unisys
Source
Source
Source
Target
Target
Target
Source
Source
Source
CWM Tool
Target
Target
Target
Pairwise (9 connections)
Hub (6 connections)
Figure 1. Data warehouse source and target arrangements.
The CWM Metamodel
4Unisys
OMG Metamodel Architecture
Standard OMG ComponentsModeling Language: UMLMetadata Interchange: XMIMetadata API:
MOF IDL Mapping
MIDDLEWARE
APPLICATION
User Data/ObjectLayer (M0)
Metadata/Model Layer(M1)
Metamodel Layer(M2)
Meta-metamodelLayer (M3)
<Stock name=“IBM” price=“112”/>
Stock: name, price
UML: Class, AttributeCWM: Table, Column ElementType, Attribute
MOF: Class, Attribute, Operation, Association
5Unisys
The CWM Metamodel
WarehouseProcess
WarehouseOperation
Transformation
XMLRecordMulti
DimensionalRelational
BusinessInformation
SoftwareDeployment
UML 1.3(Foundation, Behavioral_Elements, Model_Management)
Management
Resource
Analysis
Object(UML)
Foundation
OLAPData
MiningInformation
VisualizationBusiness
Nomenclature
DataTypes
ExpressionsKeysIndex
TypeMapping
Counts Classes Associations
CWM 157 115
CWMX 130 77
Total 287 192
6Unisys
View
isReadOnly : BooleancheckOption : BooleanqueryExpression : QueryExpression
SQLQuery
query : QueryExpression
Table
isSystem : Boolean/ optionScopeColumn : Column/ type : SQLStructuredType/ usingTrigger : Trigger
SQLSimpleType
characterMaximumLength : IntegercharacterOctetLength : IntegernumericPrecision : IntegernumericPrecisionRadix : IntegernumericScale : IntegerdateTimePrecision : Integer
SQLDistinctType
length : Integerprecision : Integerscale : Integer/ sqlSimpleType : SQLSimpleType
1
0..*
sq lSimpleType
1
sqlDistinctType0..*
DistinctTypeHasSimpleTypeBaseTable
isTemporary : BooleantemporaryScope : String/ trigger : Trigger
ColumnSet
SQLDataType
typeNumber : Integer
CheckConstraint
deferrability : DeferrabilityType
0..*
0..*
/constraint0..*
/constrainedElement0..*
{ordered}
Column
precision : Integerscale : IntegerisNullable : NullableTypelength : IntegercollationName : StringcharacterSetName : String/ optionScopeTable : Table/ referencedTableType : SQLStructuredType
0..*
0..1 /feature
0..*{ordered}
/owner
0..1
0..*
1/structuralFeature
0..* /type
1
0..* 0..*
/constraint0..* /constrainedElement 0..*
{ordered}
CWM Relational Metamodel (Partial)
7Unisys
Transformation
• General mechanism describing data movement and lineage
• Generic transformations from any physical object to any other physical object
• Maps logical structures and concepts in the warehouse onto physical implementation
• Provides for multiple physical implementations of logical structures and concepts
Logical Object
Physical Object
Logical Object
Physical Object
Mapping Mapping
X-Form
X-Form
Conceptual Object
Conceptual Object
Mapping
X-Form
Mapping
8Unisys
Catalog/Schema
Table ColumnRelational
RecordRecordFile FieldRecordDef
XMLSchema AttributeElementType
Multi-dimensional
Dimension DimensionedObject
Schema
ClassPackageObjectOriented
Attribute
RowSet Row ColumnValue
RecordSet FieldValue
Record
Document Element
Member MemberValue
MemberSet
ObjectExtent DataValue
Intent ExtentResource
DataValue
CWM Data Resource Matrix
9Unisys
CWM Extension Packages
Olap<<metamodel>>
(from Analysis)
InformationSet<<metamodel>>
(from Analysis)
InformationReporting
<<metamodel>>
(from Analysis)
Record<<metamodel>>
(from Resource)
Multidimensional<<metamodel>>
(from Resource)
COBOLData<<metamodel>>
(from Resource)
DMSII<<metamodel>>
(from Resource)
IMSDatabase<<metamodel>>
(from Resource)
Essbase<<metamodel>>
(from Resource)
Express<<metamodel>>
(from Resource)
DataTypes<<metamodel>>
(from Foundation)
CORBAIDLDataTypes
<<metamodel>>
(from Foundation)
UML
(from org.omg)
ER<<metamodel>>
(from Foundation)
InformationVisualization
<<metamodel>
(from Analysis)
Extension Techniques•Metamodel specialization•XMI extensions•UML tagged values
10Unisys
CWM Package Architecture
Modular Design– Minimum dependencies
• Cross package services provided by links to UML
– Avoid subpackages– Reduced complexity,
improved understanding– Use only the packages you
need
org.omg UML CWM Foundation <<metamodel>> DataTypes <<metamodel>> TypeMapping <<metamodel>> KeysIndexes <<metamodel>> Expressions <<metamodel>> BusinessInformation <<metamodel>> SoftwareDeployment Resource <<metamodel>> Relational <<metamodel>> Record <<metamodel>> Multidimensional <<metamodel>> XML Analysis <<metamodel>> Transformation <<metamodel>> Olap <<metamodel>> BusinessNomenclature <<metamodel>> DataMining <<metamodel>> InformationVisualization Management <<metamodel>> WarehouseProcess <<metamodel>> WarehouseOperation CWMX
11Unisys
CWM Demo
12Unisys
CWM Timeline
September 1998– RFI issued
January 1999– First team meeting
November 1999– Initial Submission– Proof of Concept Demo
March 2000– Final Submission– Adoption by OMG Tech
Committee & Architecture Board
June 2000– Fax vote ends– Board of Directors vote
September 2000– FTF completes– Interoperability Showcase– Usage Guide– First OMG “Available
Specification”?