Handle System - Design Principles

Design Principles

The Handle system is designed to meet the following requirements to contribute to persistence

The identifier string:

  • is not based on any changeable attributes of the entity (location, ownership, or any other attribute that may change without changing the referent’s identity);
  • is opaque (preferably a ‘dumb number’: a well known pattern invites assumptions that may be misleading, and meaningful semantics may not translate across languages and may cause trademark conflicts);
  • is unique within the system (to avoid collisions and referential uncertainty);
  • has optional, but nice to have, features that should be supported (human-readable,cut-and-paste-able, embeddable; fits common systems, e.g., URI specification).

The identifier resolution mechanism:

  • is reliable (using redundancy, no single points of failure, and fast enough to not appear broken);
  • is scalable (higher loads simply managed with more computers);
  • is flexible (can adapt to changing computing environments; useful to new applications):
  • is trusted (both resolution and administration have technical trust methods; an operating organization is committed to the long term);
  • builds on open architecture (encouraging the leverage efforts of a community in building applications on the infrastructure);
  • is transparent (users need not know the infrastructure details).

Read more about this topic:  Handle System

Famous quotes containing the words design and/or principles:

    Delay always breeds danger; and to protract a great design is often to ruin it.
    Miguel De Cervantes (1547–1616)

    Now there cannot be first principles for men, unless the Divinity has revealed them; all the rest—beginning, middle, and end—is nothing but dreams and smoke.
    Michel de Montaigne (1533–1592)