Date post: | 29-Jan-2016 |
Category: |
Documents |
Upload: | margaret-osborne |
View: | 222 times |
Download: | 0 times |
Enterprise CORBA 2001 - CWM 2Copyright © Adaptive Ltd. 2001
CWM at heart of MDACWM at heart of MDA
“It is probably the best example to date of applying the MDA paradigms to an application area.”
Enterprise CORBA 2001 - CWM 3Copyright © Adaptive Ltd. 2001
AcknowledgementsAcknowledgements
• Thanks for some of the material in this Thanks for some of the material in this presentation are due to:presentation are due to:– Sridhar Iyengar and Doug Tolbert of UnisysSridhar Iyengar and Doug Tolbert of Unisys– Chris Nelson of Dimension EDIChris Nelson of Dimension EDI– The CWM Submission TeamThe CWM Submission Team
Enterprise CORBA 2001 - CWM 4Copyright © Adaptive Ltd. 2001
OverviewOverview
• What is it for?What is it for?
• How does it fit?How does it fit?
• What does it contain?What does it contain?
• Where is it going?Where is it going?
Enterprise CORBA 2001 - CWM 5Copyright © Adaptive Ltd. 2001
What is CWM For?What is CWM For?
• Enable easy interchange of Enable easy interchange of – warehouse andwarehouse and– business intelligence business intelligence
metadatametadata between between– warehouse toolswarehouse tools– warehouse platforms andwarehouse platforms and– metadata repositoriesmetadata repositories
in distributed heterogenous environments.in distributed heterogenous environments.
Enterprise CORBA 2001 - CWM 6Copyright © Adaptive Ltd. 2001
How can I use it?How can I use it?
• Any aspect of Data Warehouse management!Any aspect of Data Warehouse management!• Basis for information modelingBasis for information modeling
– ResourcesResources– TransformationsTransformations– TypesTypes– GlossaryGlossary
• Example of how to do your own metamodels Example of how to do your own metamodels with MOF/XMI (better constructed than UML)with MOF/XMI (better constructed than UML)
• Extend it to your own needs/technologyExtend it to your own needs/technology
Modular structure means you don’t need it allModular structure means you don’t need it all
Enterprise CORBA 2001 - CWM 7Copyright © Adaptive Ltd. 2001
Warehouse ScenarioWarehouse Scenario
Enterprise CORBA 2001 - CWM 8Copyright © Adaptive Ltd. 2001
Migration Migration ScenarioScenario
Migration RepositoryPrototypeLegacy
System
CWM-Based COBOL record
structures
Transformation
CWM-Based Transformati
on Models
UML-Based Object ModelsMOF
(XMI, CORBA/
Java)
MOF (XMI,
CORBA/ Java)
MOF (XMI,
CORBA/ Java)CWM-
Based ER Models
CWM-Based ER Models
NewComponent
BasedSystem
(OMG, J2EE)
NewCWMBasedData
Warehouse
(Courtesy Hans-Peter Hoidn UBS)
Enterprise CORBA 2001 - CWM 9Copyright © Adaptive Ltd. 2001
HistoryHistory
• IBM, Unisys, Oracle initiated work in 1998IBM, Unisys, Oracle initiated work in 1998• Microsoft donated its Open Information Model Microsoft donated its Open Information Model
to Meta Data Coalition in a competing effortto Meta Data Coalition in a competing effort• Initial proposal from 8 companies Sep 1999Initial proposal from 8 companies Sep 1999
– With Genesis, Hyperion, NCR, UBS, Dimension EDIWith Genesis, Hyperion, NCR, UBS, Dimension EDI
• MDC stops work in favor of OMG Sep 2000MDC stops work in favor of OMG Sep 2000• Revised proposal Feb 2000Revised proposal Feb 2000• Enablement ShowcaseEnablement Showcase
– IBM, Oracle, Unisys, Hyperion, Meta Integration, IBM, Oracle, Unisys, Hyperion, Meta Integration, SAS, AdaptiveSAS, Adaptive
• Finalized standard in Apr 2001Finalized standard in Apr 2001
Enterprise CORBA 2001 - CWM 10Copyright © Adaptive Ltd. 2001
Role of UMLRole of UML
• CWM is defined using MOFCWM is defined using MOF• Drawn using UML profile for MOFDrawn using UML profile for MOF• But CWM itself NOT a UML ProfileBut CWM itself NOT a UML Profile• CWM Core is a UML subsetCWM Core is a UML subset• And is used for object-oriented resourcesAnd is used for object-oriented resources• CWM includes a metamodel for CWM includes a metamodel for
describing Entity Relationship modelsdescribing Entity Relationship models• So warehouse builders do not need to use So warehouse builders do not need to use
UML toolsUML tools
Enterprise CORBA 2001 - CWM 11Copyright © Adaptive Ltd. 2001
Overview Overview of CWM of CWM Metamodel Metamodel
WarehouseProcess
WarehouseOperation
Transformation
XMLRecord-Oriented
MultiDimensional
Relational
BusinessInformation
SoftwareDeployment
ObjectModel(Core, Behavioral, Relationships, Instance)
WarehouseManagement
Resources
Analysis
Object-Oriented
(ObjectModel)
Foundation
OLAPData
MiningInformation
VisualizationBusiness
Nomenclature
DataTypes
ExpressionsKeysIndex
TypeMapping
Enterprise CORBA 2001 - CWM 12Copyright © Adaptive Ltd. 2001
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
Metadata DataArea
DataValue
Data Resource Data Resource MatrixMatrix
Common concepts applied ‘down’ to other Areas
Enterprise CORBA 2001 - CWM 13Copyright © Adaptive Ltd. 2001
Relational Metamodel Subset (1 of Relational Metamodel Subset (1 of 8)8)
Table
isTemporary : BooleantemporaryScope : String/ trigger : TriggerisSystem : Boolean
View
isReadOnly : BooleancheckOption : BooleanqueryExpression : QueryExpression
QueryColumnSet
query : QueryExpression
NamedColumnSet
/ optionScopeColumn : Column/ type : SQLStructuredType/ usingTrigger : Trigger
SQLSimpleType
characterMaximumLength : IntegercharacterOctetLength : IntegernumericPrecision : IntegernumericPrecisionRadix : IntegernumericScale : IntegerdateTimePrecision : Integer
SQLDistinctType
length : Integerprecision : Integerscale : Integer/ sqlSimpleType : SQLSimpleType
1
*
sqlSimpleType
1
sqlDistinctType *
{ordered}
{ordered}
{ordered}
CheckConstraint
deferrabi lity : DeferrabilityType
*
*
/constrainedElement
*
/constrant*
ColumnSet
SQLDataType
typeNumber : Integer
Column
precision : Integerscale : IntegerisNullable : NullableTypelength : Integercol lationName : StringcharacterSetName : String/ optionScopeColumnSet : NamedColumnSet/ referencedTableType : SQLStructuredType
**
/constrainedElement
*
/constraint
*
*
0..1 /feature
*/owner
0..11
*/type
1/structuralFeature
*
Enterprise CORBA 2001 - CWM 14Copyright © Adaptive Ltd. 2001
Relational Bigger Relational Bigger PicturePicture
1
*
View
isReadOnly : BooleancheckOption : BooleanqueryExpression : QueryExpression
QueryColumnSet
query : QueryExpression
{ordered}
{ordered}
Table
isTemporary : BooleantemporaryScope : String/ trigger : TriggerisSystem : Boolean
SQLSimpleType
characterMaximumLength : IntegercharacterOctetLength : IntegernumericPrecision : IntegernumericPrecisionRadix : IntegernumericScale : IntegerdateTimePrecision : Integer
SQLDistinctType
length : Integerprecision : Integerscale : Integer/ sqlSimpleType : SQLSimpleType
1*
sqlSimpleType
1
sqlDistinctType
*ColumnSet
SQLDataType
typeNumber : Integer
Column
precision : Integerscale : IntegerisNullable : NullableTypelength : IntegercollationName : StringcharacterSetName : String/ optionScopeColumnSet : NamedColumnSet/ referencedTableType : SQLStructuredType
*
0..1 /feature
*/owner
0..1
/type
1
/structuralFeature*
Catalog
defaultCharacterSetName : StringdefaultCollationName : String
Schema*
0..1/ownedElement
* /namespace
0..1
NamedColumnSet
/ optionScopeColumn : Column/ type : SQLStructuredType/ usingTrigger : Trigger
0..1
*
/namespace
0..1
/ownedElement*
ClassDataType
Package
Feature
...
Classifier
isAbstract : Boolean/ feature : Feature
n0..1
n
{ordered}
owner0..1
StructuralFeature
changeability : ChangeableKindmultiplicity : Multiplicityordering : OrderingKindtargetScope : ScopeKind/ type : Classifier
1n
type
1n
Namespace
ModelElement
name : Namevisibility : VisibilityKind...
0..1
n
0..1
ownedElement
n
Attribute
initialValue : Expression
04/22/23Enterprise CORBA 2001 - CWMCopyright © Adaptive Ltd. 2001
• General mechanism describing General mechanism describing data movement and lineagedata movement and lineage
• Generic transformations from Generic transformations from any physical object to any other any physical object to any other physical objectphysical object
• Maps logical structures and Maps logical structures and concepts in the warehouse onto concepts in the warehouse onto physical implementationphysical implementation
• Provides for multiple physical Provides for multiple physical implementations of logical implementations of logical structures and conceptsstructures and concepts
Logical Object
Physical Object
Logical Object
Physical Object
Mapping Mapping
X-Form
X-Form
Conceptual Object
Conceptual Object
Mapping
X-Form
Mapping
TransformationsTransformations
Enterprise CORBA 2001 - CWM 16Copyright © Adaptive Ltd. 2001
Transformations – ProcessTransformations – Process
/clientDependency
ModelElement
(from Core)
DataObjectSet
/ element : ModelElement/ sourceTransformation : Transformation/ targetTransformation : Transformation
1..*
*
element1..*
set *
TransformationTask
/ transformation : Transformation/ inverseTask : TransformationTask/ originalTask : TransformationTask
*
*
originalTask
*
inverseTask
*
TransformationActivity
creationDate : String/ step : ModelElement
PrecedenceConstraint
StepPrecedence
/ precedingStep : ModelElement/ succeedingStep : ModelElem...
Operation(from Behavioral)
TransformationUse
type : String/ transformation : ModelElem.../ operation : ModelElement
1..*
*
/supplier 1..*
/supplierDependency*
TransformationStep
/ task : TransformationTask/ activity : Namespace/ precedence : Constraint/ precedingStep : Dependency/ succeedingStep : Dependency
*
1
step*
task1
0..1
*
/namespace0..1
/ownedElement
*
*
1..*
/constraint*
/constrainedElement
1..*
*
1..*
/clientDependency*
/client 1..*
*
1..*
/supplierDependency*
/supplier1..*
Transformation
function : ProcedureExpressionfunctionDescription : StringisPrimary : Boolean/ source : DataObjectSet/ target : DataObjectSet/ use : Dependency
* *
sourceTransformation
*
source
*
* *
targetTransformation
*
target
*
*
1..*
task *
transformation1..*
*
1..*
*/client
1..*
04/22/23Enterprise CORBA 2001 - CWMCopyright © Adaptive Ltd. 2001
Feature(from Core)
Classifier(from Core)
Feature(from Core)
Classifier(from Core)
FeatureMap
function : ProcedureExpressionfunctionDescription : String/ source : Feature/ target : Feature/ classifierMap : ClassifierMap
1..**
target
1..*
featureMap
*
1..**
source
1..*
featureMap
*
ClassifierFeatureMap
function : ProcedureExpressionfunctionDescription : StringclassifierToFeature : Boolean/ classifier : Classifier/ feature : Feature/ classifierMap : ClassifierMap
1..**
classifier
1..*
cfMap
*
1..**
feature
1..*
cfMap
*
ClassifierMap
function : ProcedureExpressionfunctionDescription : String/ source : Classifier/ target : Classifier/ transformationMap : Namespace/ featureMap : FeatureMap/ cfMap : ClassifierFeatureMap
1..**
source
1..*
classifierMap
*
1..**
target
1..*
classifierMap
*
*
0..1
featureMap*
classifierMap0..1
*
0..1
cfMap *
classifierMap 0..1
TransformationMap
/ classifierMap : ModelElement
*
0..1
/ownedElement *
/namespace 0..1
Transformations – White Transformations – White BoxBox
Enterprise CORBA 2001 - CWM 18Copyright © Adaptive Ltd. 2001
Warehouse Process Warehouse Process SubsetSubset
WarehouseEvent
/ warehouseProcess : WarehouseProcess
InternalEvent
condition : BooleanExpression/ triggeringWP : WarehouseProcess
WarehouseProcess
staticDef inition : BooleanisSequential : Boolean/ warehouseEv ent : WarehouseEv ent/ internalEv ent : InternalEv ent
*1 *1
*
1..*
*
triggeringWP1..*
Transf ormationStep
(from Transformation)
Transf ormationActiv ity
(from Transformation)
WarehouseStep
/ transf ormationStep : Transf ormationStep/ warehouseActiv ity : WarehouseActiv ity
1
*
1
*
WarehouseActivity
/ transf ormationActiv ity : Transf ormationActiv ity/ warehouseStep : WarehouseStep
1
*
1
*
1 *1 * {ordered}
ProcessPackage
*
0..1
/ownedElement*
/namespace0..1
Enterprise CORBA 2001 - CWM 19Copyright © Adaptive Ltd. 2001
CWM ExtensionsCWM Extensions
• A separate part (“CWMX”)A separate part (“CWMX”)
• Not required for complianceNot required for compliance
• Tools can ignore extension informationTools can ignore extension information
• Shows how CWM can be extended for Shows how CWM can be extended for specific technologiesspecific technologies
• Provides a broad coverageProvides a broad coverage
• Performed by vendors/experts in the areaPerformed by vendors/experts in the area
Enterprise CORBA 2001 - CWM 20Copyright © Adaptive Ltd. 2001
CWM Extension CWM Extension PackagesPackages
Core<<metamodel>>
(from ObjectModel)
ER<<metamodel>>
(from Foundation)
Record<<metamodel>>
(from Resource)
COBOLData<<metamodel>>
(from Resource)
DMSII<<metamodel>>
(from Resource)
Multidimensional<<metamodel>>
(from Resource)
Olap<<metamodel>>
(from Analysis)
Essbase<<metamodel>>
(from Resource)
Express<<metamodel>>
(from Resource)
IMSDatabase<<metamodel>>
(from Resource)
InformationSet<<metamodel>>
(from Analysis)
InformationVisualization<<metamodel>>
(from Analysis)
InformationReporting<<metamodel>>
(from Analysis)
InformationReporting<<metamodel>>
(from Analysis)
Core<<metamodel>>
(from ObjectModel)
ER<<metamodel>>
(from Foundation)
Record<<metamodel>>
(from Resource)
COBOLData<<metamodel>>
(from Resource)
DMSII<<metamodel>>
(from Resource)
Multidimens ional<<metamodel>>
(from Resource)
Olap<<metamodel>>
(from Analysis)
Essbase<<metamodel>>
(from Resource)
Express<<metamodel>>
(from Resource)
IMSDatabase<<metamodel>>
(from Resource)
InformationSet<<metamodel>>
(from Analysis)
InformationVisualization<<metamodel>>
(from Analysis)
Enterprise CORBA 2001 - CWM 21Copyright © Adaptive Ltd. 2001
Linking the Linking the MetamodelsMetamodels
Relational Multidimensional
Transformation
Warehouse Process
Warehouse OperationBusiness InformationS
ourc
e TargetW
ha
t H
ap
pe
ns
Responsib
ility
Logs
Enterprise CORBA 2001 - CWM 22Copyright © Adaptive Ltd. 2001
Extension Extension TechniquesTechniques
• Define tags (which are shareable)Define tags (which are shareable)
• Add your own proprietary informationAdd your own proprietary informationThese can be transported as ‘XMI Extensions’ These can be transported as ‘XMI Extensions’
but are not sharedbut are not shared– New attributes on existing classesNew attributes on existing classes– New classes and associationsNew classes and associations
• Create a new metamodel and hence DTDCreate a new metamodel and hence DTD– As in the CWMX extensionsAs in the CWMX extensions
Enterprise CORBA 2001 - CWM 23Copyright © Adaptive Ltd. 2001
CWM SpecificationCWM Specification DocumentsDocuments
The references ad/xx-xx-xx are OMG document numbers
Metamodel asMOF XMI
ad/01-02-03
DTD for CWM XMIad/01-02-04
IDL for CWM/Xad/01-02-06
DTD for CWMXXMI
ad/01-02-05
Metamodel inUML Notationad/01-02-07(not officiallystandardized)
CWMSpecificationad/01-02-01
CWMExtensions
Specificationad/01-02-02
Enterprise CORBA 2001 - CWM 24Copyright © Adaptive Ltd. 2001
StatusStatus
• Standard now finalized and officially Available Standard now finalized and officially Available (version 1.0)(version 1.0)
• Real implementation experienceReal implementation experience• CWM Enablement Showcase – multivendor CWM Enablement Showcase – multivendor
demodemo• Synchronization with Java work e.g. JOLAPSynchronization with Java work e.g. JOLAP• Important role in OMG’s Model Driven Important role in OMG’s Model Driven
ArchitectureArchitecture• Revision Task Force in progress (for CWM 1.1)Revision Task Force in progress (for CWM 1.1)• New RFPs for CWM Web ServicesNew RFPs for CWM Web Services
Enterprise CORBA 2001 - CWM 25Copyright © Adaptive Ltd. 2001
CWM Revision Task Force Areas of CWM Revision Task Force Areas of WorkWork
Planned to complete in SeptemberPlanned to complete in September
• Expand Data MiningExpand Data Mining
• Address XML SchemasAddress XML Schemas
• Address any issues Address any issues – Raise issues at Raise issues at
www.omg.org/technology/issuesform– View issues at View issues at
www.omg.org/technology/cwm-rtf
Enterprise CORBA 2001 - CWM 26Copyright © Adaptive Ltd. 2001
New CWM Web Services New CWM Web Services RFPsRFPs
Aim is to provide a more loosely-coupled and Aim is to provide a more loosely-coupled and higher-level interchangehigher-level interchange
• CWM Metadata Interchange Patterns RFPCWM Metadata Interchange Patterns RFP– How metadata is ‘chunked’ for interchangeHow metadata is ‘chunked’ for interchange
– In terms of CWMIn terms of CWM
• CWM Web Services RFPCWM Web Services RFP– ‘‘Protocols’ interchange using the PatternsProtocols’ interchange using the Patterns
– A realization in an API (e.g. Web Services Definition A realization in an API (e.g. Web Services Definition Language)Language)
Initial submissions due in OctoberInitial submissions due in October
Enterprise CORBA 2001 - CWM 27Copyright © Adaptive Ltd. 2001
ResourcesResources
• OMG page:OMG page: www.omg.org/technology/cwm
• Mailing listsMailing [email protected]
• General resources and presentationsGeneral resources and presentationswww.cwmforum.org
• Forthcoming bookForthcoming book
Enterprise CORBA 2001 - CWM 28Copyright © Adaptive Ltd. 2001
Importance of CWMImportance of CWM
• The The consensus consensus industry standard for data industry standard for data warehouse interchange and interoperabilitywarehouse interchange and interoperability
• Allows integration of enterprise information so Allows integration of enterprise information so that we can better leverage the data we havethat we can better leverage the data we have
• Already supports the most widely used data Already supports the most widely used data base and file systemsbase and file systems
• Extensible to vendor/customer specific needsExtensible to vendor/customer specific needs• Builds on UML, XMI and MOFBuilds on UML, XMI and MOF• Accelerates data warehousing, portal and Accelerates data warehousing, portal and
business intelligence marketbusiness intelligence market
Enterprise CORBA 2001 - CWM 29Copyright © Adaptive Ltd. 2001
SummarySummary
• Designed for Data WarehousesDesigned for Data Warehouses
• Can be applied to any aspect of Information Can be applied to any aspect of Information ManagementManagement
• Focus on interchange – hidden from most Focus on interchange – hidden from most usersusers
• Modular and extensibleModular and extensible
• First major application of MOF after UMLFirst major application of MOF after UML
• At the heart of MDAAt the heart of MDA
Architecting the EnterpriseArchitecting the Enterprise
www.adaptive.comwww.adaptive.com