Volume 4
Volume 4, Number 32 |
July 13, 2006 |
Abstract: Modern software environments like XDE .NET provide integrated and powerful tools that designers and developers can use in all stages of the application development from building use case diagrams to automatically generating code. Such tools allow a much more systematic and highly automated approach of the entire development process transforming what not long ago was more like an “art” into a better understood engineering activity. Still, there are many challenges that designers and developers have to deal with in order to make the tools work properly and produce meaningful results. Some of these challenges are faced at the sensitive point of passing from the realm of Object Models to the one of Data Models. There is a missing link between these two, which still has to be coded by the application developers in what is called the Data Access Layer. In order to simplify developers’ work we propose a two step approach in automating the creation of a Data Access Layer. The first step consists in factoring out the database specific functionality into a sub-layer which is completely independent of the specifics of the entity types of the given application. The second step consists of using dynamic code generation techniques in order to automatically generate code for the basic database operations associated to the application’s entity types. As a result application developers will be able to use a data access class generator instead of having to write the class specific code themselves.
Keywords: data access layer, entity classes, reflection, attributed programming
Download this issue: ISEDJ.4(32).Dollinger.pdf (Adobe PDF, 13 pages, 768 K bytes)
Preview the contents: Dollinger.j.txt (ASCII txt, 30 K bytes)
Recommended Citation: Dollinger, Goulet, and Gibbs (2006). Automating the Development of Data Access Layer. Information Systems Education Journal, 4 (32). http://isedj.org/4/32/. ISSN: 1545-679X. (A preliminary version appears in The Proceedings of ISECON 2005: §2553. ISSN: 1542-7382.)