Core Models

Core Models

Codes Model

The abstraction of a reference table or reference codes. A code table is an extensible set of values. You can add values when needed and extend the model with temporal activation if desired. For example, currencies are typical code values with a temporal duration; well-known retired currencies are the European Currency Unit ECU or the German deutsche mark DM. New values can be added without recompiling the application. A code can have an optional validity period or simply a flag stating it is active or not. To guaranty consistency with exported datasets, a code format shall never be deleted, only be disabled. Code instances are immutable objects.

You can smooth your transition from enumeration types to reference codes. Extend your enumeration types with the Code interface.

Now you can transform your code to support generic reference codes and make your application more dynamic to domain model changes.

bus-codes-uml

Core Model

Entity

An entity and all subclasses have a set of attributes present in any CSV file.

oid

Object identifier of the entity instance as the string representation of a 64 bits long. The value is mandatory.

id

Identifier of the entity instance as a string. The value is optional.

name

Human-readable name of the entity instance as a string. The value is optional.

text

Human-readable description of the entity instance as a long string. The value is optional.

fromDate

Start date when the entity instance is active. The value is optional.

toDate

End date when the entity instance is active. Upon the end date, the entity should be read-only and no more edited in the system. The value is optional.

bus-core-uml

See our blogs for a discussion concerning the cornerstone abstractions of the business core model:

Customer Relationship Model CRM

bus-crmRealm-uml