Abstract:
Database management Systems (DBMS) are one the most critical component of a software
application. Searching data from DBMS is an enormous part in software performance. Text search
engines are also used for searching, but these engines lack sophisticated DBMS features.
Relational database management systems (RDBMS) are not quite compatible with modern objectoriented languages. To overcome the complexity of data and object-oriented programming,
modern development practices adopted Object Relation Mapping frameworks (ORM). ORM bears
a layer of abstraction between object models and database. This layer automatically bridges objects
in OOP languages to database records, which results in significantly reducing custom mapping
code complexity. ORM has its advantages but on the other side it comes with be some challenges
too. In process of mapping objects and data, ORM keeps the relations between objects intact and
that results in retrieval of multiple objects from multiple tables. When the data is big and have a
hieratical structure, data retrieval or search becomes more complex. Database performance for the
retrieval of data are optimized by adding indexing to each table. Indexing makes search
significantly fast but also makes other processes slow because tables are required to be re-index
every time a record is changed. Hence an optimized solution is required to resolve this problem in
ORM search process. To overcome this problem, this research proposes a java-based framework
that can interact between ORM and search engine. It consumes search engine web APIs to provide
a layer that can convert and search objects to/from XML. It makes search process faster and
support ORM with its object-oriented methodology. Moreover, this framework not only reduces
performance load on databases but also makes search queries simpler when implemented in
development process. The results have been validated by two case studies, which were carried out
by implementing each approach. 1000 similar search queries were processed on each framework
and results shows 30 to 40 % improvement in query time.