To be of any use systems have to manage up-to-date representations of their domains of concern, which entails the management of business objects and processes identities.
Whatever the nature of individuals (objects or behaviors, physical or social), supporting systems must guarantee the continuous and consistent identification of the associated system surrogates.
Identities & Business Individuals
As far as systems are concerned, identification mechanisms have to deal with three configurations:
- Persistency units representing active (e.g owner) or passive (e.g chariot) objects must be kept consistent independently of business processes targeting them (e.g repair). As an example, national authorities often define surrogates to identify their citizens.
- Representations of execution units (e.g repair) have only to be maintained while the processes who created them are running. Their consistency will depend on integrity constraints of symbolic objects on one hand, access constraints on the other hand.
- System users may have to be identified as agents during interactions and role authorizations may have to be checked both execution as well as persistency units.
Since these configurations clearly differ with regard to architectural consequences, identification mechanisms should be a key factor for functional architectures.
Identities & Functional Architecture
As already noted, models are meant to describe how business contexts are mapped into symbolic representations. More precisely, the functional architecture specifies the persistent and execution units that are to be implemented as system components, and identities are the hooks fastening the latter to the former.
On that regard, functional capabilities are best described with Zachman’s well-known categories:
- Who: categories of agents identified within the enterprise; to be mapped to actors interacting with systems.
- What: categories of business objects to be continuously and consistently represented by systems; to be mapped to persistent representations.
- How: categories of business rules to be applied to business objects; to be mapped to transient representations.
- Where: address spaces within which objects are to be identified; to be mapped to services.
- When: execution spaces within which behaviors are to be identified; to be mapped to systems processes.
Once systems surrogates solidly anchored to business individual, identification mechanisms can be adjusted to structural dependencies.
Identification mechanisms & Structures
Whatever the semantics, identification mechanisms can be characterized by the structure of targeted individuals:
- Primary individuals can be directly identified and may exist in any number.
- Secondary (aka dependent) individuals can also be directly identified but cannot stand on their own.
- Components can only be identified through their owner.
- Singletons (or n-tons) are primary individuals with direct and permanent access.
- Lumped elements have no discrete identities.
- Derived elements are identified by their source and time-stamp.
As a conclusion it must be noted that anchoring structures to identities independently of individual semantics is a necessary condition for encapsulation and polymorphism.