Tytuł artykułu
Treść / Zawartość
Pełne teksty:
Identyfikatory
Warianty tytułu
Comparing the performance of the object-relational mapping programming frameworks available in Java
Języki publikacji
Abstrakty
Artykuł poświęcono wykonaniu analizy porównawczej wybranych narzędzi mapowania obiektowo-relacyjnego. Jego celem jest pomoc architektomoprogramowania w określeniu, która z analizowanych bibliotek będzie optymalnym wyborem do użycia w określonym projekcie.Celem artykułu jest ocena bibliotek Hibernate ORM, EclipseLink, Apache OpenJPAoraz DataNucleus pod kątem teoretycznym oraz praktycznym. Każde z badanych narzędzi opisane zostało według kryteriów pozwalających na wyodrębnienie najważniejszych cech mających wpływ na komunikację z relacyjnymi bazami danych. Cechy te następnie zostałyporównane na poziomie praktycznym poprzez zbadanie zachowania aplikacji testowych. Pod względem wydajnościowym, najlepsza okazała się biblioteka Apache OpenJPA, jednak pod względem konfiguracji i dostępności znacznie odstępuje od innych bibliotek. Spowodowane było tonieintuicyjną konfiguracją oraz ubogą dokumentacją technologii. Pod tym względem zdecydowanie górowała biblioteka Hibernate dziękipełnej kompatybilności ze szkieletem programistycznym Spring, intuicyjnej konfiguracji oraz bogatej dokumentacji i wsparcia przez obszerną społeczność korzystających z niej programistów.
The paper concerns a performance evaluation of selected object-relational mapping tools. This work is intended to assist software architects in determining which of the analyzed libraries will be the optimal choice for use in a specific project. The work includes the comparison of Hibernate ORM, EclipseLink, Apache OpenJPA and DataNucleus libraries from the theoretical and practical point of view. Each of the examined tools has been described according to criteria allowing to distinguish the most important features influencing communication with relational databases. These features will then be compared on a practical level by examining the behavior of the test applications. In terms of performance, the Apache OpenJPA library turned out to be the best, but in terms of configuration and availability it significantly differs from other libraries. This was caused by an unintuitive configuration and poor documentation of the technology. In this respect, the Hibernate library definitely dominated thanks to full compatibility with the Spring programming framework, intuitive configuration as well as rich documentation and support by the extensive community of programmers using it.
Czasopismo
Rocznik
Tom
Strony
59--65
Opis fizyczny
Bibliogr. 12 poz., rys., tab.
Twórcy
autor
- Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
autor
- Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
autor
- Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
Bibliografia
- [1] J. M. Barnes, Object-relational mapping as a persistence mechanism for object-oriented applications, Macalester College, 2007.
- [2] S. N. Bhatti, Z. H. Abro, F. Rufabro, Performance evaluation of java based object relational mapping tool, Mehran University Research Journal of Engineering and Technology, 32(2) (2013) 159-166.
- [3] P. Błoch, M. Wojciechowski, Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java. XIII Konferencja PLOUG: Systemy informatyczne. Projektowanie, implementowanie, eksploatowanie, Zakopane, 2007.
- [4] B. B. Correa, Y. Wang, E. Zimanyi, Object-relational mapping tools and Hibernate, Universite libre de Bruxelles, 2017.
- [5] N. Dhingra, Analysis of ORM based JPA Implementations, University of Ottawa, 2017.
- [6] C. Bauer, K. Gavin, G. Gary, Java Persistence. Programowanie aplikacji bazodanowych w Hibernate. Wydanie II, Helion, 2016.
- [7] Dokumentacja techniczna biblioteki ORM Eclipselink https://www.eclipse.org/eclipselink/documentation, [22.10.2021].
- [8] Dokumentacja techniczna biblioteki ORM Apache OpenJPA, http://openjpa.apache.org/documentation.html, [22.10.2021].
- [9] Dokumentacja techniczna biblioteki ORM DataNucleus, https://www.datanucleus.org/products/accessplatform_6_0/, [22.10.2021]
- [10] K. Appigatla, MySQL 8 Cookbook, Packt Publishing, 2018.
- [11] J. Bloch, Java. Efektywne programowanie. Wydanie III, Helion, 2018.
- [12] S. Raemaekers, A. Van Deursen, J. Visser, The maven repository dataset of metrics, changes, and dependencies, 10th Working Conference on Mining Software Repositories (2013) 221-224.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-c2834a3c-e8c7-4294-9a5f-08de7dac2447