Object Relational Mapping for Enterprise Application Architecture Musafare Machisa Regis University
Total Page:16
File Type:pdf, Size:1020Kb
Regis University ePublications at Regis University All Regis University Theses Fall 2005 Object Relational Mapping for Enterprise Application Architecture Musafare Machisa Regis University Follow this and additional works at: https://epublications.regis.edu/theses Part of the Computer Sciences Commons Recommended Citation Machisa, Musafare, "Object Relational Mapping for Enterprise Application Architecture" (2005). All Regis University Theses. 376. https://epublications.regis.edu/theses/376 This Thesis - Open Access is brought to you for free and open access by ePublications at Regis University. It has been accepted for inclusion in All Regis University Theses by an authorized administrator of ePublications at Regis University. For more information, please contact [email protected]. Regis University School for Professional Studies Graduate Programs Final Project/Thesis Disclaimer Use of the materials available in the Regis University Thesis Collection (“Collection”) is limited and restricted to those users who agree to comply with the following terms of use. Regis University reserves the right to deny access to the Collection to any person who violates these terms of use or who seeks to or does alter, avoid or supersede the functional conditions, restrictions and limitations of the Collection. The site may be used only for lawful purposes. The user is solely responsible for knowing and adhering to any and all applicable laws, rules, and regulations relating or pertaining to use of the Collection. All content in this Collection is owned by and subject to the exclusive control of Regis University and the authors of the materials. It is available only for research purposes and may not be used in violation of copyright laws or for unlawful purposes. The materials may not be downloaded in whole or in part without permission of the copyright holder or as otherwise authorized in the “fair use” standards of the U.S. copyright laws and regulations. Object Relational Mapping for Enterprise Application Architecture A thesis submitted by Musafare Machisa to Regis University In partial fulfillment of the requirement for the degree of Master of Science In Computer Information Technology Acknowledgements I would like to thank my advisor, Rob Sjodin for devoting his time answering questions, meeting with me and offering guidance on the project. I would also like to thank my wife and kids for their understanding and patience during the time that I worked day, night and weekends to complete this project. MSC696B 4 Abstract This project investigates the patterns/techniques used and issues that are encountered in developing object-oriented (OO) to relational data mappings for enterprise application architectures. The research will identify the different techniques of object relational data mapping as documented by Martin Fowler in "Patterns of Enterprise Application Architecture" (text for MSCS 630). A prototype implementation will be developed using the techniques found in this research. The goal of the project is to analyze and understand Martin Fowler's patterns and other object relational mapping patterns used in industry and to recommend a set of "best practices". MSC696B 5 Table of Contents Acknowledgements ------------------------------------------------------------------------------------------ 3 Abstract-------------------------------------------------------------------------------------------------------- 5 Chapter 1 - Introduction ----------------------------------------------------------------------------------- 8 Background---------------------------------------------------------------------------------------------------------------------------8 Goals and objectives-----------------------------------------------------------------------------------------------------------------9 Issues Encountered ---------------------------------------------------------------------------------------------------------------- 10 Scope and Limitations------------------------------------------------------------------------------------------------------------- 11 Definition of terms----------------------------------------------------------------------------------------------------------------- 11 Summary---------------------------------------------------------------------------------------------------------------------------- 12 Chapter 2 - Review of Literature and Research------------------------------------------------------ 14 Research Methods ----------------------------------------------------------------------------------------------------------------- 16 Literature---------------------------------------------------------------------------------------------------------------------------- 16 Questionnaires---------------------------------------------------------------------------------------------------------------------- 16 Random Sampling ----------------------------------------------------------------------------------------------------------------- 16 Knowns and Unknowns----------------------------------------------------------------------------------------------------------- 17 Contribution that the project will make----------------------------------------------------------------------------------------- 18 Chapter 3 - Explanation of the Patterns --------------------------------------------------------------- 19 Data Source Patterns -------------------------------------------------------------------------------------------------------------- 19 Behavioral Patterns ---------------------------------------------------------------------------------------------------------------- 25 Structural Patterns ----------------------------------------------------------------------------------------------------------------- 27 Summary---------------------------------------------------------------------------------------------------------------------------- 38 Chapter 4 - Methodology---------------------------------------------------------------------------------- 40 Phases ------------------------------------------------------------------------------------------------------------------------------- 40 Work Breakdown Structure ------------------------------------------------------------------------------------------------------ 41 Resource Requirements ----------------------------------------------------------------------------------------------------------- 42 Systems Development Life Cycle Model--------------------------------------------------------------------------------------- 42 Prototype Design------------------------------------------------------------------------------------------------------------------- 43 Prototype Development ----------------------------------------------------------------------------------------------------------- 44 Prototype Testing ------------------------------------------------------------------------------------------------------------------ 46 Summary---------------------------------------------------------------------------------------------------------------------------- 47 Chapter 5 - Project History------------------------------------------------------------------------------- 48 Project Initiation ------------------------------------------------------------------------------------------------------------------- 48 Project Management--------------------------------------------------------------------------------------------------------------- 48 Project Events and Milestones --------------------------------------------------------------------------------------------------- 49 What Went Right ------------------------------------------------------------------------------------------------------------------ 50 What Went Wrong----------------------------------------------------------------------------------------------------------------- 51 Summary---------------------------------------------------------------------------------------------------------------------------- 52 Chapter 6 - Lessons Learned----------------------------------------------------------------------------- 53 Lessons Learned ------------------------------------------------------------------------------------------------------------------- 53 Next Steps -------------------------------------------------------------------------------------------------------------------------- 54 Conclusion & Recommendations------------------------------------------------------------------------------------------------ 55 Summary---------------------------------------------------------------------------------------------------------------------------- 56 Bibliography and References----------------------------------------------------------------------------- 63 MSC696B 6 List of Figures Figure 1 – Application Layers ........................................................................................................................................ 18 Figure 2 – Table Data Gateway ...................................................................................................................................... 19 Figure 3 – Row Data Gateway........................................................................................................................................ 21 Figure 4 – Active Record................................................................................................................................................ 22 Figure 5 – Data Mapper .................................................................................................................................................