NOTE: The final version of this initial post (including definitions) is here.
Public DRAFT - comments requested.
Problems worthy of attack
Prove their worth by hitting back.
This post will be a work in progress for a while. Unlike many weblog authors, I continue to revise my posts for some time after initial publication based on feedback & further thought. This is because this weblog is essentially a vehicle for a book, and the longer posts are chapters.
Here is an overall logical model/metamodel that integrates IT Service Management and metadata concepts (click for full size).
I hope that this will be useful to anyone either building or evaluating a CMDB, IT Governance tools & processes, or an extended metadata repository.
This discussion may also be helpful to those evaluating the OMG or DMTF metamodels, as these models are highly complex. The principles in this metamodel are the same, but everything is at a somewhat higher, more conceptual level. This is a good thing, because the problem in enterprise IT right now is a proliferation of point solutions with no common understanding of how they fit together.
Comments on method: I use the hollow arrow to indicate inheritance, and the crow's foot to indicate cardinality. At this level of modeling I am not concerned with composition vs. aggregation, or optionality. I use my own Visio idiosyncratic notation partly for convenience, and partly for intellectual property reasons so there is no ambiguity between these weblog posts and any work I may perform for hire, nor any question about how I have access to an expensive modeling tool license. Finally, I like having a notation that incorporates both OO and relational symbols.
This is a conceptual data model. It deliberately omits a number of data structures that would ultimately be necessary to realize a solution. The omitted data structures are generally intersection entities and dependent entities that elaborate on the core concepts. Process focused entities are also omitted. Some notes on possible approaches for elaborating this into a full logical data model is covered in the data definitions.
The rest of this post will be a detailed discussion of the entities and their relationships.