iBATIS

iBATIS ist der Name für ein einfaches Daten-Mapping Framework, das unter dem u.g. Link als Open Source sowohl für die Java- als auch .NET-Plattform zur Verfügung steht. Da iBATIS zu den leichtgewichtigen Persistenz-Frameworks gehört, eignet es sich gut für die Persistierung von Plain Old Java Objects (POJO). Mit der Verwendung von iBATIS ist die Möglichkeit gegeben, auf Basis von SQL-Statements zu arbeiten und dennoch die Umwandlung der Objekte zur Abbildung in einer relationalen Datenbank von einem Framework realisieren zu lassen. iBATIS besteht im Wesentlichen aus den beiden Persistenz-Layern SQL-Maps sowie Data-Access-Objects.


iBATIS ist daher kein vollständiger ORM-Mapper wie die ähnlichen Mechanismen von Hibernate, JDO, Oracle TopLink oder früheren EJB CMP. iBATIS kann integriert in andere Frameworks wie zum Beispiel Spring oder auch als eigenständiges Framework genutzt werden. Ebenfalls steht mit RBatis eine für Ruby und Ruby on Rails portierte Version zur Verfügung. Für JavaScript existiert ein von iBATIS beeinflusstes Persistenz-Framework.

Das iBATIS-Mapper-Framework

Das iBATIS Data Mapper Framework vereinfacht die Abbildung von relationalen Datenbanktabellen auf Java-Objekte. Insbesondere ist das iBATIS Framework eine interessante Alternative zur Java Database Connectivity (JDBC). Es implementiert kein OR-Mapping (ORM). Dazu wird der Code der Applikation getrennt von dem Code, der für den Zugriff auf die Datenbank verantwortlich ist. Die SQL-Anfragen werden dabei in einer XML-Datei - den sogenannten SQL-Maps - zusammengefasst und für die Applikation Data-Access-Objects (DAO) bereit gestellt. Die SQL-Anfragen aus der XML-Datei können so im Quelltext referenziert werden. Da dabei die Abbildung von Objekten auf die Tabellen einer relationalen Datenbank durch manuelle Programmierung erfolgt, ordnet man das Persistenz-Framework nicht dem ORM zu. Doch letztendlich ist iBATIS als Open Source Software der Apache Software Foundation einfacher als das ORM-Framework Hibernate, aber dennoch komfortabler als JDBC. Weitere Features von iBATIS sind Caching, Lazy Loading oder auch Join Fetching, die allesamt zur Optimierung der Performance von iBATIS beitragen. Zudem unterstützt iBATIS Transaktionen über die Java Transaction API (JTA).

Vorteile von iBATIS

Ein Vorteil von iBATIS ist neben der einfachen Handhabung die strikte Entkopplung der Applikation von der Datenbank. Das Konzept bewährt sich sicherlich in kleineren Anwendungen. Dabei können nur wirklich benötigte Daten geladen werden, was sich positiv auf die zur Verfügung stehenden Ressourcen auswirken wird. Zudem erhöht die geringe Kopplung die Lesbarkeit des Quell-Codes. Nachteilig ist in diesem Zusammenhang aber auch, dass deutlich mehr Code geschrieben werden muss. Ebenso muss die Entwicklung Datenbank getrieben erfolgen, was wiederum Einfluss auf das Objektmodell hat. Ein zentrales Entscheidungskriterium ist auch, dass beim Einsatz von iBATIS Änderungen am Datenmodell nicht so einfach zu realisieren sind wie zum Beispiel bei Hibernate.

http://ibatis.apache.org/

http://svn.apache.org/repos/asf/ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.pdf

http://ibatis.apache.org/docs/ruby/

Informationen zum Artikel
Deutsch: iBATIS
Englisch:
Veröffentlicht: 08.11.2013
Wörter: 468
Tags: #Java
Links: .NET, Apache, Caching, CMP (cloud management platform), Code