data modeling enterprise architecture
TRANSCRIPT
The Data Model as the Cornerstone of Enterprise Architecture: A Case Study
RICHARD FREGGI
SENIOR SUPPLY CHAIN ARCHITECT
HP
DMZ AUSTRALIA 2015 1
About this case studyData really is everywhere◦ Not just for database development…◦ But also for business processes, system architecture, solution selection, project management and
stakeholder management
The data modeler has opportunities to take on a role of critical importance◦ The fundamental principles of data modeling still apply…◦ However the ways and means to apply the principles must be tailored to the specific circumstances
This approach is highly effective but not well understood◦ Most stakeholders are used to the traditional “application-centric” approach◦ The value of the data model is becoming apparent but people need to be shown how to use it
I’d like to share and learn◦ Who else has similar experiences and can share insights?
DMZ AUSTRALIA 2015 Page 2
Key points
Traditional architectural approach is “application-driven”. This can create problems:◦ It’s easy to end up where you started (same set of issues, little measurable ROI)
◦ Promotes “stovepipe” systems (increasingly expensive with less flexibility to change)
◦ No objective criteria for decisions: governance for solution selection can be challenging ◦ Mapping business processes to applications is lengthy and very imprecise – therefore not done, or not done well enough
The data modeler can help resolve these problems◦ Match data to processes and requirements
◦ Match data to IT systems (legacy and new systems)
◦ Use the data to match processes and requirements to systems!
◦ See Information Engineering, Rational Unified Process and associated methodologies
It works in real life, provided that we adapt the data modeling approach◦ Choice of Artifacts
◦ Skills and experience in engaging stakeholders
◦ Step out of “database development” comfort zone and get involved with project managers
DMZ AUSTRALIA 2015 Page 3
What do we mean by Enterprise Architecture?Zachman Framework: architecture is “a descriptive representation” of the domain◦ Descriptive = useful to do something important to you◦ Domain = your business
Program codeJohn A. Zachman, Zachman International (810) 231-0531
DATA what
FUNCTIONhow
NETWORK where
PEOPLEwho
TIME when
MOTIVATION why
CONTEXTGeneral
Manager
Things important for the business
Business Functions
List of business locations
Organization structure
Business strategy timeline
List of business priorities
CONCEPTLine
ManagerSemantic data dictionary
Business Process
Business Logistic System
Roles and responsibilities
Business event timeline
Business Plan and Budget
LOGICALArchitect
Project ManagerLogical Data Model
Application Architecture
Distributed System Architecture
Software interface
Processing timing and sequencing
Business Role Model
PHYSICALIT Manager
Database Schema
Software Specification / Configuration
Hardware and network infrastructure
Presentation Architecture
Control structure
System Role Design
OUT OF CONTEXT
Subcontractor
Implementor
Database Definition Language
System components
Access and security system
Timing definition
System Role Configuration
Enterprise Architecture
System Architecture
Solution Architecture
http://en.wikipedia.org/wiki/Zachman_Framework
DMZ AUSTRALIA 2015 Page 4
What do we mean by data model?
A Semantic Data Model◦ Documented in a Semantic Data Dictionary
Business Entity names◦ Information as seen from the user’s point of view - not from technology point of view
Business Entity description◦ Verbose (text)
◦ Optionally: shortlist of attributes to help users recognize how a Business Entity can/cannot be used to perform their processes. Sometimes, Primary and Foreign Keys can help user’s understanding of semantics
Relations◦ Semantic level: the user’s view of where the information comes from
DMZ AUSTRALIA 2015 Page 5
Traditional “application-driven” approach creates problemsIt works but may result in more cost, less flexibility, duplicate effort, longer implementation
Program codeJohn A. Zachman, Zachman International (810) 231-0531
DATA what
FUNCTIONhow
NETWORK where
PEOPLEwho
TIME when
MOTIVATION why
CONTEXTGeneral
Manager
Things important for the business
Business Functions
List of business locations
Organization structure
Business strategy timeline
List of business priorities
CONCEPTLine
ManagerSemantic data dictionary
Business Process
Business Logistic System
Roles and responsibilities
Business event timeline
Business Plan and Budget
LOGICALArchitect
Project ManagerLogical Data Model
Application Architecture
Distributed System Architecture
Software interface
Processing timing and sequencing
Business Role Model
PHYSICALIT Manager
Database Schema
Software Specification / Configuration
Hardware and network infrastructure
Presentation Architecture
Control structure
System Role Design
OUT OF CONTEXT
Subcontractor
Implementor
Database Definition Language
System components
Access and security system
Timing definition
System Role Configuration
http://en.wikipedia.org/wiki/Zachman_Framework
DMZ AUSTRALIA 2015 Page 6
Why is the data model the cornerstone?
Use the data to match processes and requirements to systems!
Program codeJohn A. Zachman, Zachman International (810) 231-0531
DATA what
FUNCTIONhow
NETWORK where
PEOPLEwho
TIME when
MOTIVATION why
CONTEXTGeneral
Manager
Things important for the business
Business Functions
List of business locations
Organization structure
Business strategy timeline
List of business priorities
CONCEPTLine
ManagerSemantic data dictionary
Business Process
Business Logistic System
Roles and responsibilities
Business event timeline
Business Plan and Budget
LOGICALArchitect
Project ManagerLogical Data Model
Application Architecture
Distributed System Architecture
Software interface
Processing timing and sequencing
Business Role Model
PHYSICALIT Manager
Database Schema
Software Specification / Configuration
Hardware and network infrastructure
Presentation Architecture
Control structure
System Role Design
OUT OF CONTEXT
Subcontractor
Implementor
Database Definition Language
System components
Access and security system
Timing definition
System Role Configuration
http://en.wikipedia.org/wiki/Zachman_Framework
DMZ AUSTRALIA 2015 Page 7
Application-driven approach promotes “stovepipe” systems
Many applications to meet many requirements / constraintsMany contradicting processes, requirements and constraints make solution selection very difficultAre we just swapping on set of issues for another?Will the savings justify the costs?
DMZ AUSTRALIA 2015 Page 8
Many projects and solutions
Many organizations, stakeholders
Legacy system limitations
Different business requirements
Differen
t pro
cessesan
d req
uirem
en
ts
Dif
fere
nt
cap
abili
tie
s
Solution A Solution B
Solution C Solution D
Solution E Solution F
Solution G Solution H
Etc. etc.
The data modeler can help resolve these problems
Many projects and solutions
Legacy system limitations
Different business requirements
Solution A
Solution B
Solution C
Data Model
Process Model
System Architect
ure
• Less applications• Lower cost• Faster implementation• Less interfaces =
less latency and better referential integrity
Program codeJohn A. Zachman, Zachman International (810) 231-0531
DATA what
FUNCTIONhow
NETWORK where
PEOPLEwho
TIME when
MOTIVATION why
CONTEXTGeneral
Manager
Things important for the business
Business Functions
List of business locations
Organization structure
Business strategy timeline
List of business priorities
CONCEPTLine
ManagerSemantic data dictionary
Business Process
Business Logistic System
Roles and responsibilities
Business event timeline
Business Plan and Budget
LOGICALArchitect
Project ManagerLogical Data Model
Application Architecture
Distributed System Architecture
Software interface
Processing timing and sequencing
Business Role Model
PHYSICALIT Manager
Database Schema
Software Specification / Configuration
Hardware and network infrastructure
Presentation Architecture
Control structure
System Role Design
OUT OF CONTEXT
Subcontractor
Implementor
Database Definition Language
System components
Access and security system
Timing definition
System Role Configuration
http://en.wikipedia.org/wiki/Zachman_Framework
Many organizations, stakeholders
DMZ AUSTRALIA 2015 Page 9
The data model is the first point of consolidation / rationalizationProcess model and system architecture are based on one and the same data modelMuch easier to justify solutions and make decisions
Validates capacity
Provides Rules for
Caused by problem
Causes revision
Committed thru
Triggered by
Caused by decision
Recorded in
OPERATIONSPLAN
ROUGHCUTCAPAPLAN
EXCEPTION
SERVICEAGREEMENT
PUBLISHEDOPSPLAN
TRANSACTION
TRANSACTIONCOMMIT
COMMITCHANGE
EXCEPTIONREPORT
PRIORITIZEDEXCEPTIONSLIST
AUDITARCHIVE
Match data to processes and user requirements - 1
Engage key stakeholders
Explain that we need to understand WHATwe are talking about before we decide HOWwe are going to do it
Document the result in a Semantic Data Model
The data model accounts for◦ Viewpoints of various stakeholders / organizations
◦ Different requirements and constraints
◦ Legacy solutions, new projects
The data model is by far the best, easiest, fastestway to consolidate these inputs
DMZ AUSTRALIA 2015 Page 10
Match data to processes and user requirements - 2Develop the process model with stakeholders, leveraging the clear understanding of domain and common terminology
DATA MODEL
Validates capacity
Provides Rules for
Caused by problem
Causes revision
Committed thru
Triggered by
Caused by decision
Recorded in
OPERATIONSPLAN
ROUGHCUTCAPAPLAN
EXCEPTION
SERVICEAGREEMENT
PUBLISHEDOPSPLAN
TRANSACTION
TRANSACTIONCOMMIT
COMMITCHANGE
EXCEPTIONREPORT
PRIORITIZEDEXCEPTIONSLIST
AUDITARCHIVE
DMZ AUSTRALIA 2015 Page 11
UML Sequence Diagram provides effective process definitionbased on the data model!!
PROCESS / SOP
: BusinessPartner
: BI Team
: CommitChange
: Exception
: ExceptionReport
: PrioritizedExceptions
List
: OpsManager
1 : Detect()
2
3 : Confirm()
4 : Update()
<<create>>5
<<create>>6 : Update()
7
8
9
Match data to IT systemsDATA MODEL
Validates capacity
Provides Rules for
Caused by problem
Causes revision
Committed thru
Triggered by
Caused by decision
Recorded in
OPERATIONSPLAN
ROUGHCUTCAPAPLAN
EXCEPTION
SERVICEAGREEMENT
PUBLISHEDOPSPLAN
TRANSACTION
TRANSACTIONCOMMIT
COMMITCHANGE
EXCEPTIONREPORT
PRIORITIZEDEXCEPTIONSLIST
AUDITARCHIVE
SYSTEM ARCHITECTURE
Archive Datastore
Audit Archive
residents
Secure File Share
Service Agreement
residents
Workflow Support Tool
Exception Report
Prioritized Exceptions List
residents
Reporting Engine
Commit Change
Exception
Published Ops Plan
Transaction
Transaction Commit
residents
Planning Engine
Rough Cut Capacity Plan
Operations Plan
residents
IF4
IF2
IF3
Decisions, responsibilities, liabilities
Milestones, Events, Exceptions
Plans
IF1
Business Rules
DMZ AUSTRALIA 2015 Page 12
UML Component Diagram provides system architecturebased on the data model!!
Processes and requirements are matched to solutions!Perform a reality check / validation round with stakeholders
: BusinessPartner
: BI Team
: CommitChange
: TransactionException
: ExceptionsReport
: PrioritizedExceptions
: OpsManager
1 : Detect()
2
3 : Confirm()
4 : Update()
<<create>>5
<<create>>6 : Update()
7
8
9
PROCESS / SOP SYSTEM ARCHITECTURE
Archive Datastore
Audit Archive
residents
Secure File Share
Service Agreement
residents
Workflow Support Tool
Exception Report
Prioritized Exceptions List
residents
Reporting Engine
Commit Change
Exception
Published Ops Plan
Transaction
Transaction Commit
residents
Planning Engine
Rough Cut Capacity Plan
Operations Plan
residents
IF4
IF2
IF3
Decisions, responsibilities, liabilities
Milestones, Events, Exceptions
Plans
IF1
Business Rules
DMZ AUSTRALIA 2015 Page 13
UML notation helps us leverage the data model for key artifacts of the Enterprise Architecture
DMZ AUSTRALIA 2015 Page 14
Program codeJohn A. Zachman, Zachman International (810) 231-0531
DATA what
FUNCTIONhow
NETWORK where
PEOPLEwho
TIME when
MOTIVATION why
CONTEXTGeneral
Manager
Things important for the business
Business Functions
List of business locations
Organization structure
Business strategy timeline
List of business priorities
CONCEPTLine
ManagerSemantic data dictionary
Business Process
Business Logistic System
Roles and responsibilities
Business event timeline
Business Plan and Budget
LOGICALArchitect
Project ManagerLogical Data Model
Application Architecture
Distributed System Architecture
Software interface
Processing timing and sequencing
Business Role Model
PHYSICALIT Manager
Database Schema
Software Specification / Configuration
Hardware and network infrastructure
Presentation Architecture
Control structure
System Role Design
OUT OF CONTEXT
Subcontractor
Implementor
Database Definition Language
System components
Access and security system
Timing definition
System Role Configuration
Semantic Model
Use Case DiagramSequence Diagram
ERD
Component Diagram
Dep
loym
ent
Diagram
MS Excel
Role of the data modeler
Develop the data model! But also…
Promote use of the common language from the Semantic Data Model
Facilitate discussion among many stakeholders: internal, business partners, solution vendors
Tight partnership with project managers and sponsors
Knowledge of UML or equivalent notation
Willing and able to ‘get out there’, get involved and make a difference!
DMZ AUSTRALIA 2015 Page 15
Partnership with project managers is critical for success
Artifacts are used for project definition
DMZ AUSTRALIA 2015 Page 16
Architectural Artifact Project Control Document
Data Model Project glossary / definition of termsProject scope definitionProject approach
Use Case DiagramsSequence Diagrams
Project sponsor assignmentProject team rosterStakeholder management planTest plan definitionManagement of change and training plan
Component DiagramDeployment Diagram
Project scope definitionRFP, RFQ, vendor Statement Of Work
Consolidated / rationalized
requirements
Who will do it, How will do it
Hardware, Software, Network changes
Thank you
Who has similar experiences?
Different experiences?
Feedback?
DMZ AUSTRALIA 2015 Page 17