Кіріспе
Тұрақтылық фреймворкі iBATIS — Java, .NET және Ruby on Rails жүйелерінде SQL деректер базасы мен объектілер арасындағы байланысты автоматтандыратын тұрақтылық фреймворкі. Java-да бұл объектілер POJO (Plain Old Java Objects) деп аталады. Байланыстар SQL операторларын XML конфигурациялық файлдарына жинақтау арқылы қолданба логикасынан бөлінеді. Нәтижесінде, JDBC және ODBC сияқты төменгі деңгейдегі API-лерді пайдаланып қатынастық деректер базасына қол жеткізу үшін әзірлеушіге қажетті код мөлшері айтарлықтай азаяды. Hibernate сияқты басқа тұрақтылық фреймворктері пайдаланушыға объектілер моделін (мысалы, Java-да) құруға және қатынастық деректер базасын автоматты түрде жасауға және күтіп ұстауға мүмкіндік береді. iBATIS кері тәсілді қолданады: әзірлеуші SQL деректер базасынан бастайды, ал iBATIS Java объектілерін жасауды автоматтандырады. Екі тәсілдің де артықшылықтары бар, және iBATIS әзірлеуші SQL деректер базасының схемасын толық бақылауға ие болмағанда жақсы таңдау болып табылады. Мысалы, қолданба басқа бағдарламалық қамтамасы қолданатын қолданыстағы SQL деректер базасына немесе схемасы қолданба жасаушының толық бақылауында емес жаңа деректер базасына қол жеткізуі қажет болуы мүмкін, мысалы, мамандандырылған деректер базасын жобалау тобы схеманы жасап, оны жоғары өнімділік үшін мұқият оңтайландырған жағдайда. 2010 жылдың 21 мамырында әзірлеушілер тобы кодты бөліп, MyBatis деп аталатын жаңа жоба құрып, онда жаңа нұсқаларды шығарды. Осының салдарынан Apache iBATIS жобасы белсенді болмай қалды және 2010 жылдың маусым айында Apache Attic-ке көшірілді.
iBATIS is a persistence framework which automates the mapping between SQL databases and objects in Java, NET, and Ruby on Rails. In Java, the objects are POJOs (Plain Old Java Objects). The mappings are decoupled from the application logic by packaging the SQL statements in XML configuration files. The result is a significant reduction in the amount of code that a developer needs to access a relational database using lower level APIs like JDBC and ODBC. Other persistence frameworks such as Hibernate allow the creation of an object model (in Java, say) by the user, and create and maintain the relational database automatically. iBATIS takes the reverse approach: the developer starts with a SQL database and iBATIS automates the creation of the Java objects. Both approaches have advantages, and iBATIS is a good choice when the developer does not have full control over the SQL database schema. For example, an application may need to access an existing SQL database used by other software, or access a new database whose schema is not fully under the application developer's control, such as when a specialized database design team has created the schema and carefully optimized it for high performance. On May 21, 2010 the development team forked the code creating a new project called MyBatis and making new releases there. As a consequence the Apache iBATIS project became inactive and was moved to the Apache Attic in June 2010.
Қолжетімділік
iBATIS негізін қалаушы Java 5-ке наразылығын ашық білдірді, бірақ Java үшін iBATIS-тің жаңа нұсқаларын шығаруын жалғастырды. 2.3.1 және 2.3.2 нұсқалары 2008 жылдың сәуір айында, ал 2.3.3 нұсқасы шілде айында жарық көрді. Аталған құрал қазіргі таңда Java, .NET және Ruby (RBatis) нұсқаларында қолжетімді. jBati жобасы – iBATIS-тен шабыттанған JavaScript ORM. Apache iBator құралы осыған тікелей байланысты: ол деректер қорына қосылып, оның метадеректерін пайдаланып iBATIS карталау файлдарын және Java сыныптарын жасайды.
Тарих
2001 жылы Клинтон Бегин iBATIS деп аталатын жобаны бастады. Бастапқыда криптографиялық бағдарламалық қамтамасыз етуді әзірлеуге баса назар аударылды. iBATIS шығарған алғашқы өнім Secrets болды, ол PGP сияқты жеке деректерді шифрлау және қол қою құралы. Secrets толықтай Java тілінде жазылған және ашық кодты лицензиямен шығарылды. Сол жылы Microsoft өзінің соңғы NET 1.0 фреймворкі Java-дан өнімдірек екенін көрсету үшін мақала жариялады. Осы мақсатта Microsoft Sun-ның веб-жобасы "Pet Store" өзінің нұсқасын құрды, бұл Sun Java-ның ең жақсы тәжірибесін көрсетуге арналған веб-жоба (Java BluePrints) еді. Microsoft NET Java-дан 10 есе жылдам және 4 есе өнімдірек деп мәлімдеді. 2002 жылы Клинтон Java-ның NET-тен өнімдірек бола алатынын және сонымен қатар Microsoft-тың іске асыруында қолданылғаннан гөрі жақсы архитектураға қол жеткізе алатынын көрсету үшін JPetStore деп аталатын қосымшаны жасады. JPetStore 1.0 үлкен әсер етті және Клинтон қолданған деректер қоры қауымдастығының назарын аударды. Көп ұзамай iBATIS Database Layer 1.0 жобасы басталды, ол екі компоненттен тұрады: iBATIS DAO және iBATIS SQL Maps. iBATIS 2.0 2004 жылдың маусым айында шығарылды. Бұл бұрынғы мүмкіндіктерін сақтап, толыққанды қайта жасалған жоба болды. Клинтон iBATIS атауын және кодын Apache Software Foundation-ға сыйға тартты және жоба ASF-де алты жыл бойы болды. Ақырында iBATIS DAO қолданылмай қалды, себебі Spring Framework сияқты DAO-ның жақсы шешімдері болды. 2010 жылдың 19 мамырында iBATIS 3.0 жарияланды және бір мезгілде әзірлеу тобы Google Code платформасында шеңберді дамытуды жалғастыруға шешім қабылдады, бұл MyBatis деп аталатын жаңа жоба аясында іске асырылды. 2010 жылдың 16 маусымында Apache iBATIS-тің қолданудан шығарылғанын және Apache Attic-ке көшірілгенін жариялады.