U.S. patent application number 11/219039 was filed with the patent office on 2006-03-23 for business rules for configurable metamodels and enterprise impact analysis.
Invention is credited to Ruth M. Amaru, Joshua Fox, Benjamin Halberstadt, Boris Melamed, Zvi Schreiber.
Application Number | 20060064666 11/219039 |
Document ID | / |
Family ID | 36075407 |
Filed Date | 2006-03-23 |
United States Patent
Application |
20060064666 |
Kind Code |
A1 |
Amaru; Ruth M. ; et
al. |
March 23, 2006 |
Business rules for configurable metamodels and enterprise impact
analysis
Abstract
A metadata management system for importing, integrating and
federating metadata, including a configurable metamodel, a metadata
repository for storing metadata whose structure reflects the
metamodel, at least one external metadata source, which is able to
persist metadata in accordance with the structure of a meta-schema,
a mapping module for mapping the meta-schema to the metamodel, and
a transformation module, operatively coupled to the metadata
mapping module, for translating specific metadata from the at least
one external metadata source to the metadata repository, for use in
import, export or synchronization of metadata between the external
metadata source and the metadata repository. A method and a
computer-readable storage medium are also described.
Inventors: |
Amaru; Ruth M.; (Gush
Etzion, IL) ; Fox; Joshua; (Emek Ha'ela, IL) ;
Halberstadt; Benjamin; (Jerusalem, IL) ; Melamed;
Boris; (Jerusalem, IL) ; Schreiber; Zvi;
(Jerusalem, IL) |
Correspondence
Address: |
BLAKELY SOKOLOFF TAYLOR & ZAFMAN
12400 WILSHIRE BOULEVARD
SEVENTH FLOOR
LOS ANGELES
CA
90025-1030
US
|
Family ID: |
36075407 |
Appl. No.: |
11/219039 |
Filed: |
September 1, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10053045 |
Jan 15, 2002 |
|
|
|
11219039 |
Sep 1, 2005 |
|
|
|
09866101 |
May 25, 2001 |
|
|
|
10053045 |
Jan 15, 2002 |
|
|
|
Current U.S.
Class: |
717/100 ;
707/999.101 |
Current CPC
Class: |
G06F 16/25 20190101 |
Class at
Publication: |
717/100 ;
707/101 |
International
Class: |
G06F 9/44 20060101
G06F009/44 |
Claims
1. A metadata management system for importing, integrating and
federating metadata, comprising: a configurable metamodel for
modeling metadata that describes enterprise IT assets; a metadata
repository for storing metadata whose structure reflects said
metamodel; at least one external metadata source, which is able to
persist metadata in accordance with the structure of a meta-schema;
a mapping module for mapping said meta-schema to the metamodel; and
a transformation module, operatively coupled to said metadata
mapping module, for translating specific metadata from said at
least one external metadata source to said metadata repository, for
use in import, export or synchronization of metadata between said
at least one external metadata source and said metadata
repository.
2. The metadata management system of claim 1 wherein the mapping
module is also used to map specific metadata to an information
model.
3. The metadata management system of claim 2 wherein the
information model is an ontology model.
4. The metadata management system of claim 1 wherein said metamodel
complies with the OMG MOF standard.
5. The metadata management system of claim 1 wherein said metamodel
is an ontology.
6. The metadata management system of claim 1 wherein said
transformation module translates metadata from the external
metadata source into an XMI document.
7. The metadata management system of claim 1 wherein said
transformation module transforms metadata using an XSLT script.
8. The metadata management system of claim 1 wherein said mapping
module maps data element groups, and then maps specific data
elements within each group.
9. A metadata management system for validating metadata,
comprising: a configurable metamodel for modeling metadata that
describes enterprise IT assets; business rules on said metamodel;
and a metadata validation module operating on said configurable
metamodel for validating specific metadata against said metamodel
business rules.
10. The metadata management system of claim 9 wherein the business
rules include an arithmetic conversion rule.
11. The metadata management system of claim 9 wherein the business
rules include type restriction on an inherited property.
12. The metadata management system of claim 9 wherein the business
rules include specifying a metadata value as being required.
13. The metadata management system of claim 9 wherein the business
rules include specifying a valid range for a metadata value.
14. The metadata management system of claim 9 wherein the business
rules include specifying a metadata value as being unique.
15. The metadata management system of claim 9 wherein the business
rules include a lookup table.
16. The metadata management system of claim 9 wherein the business
rules include a naming convention.
17. The metadata management system of claim 9 wherein the business
rules are used to specify assignment of stewardship
responsibility.
18. A metadata management system for generating metadata
comprising: a configurable metamodel for modeling metadata that
describes enterprise IT assets; business rules on said metamodel;
and a metadata generation module operating on said configurable
metamodel for guiding the generation of specific metadata using
said metamodel business rules.
19. The metadata management system of claim 18 wherein the business
rules include an arithmetic conversion rule.
20. The metadata management system of claim 18 wherein the business
rules include type restriction on an inherited property.
21. The metadata management system of claim 18 wherein the business
rules include specifying a metadata value as being required.
22. The metadata management system of claim 18 wherein the business
rules include specifying a valid range for a metadata value.
23. The metadata management system of claim 18 wherein the business
rules include specifying a metadata value as being unique.
24. The metadata management system of claim 18 wherein the business
rules include a lookup table.
25. The metadata management system of claim 18 wherein the business
rules include a naming convention.
26. The metadata management system of claim 18 wherein the business
rules are used to specify assignment of stewardship
responsibility.
27. A metadata management system for managing an IT organization,
comprising: a configurable metamodel for modeling metadata that
describes enterprise IT assets; business rules on said metamodel;
and a validation module operating on said configurable metamodel
for validating rules for IT governance against said metamodel
business rules.
28. The metadata management system of claim 27 wherein the rules
for IT governance include assignment of responsibility for
assets.
29. A method for importing, integrating and federating metadata,
comprising: providing (i) a configurable metamodel for modeling
metadata that describes enterprise IT assets, (ii) a metadata
repository for storing metadata whose structure reflects the
metamodel, and (iii) at least one external metadata source, which
is able to persist metadata in accordance with the structure of a
meta-schema; mapping the meta-schema to the metamodel; and
translating specific metadata from the external metadata source to
the metadata repository for use in import, export or
synchronization of metadata between the at least one external
metadata source and the metadata repository.
30. The method of claim 29 wherein said mapping maps specific
metadata to an information model.
31. The method of claim 30 wherein the information model is an
ontology model.
32. The method of claim 29 wherein the metamodel complies with the
OMG MOF standard.
33. The method of claim 29 wherein the metamodel is an
ontology.
34. The method of claim 29 wherein said mapping translates metadata
from the external metadata source into an XMI document.
35. The method of claim 29 wherein said translating uses an XSLT
script.
36. The method of claim 29 wherein said mapping comprises: mapping
data element groups; and mapping specific data elements within each
group.
37. A method for validating metadata, comprising: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
validating specific metadata against the metamodel business
rules.
38. A method for generating metadata comprising: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
guiding the generation of specific metadata using the metamodel
business rules.
39. A method for managing an IT organization, comprising: providing
(i) a configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
validating rules for IT governance against the metamodel business
rules.
40. The method of claim 29 wherein the rules for IT governance
include assignment of responsibility for assets.
41. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, (ii) a metadata repository for storing
metadata whose structure reflects the metamodel, and (iii) at least
one external metadata source, which is able to persist metadata in
accordance with the structure of a meta-schema; mapping the
meta-schema to the metamodel; and translating specific metadata
from the external metadata source to the metadata repository for
use in import, export or synchronization of metadata between the at
least one external metadata source and the metadata repository.
42. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
validating specific metadata against the metamodel business
rules.
43. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
guiding the generation of specific metadata using the metamodel
business rules.
44. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes
enterprise IT assets, and (ii) business rules on the metamodel; and
validating responsibility assignments against the metamodel
business rules.
45. A metadata management system for performing impact analysis on
an IT system comprising: a configurable metamodel for modeling
metadata that describes assets of an enterprise IT system, the
metamodel including meta-classes and meta-properties; business
rules on said metamodel for indicating that certain meta-properties
have impact consequences; and an impact analyzer operating on said
configurable metamodel for determining which assets of the
enterprise IT system are impacted by one or more specified
assets.
46. The metadata management system of claim 43 whereby assets of
the enterprise IT system include server computers.
47. The metadata management system of claim 43 whereby assets of
the enterprise IT system include web sites.
48. The metadata management system of claim 43 whereby assets of
the enterprise IT system include data sources.
49. The metadata management system of claim 43 whereby assets of
the enterprise IT system include data transformations.
50. The metadata management system of claim 43 whereby assets of
the enterprise IT system include software applications.
51. The metadata management system of claim 43 whereby the business
rules dictate whether impact consequences are transitive and, if
so, to what degree.
52. A method for generating metadata comprising: providing (i) a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, and (ii) business rules on said metamodel for
indicating that certain meta-properties have impact consequences;
and determining which assets of the enterprise IT system are
impacted by one or more specified assets.
53. The method of claim 52 whereby assets of the enterprise IT
system include server computers.
54. The method of claim 52 whereby assets of the enterprise IT
system include web sites.
55. The method of claim 52 whereby assets of the enterprise IT
system include data sources.
56. The method of claim 52 whereby assets of the enterprise IT
system include data transformations.
57. The method of claim 52 whereby assets of the enterprise IT
system include software applications.
58. The method of claim 52 whereby the business rules dictate
whether impact consequences are transitive and, if so, to what
degree.
59. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, and (ii) business rules on said metamodel for
indicating that certain meta-properties have impact consequences;
and determining which assets of the enterprise IT system are
impacted by one or more specified assets.
60. A metadata management system for performing impact analysis on
an IT system comprising: a configurable metamodel for modeling
metadata that describes assets of an enterprise IT system, the
metamodel including meta-classes and meta-properties; a
meta-descriptor for meta-properties to designate that a
meta-property has an impact consequence; and an impact analyzer
operating on said configurable metamodel for determining which
assets of the enterprise IT system are impacted by one or more
specified assets.
61. A method for generating metadata comprising: providing (i) a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, and (ii) a meta-descriptor for meta-properties
to designate that a meta-property has an impact consequence; and
determining which assets of the enterprise IT system are impacted
by one or more specified assets.
62. A computer-readable storage medium storing program code for
causing a computer to perform a method of: providing (i) a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, and (ii) a meta-descriptor for meta-properties
to designate that a meta-property has an impact consequence; and
determining which assets of the enterprise IT system are impacted
by one or more specified assets.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of assignee's
pending application U.S. Ser. No. 10/053,045, filed on Jan. 15,
2002, entitled "Method and System for Deriving a Transformation by
Referring Schema to an Central Model," which is a
continuation-in-part of assignee's pending application U.S. Ser.
No. 09/866,101, filed on May 25, 2001, entitled "Method and System
for Collaborative Ontology Modeling."
FIELD OF THE INVENTION
[0002] The present invention relates to management of enterprise
metadata.
BACKGROUND OF THE INVENTION
[0003] Large enterprises rely on vast amounts and diverse types of
data for their operation--personnel data, financial data,
accounting data, inventory data, capital equipment data, document
management data, and more. Today, data is generally stored
according to data structures referred to as a data schemas, such as
XML and relational database schemas, these being a form of
metadata. The term "metadata" is used to denote data about the
structure of the raw data itself, and about the structures of other
Information Technology (IT) systems such as applications,
processes, middleware and hardware configurations. The raw data,
which includes actual data about specific personnel, for example,
or specific pieces of inventory, is referred to as "instance data."
Thus, for a data store having the structure of a relational
database, the metadata describes the tables and their columns to be
populated with data, and the raw data, referred to as instance
data, is the actual data stored within the tables and columns.
Similarly, for a data store of XML documents, the metadata
describes the XML complexTypes and their XML elements, and the
instance data is the actual data stored within the XML documents.
Each data store is referred to generically as a "data asset."
[0004] Types of metadata include inter alia data schemas such as
relational and XML schemas, source code, architecture models such
as information models and process models, operational metadata
regarding usage of applications and up-time, hardware inventories
and configurations, service level agreements, and IT budgets.
[0005] It is common for large enterprises to have thousands of
different data assets, each with a unique schema; i.e., thousands
of different metadata descriptions, within their IT. For example,
financial data may be spread out over several different relational
databases, personnel data may be spread out over several different
XML document stores, and inventory data may be spread out according
to several different Cobol Copybook definitions.
[0006] In order to describe all of the different types of
enterprise IT assets, including inter alia data assets and
applications, a metamodel is used to model the entire repertoire of
IT asset types. Such asset types include inter alia relational
database schemas, XML schemas, COBOL Copybook definitions, Java
applications, Engage Transform and Load (ETL) middleware and the
structures associated therewith. A "metamodel" is a model for
metadata, and describes the types of assets within the enterprise
IT, and their inter-dependencies. Actual metadata itself
instantiates the metamodel.
[0007] The three levels of data--instance data, metadata and
metamodel, form a data hierarchy, wherein the structure of each
level of data is described by the level above it. The three data
levels within the data hierarchy are denoted by M0 (instance data),
M1 (metadata) and M2 (metamodel). More generally, M0 includes
instance data, messages and specific interactions; M1 defines
actual IT structures, such as specific schemas, interfaces and
inter-dependencies; and M2 describes types of structures and
cross-references of IT.
[0008] In order to enable efficient use of a rich and configurable
metamodel, a system is needed that supports (i) metamodel editing;
(ii) classes, properties, inheritance and multiple inheritance
within a metamodel; and (iii) industry standards such as
Meta-Object Facility (MOF.TM.) for structure of the metamodel, XML
Interchange (XMI.TM.) for import and export of metadata, and
standard metamodels such as the Common Warehouse Metamodel
(CWM.TM.) and the DMTF Common Information Model (CIM.TM.). MOF.TM.,
XMI and CWM.TM. are standards developed by the Object Modeling
Group (OMG.RTM.); and CIM is a standard developed by Distributed
Management Task Force, Inc. (DMTF.TM.).
[0009] While the prior art includes flexible metamodels such as
MOF-compliant metamodels, which flexibly define the structure of
metadata, metamodels have not been used to describe specific rules
which metadata must obey. Therefore, metamodels have hitherto had
limited use in the detailed governance of IT.
[0010] Furthermore, although there are standard languages such as
MOF for specifying metamodels, in reality sources of metadata
currently have their own metamodels, making it difficult to
accumulate metadata from different sources into one overall
metadata model of enterprise IT.
SUMMARY OF THE DESCRIPTION
[0011] The present invention concerns a method and system for
metadata management. The present invention supports (i) a rich and
configurable metamodel with run-time metamodel editing; (ii)
multiple inheritance and the addition of business rules within a
metamodel; (iii) industry standards such as MOF.TM., XMI.TM.,
CWM.TM. and CIM.TM.. The metamodel of the present invention
supports an endless number of types of metadata, including inter
alia metadata for data assets, business applications, organization
charts, process models, hardware configurations and network
topographies; and (iv) mapping between incompatible metamodels to
enable import, export, synchronization and federation of
metadata.
[0012] There is thus provided in accordance with a preferred
embodiment of the present invention a metadata management system
for importing, integrating and federating meta-data, including a
configurable metamodel for modeling metadata that describes
enterprise IT assets, a metadata repository for storing metadata
whose structure reflects the metamodel, at least one external
metadata source, which is able to persist metadata in accordance
with the structure of a meta-schema, a mapping module for mapping
the meta-schema to the metamodel, and a transformation module,
operatively coupled to the metadata mapping module, for translating
specific metadata from the external metadata source to the metadata
repository, for use in import, export or synchronization of
metadata between the at least one external metadata source and the
metadata repository.
[0013] There is further provided in accordance with a preferred
embodiment of the present invention a metadata management system
for validating metadata, including a configurable metamodel for
modeling metadata that describes enterprise IT assets, business
rules on the metamodel, and a metadata validation module operating
on said configurable metamodel for validating specific metadata
against the metamodel business rules.
[0014] There is yet further provided in accordance with a preferred
embodiment of the present invention a metadata management system
for generating metadata including a configurable metamodel for
modeling metadata that describes enterprise IT assets, business
rules on the metamodel, and a metadata generation module operating
on said configurable metamodel for guiding the generation of
specific metadata using the metamodel business rules.
[0015] There is moreover provided in accordance with a preferred
embodiment of the present invention a metadata management system
for managing an IT organization, including a configurable metamodel
for modeling metadata that describes enterprise IT assets, business
rules on the metamodel, and a validation module operating on said
configurable metamodel for validating rules for IT governance
against the metamodel business rules.
[0016] There is additionally provided in accordance with a
preferred embodiment of the present invention a method for
importing, integrating and federating metadata, including providing
(i) a configurable metamodel for modeling metadata that describes
enterprise IT assets, (ii) a metadata repository for storing
metadata whose structure reflects the metamodel, and (iii) at least
one external metadata source, which is able to persist metadata in
accordance with the structure of a meta-schema, mapping the
meta-schema to the metamodel, and translating specific metadata
from the at least one external metadata source to the metadata
repository for use in import, export or synchronization of metadata
between the external metadata source and the metadata
repository.
[0017] There is further provided in accordance with a preferred
embodiment of the present invention a method for validating
metadata, including providing (i) a configurable metamodel for
modeling metadata that describes enterprise IT assets, and (ii)
business rules on the metamodel, and validating specific metadata
against the metamodel business rules.
[0018] There is yet further provided in accordance with a preferred
embodiment of the present invention a method for generating
metadata including providing (i) a configurable metamodel for
modeling metadata that describes enterprise IT assets, and (ii)
business rules on the metamodel, and guiding the generation of
specific metadata using the metamodel business rules.
[0019] There is moreover provided in accordance with a preferred
embodiment of the present invention a method for managing an IT
organization, including providing (i) a configurable metamodel for
modeling metadata that describes enterprise IT assets, and (ii)
business rules on the metamodel, and validating rules for IT
governance against the metamodel business rules.
[0020] There is additionally provided in accordance with a
preferred embodiment of the present invention a computer-readable
storage medium storing program code for causing a computer to
perform the steps of providing (i) a configurable metamodel for
modeling metadata that describes enterprise IT assets, (ii) a
metadata repository for storing metadata whose structure reflects
the metamodel, and (iii) at least one external metadata source,
which is able to persist metadata in accordance with the structure
of a meta-schema, mapping the meta-schema to the metamodel, and
translating specific metadata from the at least one external
metadata source to the metadata repository for use in import,
export or synchronization of metadata between the external metadata
source and the metadata repository.
[0021] There is further provided in accordance with a preferred
embodiment of the present invention a computer-readable storage
medium storing program code for causing a computer to perform the
steps of providing (i) a configurable metamodel for modeling
metadata that describes enterprise IT assets, and (ii) business
rules on the metamodel, and validating specific metadata against
the metamodel business rules.
[0022] There is yet further provided in accordance with a preferred
embodiment of the present invention a computer-readable storage
medium storing program code for causing a computer to perform the
steps of providing (i) a configurable metamodel for modeling
metadata that describes enterprise IT assets, and (ii) business
rules on the metamodel, and guiding the generation of specific
metadata using the metamodel business rules.
[0023] There is moreover provided in accordance with a preferred
embodiment of the present invention a computer-readable storage
medium storing program code for causing a computer to perform the
steps of providing (i) a configurable metamodel for modeling
metadata that describes enterprise IT assets, and (ii) business
rules on the metamodel, and validating responsibility assignments
against the metamodel business rules.
[0024] There is additionally provided in accordance with a
preferred embodiment of the present invention a metadata management
system for performing impact analysis on an IT system comprising a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, business rules on the metamodel for indicating
that certain meta-properties have impact consequences, and an
impact analyzer operating on the configurable metamodel for
determining which assets of the enterprise IT system are impacted
by one or more specified assets.
[0025] There is further provided in accordance with a preferred
embodiment of the present invention A method for generating
metadata comprising providing (i) a configurable metamodel for
modeling metadata that describes assets of an enterprise IT system,
the metamodel including meta-classes and meta-properties, and (ii)
business rules on said metamodel for indicating that certain
meta-properties have impact consequences, and determining which
assets of the enterprise IT system are impacted by one or more
specified assets.
[0026] There is yet further provided in accordance with a preferred
embodiment of the present invention a computer-readable storage
medium storing program code for causing a computer to perform the
steps of providing (i) a configurable metamodel for modeling
metadata that describes assets of an enterprise IT system, the
metamodel including meta-classes and meta-properties, and (ii)
business rules on said metamodel for indicating that certain
meta-properties have impact consequences, and determining which
assets of the enterprise IT system are impacted by one or more
specified assets.
[0027] There is moreover provided in accordance with a preferred
embodiment of the present invention a metadata management system
for performing impact analysis on an IT system including a
configurable metamodel for modeling metadata that describes assets
of an enterprise IT system, the metamodel including meta-classes
and meta-properties, a meta-descriptor for meta-properties to
designate that a meta-property has an impact consequence, and an
impact analyzer operating on said configurable metamodel for
determining which assets of the enterprise IT system are impacted
by one or more specified assets.
[0028] There is additionally provided in accordance with a
preferred embodiment of the present invention a method for
generating metadata including providing (i) a configurable
metamodel for modeling metadata that describes assets of an
enterprise IT system, the metamodel including meta-classes and
meta-properties, and (ii) a meta-descriptor for meta-properties to
designate that a meta-property has an impact consequence, and
determining which assets of the enterprise IT system are impacted
by one or more specified assets.
[0029] There is further provided in accordance with a preferred
embodiment of the present invention a computer-readable storage
medium storing program code for causing a computer to perform the
steps of providing (i) a configurable metamodel for modeling
metadata that describes assets of an enterprise IT system, the
metamodel including meta-classes and meta-properties, and (ii) a
meta-descriptor for meta-properties to designate that a
meta-property has an impact consequence, and determining which
assets of the enterprise IT system are impacted by one or more
specified assets.
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The present invention will be more fully understood and
appreciated from the following detailed description, taken in
conjunction with the drawings in which:
[0031] FIG. 1 is a simplified illustration of an Object Management
Group hierarchy including instance data, metadata and a metamodel,
in accordance with a preferred embodiment of the present
invention;
[0032] FIG. 2 illustrates a metamodel wherein a meta-class
RDBSchema is associated with a databaseAdministrator of type
Person, in accordance with a preferred embodiment of the present
invention;
[0033] FIG. 3 illustrates a business rule requiring that every
relational database must have a database Administrator, in
accordance with a preferred embodiment of the present
invention;
[0034] FIG. 4 illustrates a business rule wherein the name of a
Cobol Copybook definition may be generated based on a naming
standard from other meta-properties of a Cobol Copybook, such as
ApplicationName, DivisionName, in accordance with a preferred
embodiment of the present invention;
[0035] FIG. 5 is a simplified block diagram of a metadata
management system for importing metadata, in accordance with a
preferred embodiment of the present invention;
[0036] FIG. 6 is a simplified block diagram of a system for
validating metadata, in accordance with a preferred embodiment of
the present invention; and
[0037] FIG. 7 is a simplified block diagram of a system for
automatically guiding the generation of metadata so as to ensure
that the metadata is compliant with business rules of a metamodel,
in accordance with a preferred embodiment of the present
invention;
[0038] FIG. 8 is an illustration of a dialogue box for creating an
impact analysis (IA) meta-class, in accordance with a preferred
embodiment of the present invention;
[0039] FIG. 9 is an illustration of a dialogue box that continues
the workflow from FIG. 8, for designating properties as being
germane to a particular impact analysis, in accordance with a
preferred embodiment of the present invention;
[0040] FIG. 10 is an illustration of stepwise graphical navigation
of a meta-model, in accordance with a preferred embodiment of the
present invention;
[0041] FIG. 11 is an illustration of a graphic display of the
transitive closure of impacted notes, in accordance with a
preferred embodiment of the present invention;
[0042] FIG. 12 is an illustration of a graphical user interface for
viewing data lineage results arranged along a "data flow axis" and
a "system composition axis", in accordance with a preferred
embodiment of the present invention; and
[0043] FIG. 13 is an illustration of a graphical user interface for
marking meta-properties as being Downstream Items, Upstream Items,
subunits or superUnits, in accordance with a preferred embodiment
of the present invention.
DETAILED DESCRIPTION
[0044] The present invention is preferably embodied within at least
one server computer used to store configurable information about
enterprise data assets in the form of a metamodel and metadata
conforming to the metamodel; and within a plurality of client
computers used to generate and edit metadata, and to query the
metadata. The present invention enables an enterprise to understand
the structure of all of its data assets and other IT assets, even
when metadata information on the structures comes from many sources
in different formats. The present invention uses rules to impose
restrictions on allowed metadata values and hence on the types of
structures which may appear in the IT environment.
[0045] Reference is now made to FIG. 1, which is a simplified
illustration of an Object Management Group hierarchy including
instance data, metadata and a metamodel, in accordance with a
preferred embodiment of the present invention. A metamodel,
referred to as an M2, is used to define the structural elements of
a data schema. For example, the M2 illustrated in FIG. 1 describes
the elements of a relational database schema. As shown, a
relational database schema 105 includes elements 110 referred to as
"tables," and in turn tables includes elements 115 referred to as
"columns." A relational database 105, a table 110 and a column 115
each have a text identifier referred to as its "name."
[0046] Metadata for a data schema, referred to as an M1, is used to
define a specific data schema conforming to the metamodel. As shown
in FIG. 1, the M1 metadata specifies a relational database 120
named "Customer Database." The customer database has a table 125
named "Address" and a table 130 named "State." In turn the Address
table has a column 135 named "Street Line" and a column 140 named
"Zip Code;" and the State table has a column 145 named "Postal
Code" and a column 150 named "Name."
[0047] Specific instance data 155 conforming to the Customer
Database, referred to as M0, is illustrated at the bottom of the
hierarchy of FIG. 1. It may be appreciated that, just as M0
corresponds to instance data for an M1, in the same manner M1
corresponds to instance data for an M2.
[0048] Metamodels and metadata may be specified using the
Meta-Object Facility (MOF.TM.) specification, developed by Object
Management Group, Inc. (OMG.RTM.) of Needham, Mass.
[0049] Preferably, in accordance with a preferred embodiment of the
present invention, metamodels are represented in terms of an
ontology having classes and properties, such as ontologies based on
the W3C Web Ontology Language (OWL) standard, as described in
applicant's co-pending application U.S. Ser. No. 10/053,045, filed
on Jan. 15, 2002, entitled "Method and System for Deriving a
Transformation by Referring Schema to an Central Model," the
contents of which are hereby incorporated by reference. In order to
distinguish between M1 metadata and M2 metamodels, classes and
properties within an M2 metamodel are referred to herein as
meta-classes and meta-properties, respectively. In working with
metamodels, it is often useful to consider meta-classes and
meta-properties as being class types and property types,
respectively. For example, specific relational database tables such
as Address and State are of type Table; i.e., they are instance
classes of a meta-class Table.
[0050] Preferably, metamodel M2 includes business rules, which
relate various meta-properties. Examples of such business rules are
described hereinbelow with reference to FIGS. 3 and 4.
[0051] Reference is now made to FIG. 2, which illustrates a
metamodel wherein a meta-class RDBSchema 210 is associated with a
databaseAdministrator 220 of type Person 230, in accordance with a
preferred embodiment of the present invention.
[0052] Reference is now made to FIG. 3, which illustrates a
business rule requiring that every relational database 310 must
have a meta-property databaseAdministrator 320 of type Person 330,
in accordance with a preferred embodiment of the present invention.
The business rule is set in FIG. 3 by marking the meta-property as
Required 340. The cardinality 250 of meta-property
databaseAdministrator is [1 . . . 1], indicating that the minimum
350 and maximum 360 number of databaseAdministrators per RDBSchema
is 1.
[0053] Referring back to FIG. 2, an integrity checker 240
preferably lists all violations of business rules. Thus, if a
databaseAdministrator is not defined for an RDBSchema, then
integrity checker 240 will flag this as a violation of the business
rule shown in FIG. 3.
[0054] Reference is now made to FIG. 4, which illustrates a
business rule wherein the name of a Cobol Copybook definition may
be generated based on a naming standard from other meta-properties
of a Cobol Copybook, such as ApplicationName and DivisionName, in
accordance with a preferred embodiment of the present invention.
Specifically, business rule 410 shown in FIG. 4 requires that the
meta-property name 420 for the meta-class CobolCopybook 430 be the
concatenation of the three strings ApplicationName 440,
DivisionName 450 and FirstDataArchitectAssignedtothisAsset 460.
[0055] It may be appreciated by those skilled in the art that
business rule 410 may be used to automatically generate the name
for a CobolCopybook.
[0056] Examples of business rules that may be used with the present
invention include inter alia: [0057] arithmetic conversion rules;
[0058] type restrictions on inherited properties; [0059] specifying
metadata values as being required; [0060] specifying valid ranges
for metadata values; [0061] specifying metadata values as being
unique; [0062] lookup tables; [0063] naming conventions; and [0064]
assignments of stewardship responsibilities.
[0065] Business rules may also be used, in accordance with a
preferred embodiment of the present invention, for type
restrictions on indirect properties. Consider the following
indirect sequence of meta-classes and meta-properties:
C1.P1-->C2.P2-->C3. Suppose that the indirect meta-property
C1.P1.P2 should be restricted to be of type S3, which is a
sub-class of C3, but that C2.P2 is not to be restricted to S3. In
general, there may not be an appropriate inheritance structure to
impose such a restriction as a type restriction on an inherited
property.
[0066] In accordance with a preferred embodiment of the present
invention, a new meta-class, S2, corresponding to C1.P1, is defined
as a sub-class of C2, and a business rule is used to restrict the
type of S2.P2 to S3. Using this approach, none of the properties P1
or P2 in the property path are required to be inherited properties.
Moreover, this approach applies to arbitrarily long property
paths.
[0067] It may be appreciated by those skilled in the art that the
present invention has widespread application. FIGS. 5-7 illustrate
three different applications of the present invention in the area
of enterprise metadata management.
[0068] Reference is now made to FIG. 5, which is a simplified block
diagram of a metadata management system for importing metadata, in
accordance with a preferred embodiment of the present invention.
FIG. 5 illustrates a metamodel of an enterprise, such as the
metamodel illustrated in FIGS. 2 and 4, including meta-classes and
sub-classes for business applications and data assets. The class
DataAsset includes inter alia sub-classes CobolCopybook,
ErwinSchema, RDBSchema, XMISchema and XSDSchema. FIG. 2 displays
meta-properties for the RDBSchema meta-class, and FIG. 4 displays
metadata for the CobolCopybook meta-class.
[0069] Shown in FIG. 5 are a configurable metamodel 510, and a
repository 520 of metadata that conforms to metamodel 510. Also
shown in FIG. 5 are an external meta-schema 530 and a repository
540 of metadata that conforms to meta-schema 530. Since the
metadata in repository 540 conforms to a different meta-schema than
the metadata in repository 520, the metadata in repository 540
cannot readily be imported into repository 520. For example, the
metadata in repository 540 may be metadata for XML schemas, whereas
the metadata in repository 520 may be metadata for relational
database schemas.
[0070] The system illustrated in FIG. 5 imports the metadata from
repository 540 into repository 520. A mapping module 550 is used to
generate a mapping 560 between the meta-schema 530 and the
metamodel 510. Generation of mappings between schemas is described
in applicant's aforementioned co-pending patent application U.S.
Ser. No. 10/053,045. For example, mapping 560 may associate
TABLE-US-00001 XML Schema Metamodel XML complexType --> class
XML element --> property
[0071] When mapping 560 is generated, a metadata transformation
module 570 uses mapping 560 to derive a data transformation for
transforming metadata from repository 540 to metadata that conforms
to metamodel 510. Upon transformation, the metadata in repository
540 can then be directly imported into repository 520. Derivation
of transformations is also described in applicant's aforementioned
co-pending patent application U.S. Ser. No. 10/053,045.
[0072] For example, if metadata from repositories 520 and 540 is
represented by XML data, which may conform to the Metadata
Interchange (XMI) standard, then the data transformation derived by
transformation module 570 may be an XSLT script. XMI is a standard
of the Object Management Group (OMG.RTM.) for interchanging
metadata between modeling tools and metadata repositories, and XSLT
is a language developed by the World-Wide Web Consortium
(W3C.RTM.), for transforming XML documents into other XML
documents.
[0073] It may be appreciated by those skilled in the art that M1
metadata can be considered as instance data for an M2 metamodel. As
such the same mapping module 550 and the same transformation module
570 from FIG. 5, may also be used to map a first set of M1 metadata
to a second set of M1 metadata, and to transform M0 instance data
conforming to the first set of metadata to M0 instance data
conforming to the second set of metadata. This allows the same
tools and skills to be used for mapping metadata and transforming
instance data, as is used for mapping metamodels/meta-schemas and
transforming metadata.
[0074] Reference is now made to FIG. 6, which is a simplified block
diagram of a system for validating metadata, in accordance with a
preferred embodiment of the present invention. Shown in FIG. 6 are
a configurable metamodel 610 and a repository 620 of metadata
conforming to metamodel 610. Metamodel 610 includes one or more
business rules 630, that relate meta-properties within metamodel
610, such as the business rules illustrated in FIGS. 3 and 4.
[0075] Shown in FIG. 6 is a validation module 640, which is
preferably activated by a integrity checker control such as button
240 (FIG. 2). Preferably, validation module 640 verifies each of
the business rules 630 against the metadata in repository 620, and
produces a list of violations. It may be appreciated that
violations of metadata rules may correspond to violations of IT
policy by the actual systems that the metadata reflects.
[0076] It may be appreciated that the system of FIG. 6 applies to a
variety of enterprise metadata. For example, metadata repository
620 may be metadata for an IT organization, and the business rules
may define valid responsibility assignments. In such a case,
validation module 640 is used to validate responsibility
assignments.
[0077] Reference is now made to FIG. 7, which is a simplified block
diagram of a system for automatically guiding the generation of
metadata so as to ensure that the metadata is compliant with
business rules of a metamodel, in accordance with a preferred
embodiment of the present invention. Alternatively, the generation
of metadata may be motivated by the desire to reduce the manual
effort required in populating the metadata. Shown in FIG. 7 are a
metamodel 710 and a repository 720 of metadata conforming to
metamodel 720. Metamodel 710 includes one or more business rules
730.
[0078] Also shown in FIG. 7 is a metadata guide 740, which
automatically guides a user who is generating metadata, so that the
metadata complies with business rules 730. For example, with
reference to FIG. 2, metadata guide 740 automatically ensures that
each RDBSchema has a databaseAdministrator defined. Similarly, with
reference to FIG. 4, metadata guide 740 automatically generates
names of Cobol Copybooks, so that the name of a Copybook is a
concatenation of an ApplicationName, a DivisionName and a
FirstDataArchitectAssignedtothisAsset name.
Impact Analysis
[0079] The present invention has important application to impact
analysis; namely, analyzing the impact of one or more IT assets on
the rest of the IT infrastructure--i.e., determining, if one or
more IT assets are shut down or modified, which other assets are
impacted and how. Impact analysis is critical for routine system
maintenance, system upgrade or modification, and for disaster
recovery. Examples of impact analysis include inter alia: [0080]
determining which applications and systems will be impacted is a
specific server shuts down; [0081] determining who needs to be
notified if a computer is replaced with a newer model; [0082]
determining which applications and systems will be impacted if a
specific employee is promoted; [0083] determining which data
sources are fed by data from a specific database, either directly
or indirectly; and [0084] determine which data transformations are
impacted if the type of a specific database column is changed, say
from VARCHAR to INTEGER.
[0085] In a very general framework, in accordance with a preferred
embodiment of the present invention, a binary relation such as
"impacts" and its inverse binary relation "is impacted by" are
imposed on meta-classes. These relations model the dependencies
whereby one class may impact or may be impacted by another class,
respectively. To generate these binary relations within a
metamodel, appropriate meta-properties within the metamodel are
characterized by "impacts" or "is impacted by", and the binary
relations then correspond to the transitive closure of these
characterizations. Thus, if asset A impacts asset B, and asset B
impacts asset C, then asset A also impacts asset C.
[0086] Within this general framework, the characterization of
meta-properties as "impacts" or "is impacted by" is accomplished
through a business rule referred to as an "Inclusion BR" and a
property referred to as "impacts". The Inclusion BR indicates that
a first property P1 is included in a second property P2, where the
domain of P1 is a sub-class of the domain of P2; namely, that
whenever instance I is related to instance J via property P1, then
instance I is also related to instance I via property P2. It may be
appreciated by those skilled in the art that the Inclusion BR for
P1 being included in P2 corresponds to P1 being a sub-property of
P2.
[0087] To make the property "impacts" as broad as possible, it is
preferably defined on a super-meta-class of the metamodel, such as
a meta-class "Being" which is a super-meta-class of all
meta-classes within the metamodel. Thus the Inclusion BR,
indicating that a meta-property P from a domain meta-class C1 to a
co-domain meta-class C2 is included in property "impacts", requires
that whenever instance I1 of meta-class C1 is related to instance
I2 of meta-class C2 via meta-property P, then I1 impacts I2.
[0088] For example, for a meta-class "Server", the Inclusion BR may
specify that the two meta-properties "hasRunningApplications"
(Server-->Application) and "hasRunningDBs"
(Server-->Database) are impact meta-properties; i.e., included
within the meta-property "impacts". Thereafter an impact analysis
on a specific server will produce all applications that run on the
server and all databases that are hosted by the server. Similarly,
for a meta-class "Application", the Inclusion BR may specify that
the two meta-properties "is FeedingInto"
(Application-->RDBTable) and "is CreatingXML"
(Application-->XMLDocument) are impact properties. Combining
these by transitivity, a specific server may impact various
relational database tables and various XML documents.
[0089] More specifically, as there are various type of impacts in
an enterprise, a variety of different impact analyses may be
performed; for example, a "downtime" impact analysis, a
"procurement" impact analysis, or a "personnel" impact analysis.
The same meta-class may participate in multiple impact analyses.
Reference is now made to FIG. 8, which is an illustration of a
dialogue box for creating an impact analysis (IA) meta-class, in
accordance with a preferred embodiment of the present invention. As
shown in FIG. 8, a meta-class named "DowntimeImpactItem" 810 is
created, together with meta-properties "directDowntimeVictims" 820
and "allDowntimeVictims" 830, the former property corresponding to
direct dependencies and the latter property corresponding to both
direct and indirect dependencies. Also shown in FIG. 8 is the name
of an impact analysis, "Downtime Impact Analysis" 840, which is
used to perform an impact analysis vis a vis downtime impacts.
[0090] The meta-class "DowntimeImpactItem" serves as a superclass
for all meta-classes whose instances can participate in the
analysis. Thus, for example, if ComputingDevice is a meta-class
that should participate in downtime impact analysis, then it should
be designated as a sub-class of DowntimeImpactItem and, as such, it
inherits the properties directDowntimeVictims and
allDowntimeVictims. Instances of sub-classes of meta-class
ComputingDevice, such as instances of a class ServerComputer, of a
class GatewayComputer and of a class ClientComputer, will then all
participate in downtime impact analysis. Any meta-class that
inherits from DowntimeImpactItem can be included within a downtime
impact analysis. Similarly, if a meta-class inherits from multiple
meta-classes, each super-class being a specific impact analysis
type, then instances of the meta-class participate in each of the
specific impact analyses.
[0091] It may thus be appreciated that an IA type of entity is
preferably represented by a meta-class that has a property such as
inter alia "impacts", "affects" or "hasConsequencesFor". The name
of the meta-class preferably reflects the role of an instance class
of its IA type, such as inter alia "DownTimeImpactItem" or
"ProcurementImpactItem".
[0092] Reference is now made to FIG. 9, which is an illustration of
a dialogue box that continues the workflow from FIG. 8, for
designating properties as being germane to a particular impact
analysis, in accordance with a preferred embodiment of the present
invention. Shown in the left panel of FIG. 9 is a meta-class
"DowntimeImpactItem" 905, as defined in the dialogue box of FIG. 8,
from which meta-classes "Application" 910 and "Server" 915 inherit,
by virtue of being sub-classes thereof. Shown in the right panel of
FIG. 9 are various properties of the meta-class Server, such as
"ApplicationID" 920, "Applications" 925, "CPU" 930 and the
inherited property directDowntimeVictims 935, as also defined in
the dialogue box of FIG. 8. Also shown in FIG. 8 is a business rule
that assigns the meta-property "Applications" 940 to Downtime
Impact Analysis 945. For convenience, a user merely selects the
Applications meta-property 925 from the list of Server
meta-properties, and then clicks on the Add button 950. Such a
business rule indicates that instance classes of Applications are
impacted when corresponding instance classes of Server go down. As
such, when a downtime impact analysis is performed, applications
running on server computers will be included in the analysis. It
may thus be appreciated by those skilled in the art that impact
analyses are conveniently defined via business rules of a
meta-model.
[0093] In accordance with a preferred embodiment of the present
invention, in order to simplify the workflow of defining impact
analyses and in order to avoid potential errors in the metamodel,
when a user adds a meta-property, such as Applications, with
meta-classes C1 and C2 as its domain and co-domain, respectively,
to an impact analysis, then meta-classes C1 and C2 are
automatically designated as sub-classes of the appropriate IA
meta-class, such as DowntimeImpactItem. As such, a user does not
have to set these sub-class designations manually. It is also noted
in FIG. 9 that, for convenience of implementation and management,
IA meta-classes are direct sub-classes of meta-class "Analyzable"
955.
[0094] Reference is now made to FIG. 10, which is an illustration
of stepwise graphical navigation of a meta-model, in accordance
with a preferred embodiment of the present invention. The screen
shown in FIG. 10 enables a user to explore each node in a metamodel
in a controlled way. By clicking on a "plus" sign for a node A, a
user instructs the navigator to display all nodes that node A has
an impact relation therewith, together with arrows that are labeled
in accordance with the underlying meta-properties.
[0095] Shown in FIG. 10 is a computer server 1010 which runs
applications 1020 and 1030, and hosts a web site 1040. In turn,
application 1020 writes to a data source 1050 and application 1030
writes to a data source 1060. Further in turn, data source 1050 is
used by web sites 1070 and 1080, and data source 1060 is used in
transformation 1090. All of the indicated properties are preferably
included within an "impacts" property and, as such, server 1010
directly impacts the three IT assets 1020, 1030 and 1040, and
indirectly impacts the five IT assets 1050, 1060, 1070, 1080 and
1090. It may thus be appreciated that using the present invention,
an IT administrator is able to determine the impact of shutting
down server 1010 or application 1020, for example.
[0096] In contrast to the stepwise navigation illustrated in FIG.
10, reference is now made to FIG. 11, which is an illustration of a
graphic display of the transitive closure of impacted nodes, in
accordance with a preferred embodiment of the present invention.
Shown in FIG. 11 is a list of classes impacted by a class
"Cordoba15" 1105, which is an instance of a meta-class "Computer".
The list includes a class "Market Report" 1110 and a class "Market
Watch (Premium)" 1115, which are instances of a meta-class "Web
Site" 1120, a class "WebSphere Business Integration Event Broker
5.0" 1125 and a class "Active Reference" 1130 which are instances
of a meta-class "Application Version" 1135, a class "FRX-SAKO" 1140
and a class "Market Stage" 1145, which are instances of a
meta-class "Data Source" 1150, and a class "PBDEC to AMCS" 1155,
which is an instance of a meta-class "Transformation" 1160. The
list includes classes that are directly and indirectly impacted by
Cordoba15.
[0097] When a user clicks on a specific item in the list, the chain
of impact dependencies is displayed below. For example, the graphic
display in FIG. 11 shows the dependency chain 1165 from Cordoba15
to Market Watch (Premium). Each of the arrows 1170, 1175 and 1180
correspond to a direct impact dependency.
[0098] It may be appreciated by those skilled in the art that,
alternatively, binary relations "impacts" and "is impacted by" may
correspond to relations other than the transitive closure of
"impacts" and "is impacted by" characterizations. For example, they
may correspond to a transitive closure up to a specified number of
levels, so that indirect impact is restricted to, say, three
levels.
[0099] It may also be appreciated that property inclusion may
alternatively be implemented using descriptors to tag certain
meta-properties as being impact-related. However, implementation
using an Inclusion BR allows more generality, including (i)
allowing different types of impact or be distinguished, and (ii)
allowing inference to take advantage of the "impacts" property.
Data Lineage
[0100] A somewhat similar application to impact analysis is data
lineage, which is a technique for finding sources of property
values. For example, a user may want to know "for a property
"productName", which is part of an Entity "Product Parameters",
which is part of a Data Asset "ProductSearchUI" where does its
value come from?"
[0101] In accordance with a preferred embodiment of the present
invention, data lineage is described as if it were a four-way
impact analysis, using two axes. A first axis, the "data flow
axis", indicates the flow of data using a property "Downstream
Items" and a corresponding inverse property "Upstream Items". A
second axis, the "system composition axis", indicates system
components using a property "subUnits" and a corresponding inverse
property "superUnits." Reference is now made to FIG. 12, which is
an illustration of a graphical user interface for viewing data
lineage results arranged along the two above axes, in accordance
with a preferred embodiment of the present invention. The results
illustrated in FIG. 12 are evoked when a user selects the
productName property and invokes data lineage analysis. The
horizontal arrows depict the data flow axis and the vertical arrows
depict the system composition axis.
[0102] Specifically, as seen in FIG. 12 from the vertical
dependencies, "productName" 1210 is an attribute of a GenericEntity
"Product Parameters" 1230, and Product Parameters 1230 is an asset
from a DataAsset "ProductSearchUI" 1230. Moreover, as seen from the
horizontal dependencies, productName 1210 is assigned a value based
on a corresponding property "productName" 1240 of class
"WsdlValuePart". In turn, productName 1240 is part of a message
"product Search Response" 1250. Moreover, productName 1240 is
assigned a value from a Column "longName" 1260 of a relational
database table "prod" 1270.
[0103] Reference is now made to FIG. 13, which is an illustration
of a graphical user interface for marking meta-properties as being
Downstream Items, Upstream Items, subunits or superUnits, in
accordance with a preferred embodiment of the present invention. As
shown in FIG. 13, a meta-property "copiedFrom" 1310, is designated
as being included in Upstream Items 1320, and its inverse
meta-property, "copiedTo" 1330 is included in Downstream Items
1340. Specifically, "copiedFrom" and "copiedTo" are meta-properties
from meta-class WsdlValuePart to meta-class ValueElement.
[0104] In the foregoing specification, the invention has been
described with reference to specific exemplary embodiments thereof.
It will, however, be evident that various modifications and changes
may be made to the specific exemplary embodiments without departing
from the broader spirit and scope of the invention as set forth in
the appended claims. Accordingly, the specification and drawings
are to be regarded in an illustrative rather than a restrictive
sense.
* * * * *