Provides access to common DBMS capabilities. Can be used by DomainObjects as a PersistenceLayer. Can be used to provide portability to a different DBMS.