The accuracy, internal quality, and reliability of data is frequently referred to using the term 'data integrity'. Without it, data is less valuable or even useless. This session takes a close look at what data integrity entails and how it can be enforced in multi-tier application architectures using distributed data sources and global transactions. The discussion will make clear which elements are required from any robust implementation of data oriented business rules aka data constraints and it will explain how most existing solutions are not as watertight as is frequently assumed. Steps for achieving reliable constraint enforcement are demonstrated.
- what is data integrity
- types of data constraints (and various levels: attribute, record, inter-entity)
- what is the notion of a transaction (and a commit)
- data constraint enforcement in various tiers of enterprise applications: user interface (client side), web tier, business service, database
- what are the challenges for implementing data integrity in a multi user environment; what are the additional challenges in an environment with multiple independent data sources
- demonstrate a common implementation of data integrity - starting at the UI and adding additional enforcement working our way down through the tiers
- make clearly visible how because of multi-session, data caching, clustering etc. most implementations look reasonable enough but lack robustness
- explain and demonstrate how some degree of locking is required to provide true data integrity in a multi-session environment; explain what the finest grained level of locking should be and how that can be implemented.