This section lists the most important services that DAL provides,which includes:
· Object to Relational Mapping
· Templatized SQL
· Partial object hydration andpersistence
· Connection and statementmanagement
· Connection storm avoidance (stagger,throttle, and retry, or STR)
· Automatic markdown
· Object caching technology
· Session/personalization cachetier (GemService)
· DAL Eclipse DevelopmentEnvironment (DEDE)
Object Relational Mapping
ORM is the technique of translating (mapping) data from a persistentresource (e.g., a database) to a group of objects in a Java application, andvice versa. This model ofpersistent data uses the abstraction of a persistence layer togeneralize the concept of persistent storage. The persistence layer representspersistent data without reference to any particular storage architecture. Whendata is read, it is mapped from a concrete storage system to the persistencelayer, and from there to Java objects; when data is written, it is mapped theother way.The elements of data storage in thepersistence layer roughly correspond to the elements in a relational database,but have distinct names:
Persistence layer element | Relational database element |
Persistent resource | Database |
Persistent data object | Table and row |
Persistent attribute | Row and column |
In practice, persistent data is usually storedin a relational database management system, but in principle it could be storedin any other type of storage system. Thus, here generally uses relational terminology (databases, tables,rows, columns, and fields) to discuss persistent data operations that areordinarily used to manage data in a relational database. It uses persistence layer terminology(persistent resources, data objects, and attributes) to emphasize that certaintopics are closely associated with the persistence layer model, and can be appliedto other types of persistent storage as well.
Here are some usefulreferences on object relational mapping:
· The Wikipedia article on Object-Relational Mapping is a good introduction to the principles of ORM.
· Object Relational Mapping Strategies explains the principles of ORM in the context of Java.
Java Database Connectivity (JDBC) is the Java programming language'sstandard database component. It is designed to access relational databases, butit does not implement the principles of ORM, making it unsuitable as an API forlarge and complex projects. (DAL uses JDBC for database access but implementsORM itself)
· The Wikipediaarticle on JDBC is a good briefintroduction.
· The JavaPersistence API (JPA) is a component of the Java Enterprise Edition Model,which supports ORM. Its purpose and features are explained in Sun Microsystems'Java Persistence API FAQ.