Link, don't duplicate

Description 

On both micro and macro scales, modular, loosely coupled architectures ensures that solutions are reusable, testable, adaptable, manageable, and supportable. The use of standards ensures that we will leverage the largest base of available knowledge while achieving the highest level of inherent interoperability. Reusable implementations of data, infrastructure, and service needs are preferred to duplication of efforts. To avoid duplicate entry of data, systems of record should be established and linked to rather than copied.

Components

Data

  • Link to authoritative data wherever possible
  • Establish common, synchronized data repositories as needed for performance or compatibility
  • Consider ways to avoid data duplication
  • Stored in standards-based, accessible formats
  • Published APIs for data access
  • Where data must be cached or duplicated, develop methods for synchronizing and reconciling data to ensure coherency

Infrastructure

  • Don't reinvent an entire system when good solutions exist for a significant part of it
  • Focus on ways we can reduce our incremental effort spent on infrastructure: deliver services not servers
  • Loosely coupled designs make it easier to replace components as necessary
  • A system of record should be designed to share data through remote data references (links)

Services

  • Base services on open standards
  • Loosely coupled designs encourage re-use
  • Testable for performance and correctness

Support

  • Reuse of systems leads to reuse of support knowledge
  • Provide users with pointers to authoritative data and update mechanisms