30
Pete Rivett Pete Rivett CTO, Adaptive CTO, Adaptive Enterprise CORBA 2001 [email protected]

Pete Rivett CTO, Adaptive Enterprise CORBA 2001 [email protected]

Embed Size (px)

Citation preview

Page 1: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

Pete Rivett Pete Rivett CTO, AdaptiveCTO, Adaptive

Enterprise CORBA 2001

[email protected]

Page 2: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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.”

Page 3: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 4: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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?

Page 5: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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.

Page 6: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 7: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

Enterprise CORBA 2001 - CWM 7Copyright © Adaptive Ltd. 2001

Warehouse ScenarioWarehouse Scenario

Page 8: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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)

Page 9: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 10: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 11: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 12: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 13: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

*

Page 14: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 15: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 16: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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..*

Page 17: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 18: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 19: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 20: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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)

Page 21: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 22: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 23: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 24: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 25: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 26: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 27: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

Enterprise CORBA 2001 - CWM 27Copyright © Adaptive Ltd. 2001

ResourcesResources

• OMG page:OMG page: www.omg.org/technology/cwm

• Mailing listsMailing [email protected]

[email protected]

• General resources and presentationsGeneral resources and presentationswww.cwmforum.org

• Forthcoming bookForthcoming book

Page 28: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 29: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

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

Page 30: Pete Rivett CTO, Adaptive Enterprise CORBA 2001 pete.rivett@adaptive.com

Architecting the EnterpriseArchitecting the Enterprise

www.adaptive.comwww.adaptive.com