950 likes | 1.16k Views
Library of Congress David C. Hay Capgemini Financial Services Washington, DC March 24, 2009. Describing the World: Data Model Patterns. Part One: The Enterprise Model. Some of you may know me. Back in 1995, I published this book. It was the beginning of a movement.
E N D
Library of Congress David C. HayCapgemini Financial Services Washington, DCMarch 24, 2009 Describing the World:Data Model Patterns Part One: The Enterprise Model
Some of you may know me . . . • Back in 1995, I published this book . . .
It was the beginning of a movement . . . • Erich Gamma, Richard Helm, Ralph Johnson, John Vissides, Design Patterns Elements of Reusable Object-Oriented Software, 1995. • Software patterns • Martin Fowler, Analysis Patterns: Reusable Object Models. 1997. • Object-oriented design patterns • Len Silverston, The Data Model Resource Book: A Library of Logical Data and Data Warehouse Models. 1997. • “Universal data models”
More program independent(Less “techie”) More business independent(More abstract) Different kinds of patterns . . . semantics of the business Universal Data Models Data Model Patterns implemen- tation Analysis Patterns Design Patterns
Second Edition (2008) (Y’all are getting a sneak preview) And so now . . .
Levels of Abstraction . . . • Semantic data models can be drawn at many different levels of abstraction: • Most general – Robust, generally applicable. By definition, anything published as part of the Federal Data Reference Model must be relatively abstract to be widely applicable. This makes them harder to relate to specific situations. • Most concrete – Easiest to understand for people in the fields being described. This makes them more vulnerable to changes in the business, however, and harder to apply generally across companies and agencies.
Abstraction Level 0: A Template . . . • This is a standard structure for basic elements of Enterprise Model. • It is about the structure of “things”, such as physical assets, people, activities, and so forth. • The structures are then replicated in the more concrete Level 1 “Enterprise model”.
Abstraction Level 1: The Enterprise Model . . . • This model should apply to 90% of all companies (and government agencies. • Company specific configurations can be specified as data in the …PARAMETER and …TYPE entities.
Abstraction Level 1: The Enterprise Model . . . • Enterprise Model Components– Basic models describing: • People and Organizations (Who?) • Geography (Where?) • Physical Assets (What?) • Activities (How?) • Date Attributes and Date Entities (When?) • Composites (Why?) • Facilities (to create things) • Contracts (to sell things) • Metadata Models– Two models are related to all the other parts of the model: • Information resources (such as documents), and • Accounting.
Abstraction Level 2: More concrete. . . • Applicable across company • Apply to certain functional areas only. • May require modification by individual companies or agencies. • Examples include human resources, marketing, and the laboratory
Abstraction Level 3: Industry Specific. . . • These are specific to areas of interest for specific kinds of companies. • Examples include manufacturing, banking, biotechnology, etc. • Note that even these are industry-level “patterns”, which can be made more specific yet for individual companies. • Note also that only a small part of a company’s business is that specific. • Most can still follow the enterprise model.
Today’s Workshop • Part One: • Abstraction Level 1: The Generic Enterprise Model • Abstraction Level 0: The Template • Part Two: • Abstraction Level 1 (continued): Metadata (Documents and Accounting)
Part One: The Enterprise Model • Abstraction Level 1: The Enterprise Model • People and Organizations (Who?) • Geography (Where?) • Physical Assets (What?) • Activities and Events (How?) • Timing Attributes and Entity Classes (When?) • Abstraction Level 0: The Template • Things • Abstraction Level 1, again: • Composites (Why?) • Sites and Facilities • Contracts
E a c h INNING < f i r s t e n t i t y > m u s t b e part of BASEBALLGAME INNING [ o r ] composed of m a y b e < r e l a t i o n s h i p n a m e > part of o n e a n d o n l y o n e [ o r ] o n e o r m o r e BASEBALL GAME < s e c o n d e n t i t y > About reading the relationship names . . . Two assertions . . . must be Each BASEBALL GAME may becomposed ofone or more INNINGS Each INNING must bepart of one and only one BASEBALL GAME. May be represented by this drawing . . . But are these assertions true?
Today’s quotation . . . • “In modeling, It is more important to be clear than to be correct! • - If you are clearly wrong, someone will tell you, • - but if you are obscurely right, you may never know!” • - Ken Orr The Ken Orr Institute
Part One: The Enterprise Model • Abstraction Level 1: The Enterprise Model • People and Organizations (Who?) • Geography (Where?) • Physical Assets (What?) • Activities and Events (How?) • Timing Attributes and Entity Classes (When?) • Abstraction Level 0: The Template • Abstraction Level 1, again: • Composites (Why?) • Sites and Facilities • Contracts
Each PARTY TYPE may in turn be a super-type of one or more otherPARTY TYPES. For example, thePARTY TYPE “Company” is a sub-type of the PARTY TYPE “Organization”. A PARTY TYPE might be: “Person”, “Organization”, “Company”, etc. 2. Parties . . .
A PARTY RELATIONSHIP TYPE might be: “Marriage” “Union Membership” “Corporate Structure” etc. 3. Party Relationships . . .
PARTY IDENTIFIER TYPE: “Corporate Identifier”“Social Security Number”“Passport Number”, Etc. PARTY IDENTIFIER: “Corporate Identifier”of “Essential Strategies, Inc.” is “76-0392981”, as issued by the “Internal Revenue Service”. 4. Party Identifiers . . .
If PARTY NAME COMPONENT TYPE is “Prefix”,LEGAL NAME COMPONENT VALUES would be “Mr.”, “Ms.”, “Dr.”, etc. The PARTY NAME “Mr. David Charles Hay II”, consists of PARTY NAME COMPONENTS: “Mr.” (PNC TYPE: “Prefix”)“David” (PNC TYPE: “Given Name”)“Charles” (PNC TYPE: “Middle Name”)…“II” (PNC TYPE “Suffix”) PARTY NAME TYPES: “Maiden Name”, “Corporate Nickname”, etc. 5. Party Names . . .
For example, according to a PARTY NAME CONSTRAINT, -- only a PARTY whose PARTY TYPE is “Person” -- may have a PARTY NAME whose PARTY NAME TYPE is “Maiden name”. PARTY IDENTIFIER CONSTRAINTS: -- only a PARTY whose PARTY TYPEis “Company” -- may have a PARTY IDENTIFIER whose PARTY IDENTIFIER TYPEis “Corporate Tax ID”. 6. Some Party Constraints . . .
PARTY CHARACTERISTIC VALUE: “Height” of “Jerry Smith” has CHARACTERISTIC VALUE of “6.1” (feet)… according to “Jerry Smith”. PARTY CHARACTERISTIC: “Height”“Number of employees”“Regulatory target”, Etc. 7. Party Characteristics . . .
Business Rule: If PARTY CHARACTERISTIC VALUE is of a PARTY CATEGORY, then -- it’s “Characteristic value” -- must be the “Category value” -- of one of thePARTY CATEGORY’s -- LEGAL PARTY CATEGORY VALUES’ “Category value”.. 8. Party Categories, etc. . .
Note: It is important to work from inside the parentheses out. Reverse Polish Notation . . . • For example: • Age = (<system date> - birthdate) / 365 To deriveCharacter- istic The use of Character-istic The use ofSystemVariable The use of Constant Operator Age <system date> Add Age Birthdate Subtract Age 365 Divide
NOTE: theCONTINUOUS PARTY CHARACTERISTIC“Height” -- may only be used as a PARTY CHARACTERISTIC VALUE -- for a PARTY that is an example of the PARTY TYPE“Person”. 10. Party Characteristic Constraints . . .
Part One: The Enterprise Model • Abstraction Level 1: The Enterprise Model • People and Organizations (Who?) • Geography (Where?) • Physical Assets (What?) • Activities and Events (How?) • Timing Attributes and Entity Classes (When?) • Abstraction Level 0: The Template • Abstraction Level 1, again: • Composites (Why?) • Sites and Facilities • Contracts
For example, “Colorado” is in “The United States” .(GEOGRAPHIC STRUCTURE), “Ute Indian Reservation” overlaps with “Colorado”. (GEOGRAPHIC OVERLAP) GEOGRAPHIC POINT “36 59 57 N”, “109 02 44” defines a corner of STATE / PROVINCE “Colorado”. (GEOGRAPHIC DEFINITION). etc. 2. Geographic Location Relationships . . .
GEOGRAPHIC NAME STANDARD: ISO 3116 GEOGRAPHIC LOC. ID. TYPE: “Standard Abbreviation” GEOGRAPHIC LOCATION IDENTIFIER: “UK”“USA” 3. Geographic Location Identifiers . . .
GEOGRAPHIC LOCATION ID CONSTRAINT: -- theGEOGRAPHIC LOCATION IDENTIFIER TYPE“Postal Abbreviation” -- may only be embodied in a GEOGRAPHIC IDENTIFIER -- of a GEOGRAPHIC LOCATON -- that is an example of the GEOGRAPHIC AREA TYPE “State/Province”. 5. Geographic Constraints . . .
GEOGRAPHIC CHARACTERISTIC VALUE: “Population” of “The United States” is “280,000,000” “Area” of “Cuba” is “42,800” (square miles). GEOGRAPHIC LOCATION CHARACTERISTIC: “Population” “Area” “Climate” “Export Value” 6. Geographic Characteristics . . .
Business Rule: If GEOGRAPHIC CHARACTERISTIC VALUE is of a GEOGRAPHIC CATEGORY, it’s “characteristic value” must be the “value” of one of the GEOGRAPHIC CATEGORY’S LEGAL GEOGRAPHIC CHARACTERISTIC VALUES. 7. Geographic Categories, etc. . .
Reverse Polish Notation . . . • For example: • Building height = Tan(sight angle) * horizontal distance To deriveCharacter- istic The use of Character-istic The use ofSystemVariable The use of Constant Operator Building Height Sight Angle Tangent Building Height Horizontal Distance Multiply
For example, The G.L. CHARACTER-ISTIC “Population” may only be -- used for a G.L. VALUE-- for a GEOGRAPHIC LOCATION that is -- an example of the GEOGRAPHIC AREA TYPE “Geopolitical Area”. 9. Geographic Characteristic Constraints . . .
NOTE: The geographical representation of a country should not be confused with the GOVERNMENT which has JURISDICTION over that piece of geography. 10. Geographic Roles . . .
Part One: The Enterprise Model • Abstraction Level 1: The Enterprise Model • People and Organizations (Who?) • Geography (Where?) • Physical Assets (What?) • Activities and Events (How?) • Timing Attributes and Entity Classes (When?) • Abstraction Level 0: The Template • Abstraction Level 1, again: • Composites (Why?) • Sites and Facilities • Contracts
PHYSICAL ASSET SPECIFICATION: “Lenovo ThinkPad T43” “Standard House Plan JZ-364” etc. PHYSICAL ASSET TYPE: “Personal Computer” “Building” “Compressor” etc. PHYSICAL ASSET INSTANCE “DH’s ThinkPad, SN 99-A4005” “The house at 13 Hilshire Grove, Houston, Texas” “4000 #10 envelopes” etc. 1. Physical Assets . . .
ASSET INSTANCE STRUCTURE: “DH’s Lenovo ThinkPad T43” has installed a “Model 13N6577 60 gb hard drive, S/N NP24T522” (“Actual composition”) ASSET STRUCTURE TYPE: “Optional Composition”, “Actual Composition” “Safety association”, etc. ASSET SPECIFICATION STRUCTURE: “A Lenovo ThinkPad T43” can use a “Model 13N6577 60 gb hard drive” (“Optional composition”) 2. Physical Asset Structures . . .
ASSET IDENTIFIER: “Asset number” (PHYSICAL ASSET INSTANCE) “Specification Number” (PHYSICAL ASSET SPECIFICATION 3. Physical Asset Names and Identifiers . . .
Business Rule: If ASSET CHARACTERISTIC VALUE is of an ASSET CATEGORY, it’s “characteristic value” … etc. 6. Physical Asset Legal Value and Derivations . . .
Reverse Polish Notation . . . • For example: • Power (watts) = Voltage * Current (amps)