Font Size: a A A

Research On Persistence Technologies For Distributed Component Platform

Posted on:2008-01-20Degree:DoctorType:Dissertation
Country:ChinaCandidate:J B AnFull Text:PDF
GTID:1118360242999359Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Nowadays, Object-oriented programming languages, relational databases and software component technology are mainstream technologies which act as underpinnings of large-scale information system. Object-oriented programming languages provide basic tools for software developing, relational databases take charge of the persistent storage, efficient query and update of mass data, and software component technology provides platform for the development, deployment and run-time environment of large applications. But there is "impedance mismatch" between object-oriented or component-oriented development model and the relational model using by database systems. This mismatch break the coherence of software system design and developing process, and then increase the cost of development, running and maintenance, as well as compromising the reliability, maintainability and scalability.In order to solving the problem, various solutions of object persistence and object-relational mapping were promoted. And the persistence of object became one of the hot spots in database, object-oriented, programming language design and software engineering research communities. Recently, with the dramatically progress of software component technology and the appliance of advanced theories such as reflection and aspect-oriented software development methodology in programming languages, middleware and distributed component platform, the problem of "impedance mismatch" arouse a new round of notice, and object persistence became a key problem in component development and running platform design.An elegant persistence mechanism for component platform must conform to two requests, that is, orthogonality and transparency, as well as efficient query ability and strong performance. In this thesis, we analyze currently-available object persistence solutions firstly, and then restudy the essence of "impedance mismatch" to gain a more profound cognition of the problems we must resolve, the goal we want to reach, and the difficulties we face with. Based on the analysis, we design a new object-relational mapping framework for distributed component platform, and research on several key problems of decrease the object-relational mismatch. Primary innovative work in this paper can be summarized as following:1. We analysis and summarize the pros and cons of various solutions to the "impedance mismatch" problem and object's persistence. Based on retrospection to the source and essence of the problem, we bring forward an evaluation system, and evaluate main object persistence systems. And then, according to the requirements of persistence technology for distributed component platform, we sum up general principles and design target of persistent framework for component platform.2. Combining with the utilization of reflection technology in programming languages, middleware and distributed component platform, we propose an object persistence framework, StarORM, which is based on reflective mechanism and support run-time object-relational mapping. As also, we discuss the architecture and design principles of StarORM in the view of reflective model.3. In object-relational databases and object-relational mapping systems, navigations between objects referenced by each other dramatically increase round trips of data fetching between client and back-end database server, and as a result seriously degrade the efficiency. Client-side cache can be utilized to relief the problem soundly. We propose an object prefetching technology based on multi-level access patterns.4. Mismatches between synchronization mechanism of programming languages and transaction model in databases is one of the key aspects of mismatches between programming languages and databases, and is also one of the key problems in object-relational mapping system. We discuss this problem thoroughly, and propose a brand new transaction model, which glues the concurrency control mechanism in programming languages, transaction framework of component platform and object persistent system more gracefully and smoothly.5. We design and implement a prototype of StarORM object-relational mapping framework, and evaluate it in the aspect of functions and performance, and then implement the persistent framework of StarCCM component platform based on the StarORM, including the container-managed persistence, self-managed persistence and implementing framework of entity component.To summarize, several key problems in object persistence technology are discussed and good results are achieved. According to the tests and experiments, the object persistence system we proposed has more orthogonality and transparency, and is beneficial to promote the efficiency of object-oriented and component-oriented software development in theory as well as practice.
Keywords/Search Tags:Object Persistence, Impedance Mismatch, Software Component, Reflection, Object-Relational Mapping, Object Prefetching, Transaction Model, CCM
PDF Full Text Request
Related items