АВТОМАТИЧНА ГЕНЕРАЦІЯ КОДУ ДЛЯ ORM-СИСТЕМИ ACTIVEJDBC НА БАЗІ ТЕХНОЛОГІЇ ANOTATION PROCESSING
DOI:
https://doi.org/10.32782/IT/2024-2-12Ключові слова:
ActiveJDBC, ORM, генерація коду, Java, Dynamic Proxy, Annotation Processor, стратегій маніпуляцій з базами данихАнотація
Перспективний розвиток галузі розробки програмного забезпечення призвів до появи різноманітних шаблонів та стратегій маніпуляцій з базами даних та, відповідно інструментів, що їх реалізують. Одним з шаблонів проектування, що набуває все більшої популярності є Active Record. Цей шаблон дозволяє інкапсулювати всю логіку роботи з таблицею бази даних у сам клас моделі, завдяки чому зникає необхідність створювати додаткові сервісні класи, які будуть відповідати за CRUD операції. Однією з реалізацій цього підходу є ORM-система ActiveJDBC. ActiveJDBC розвивається як відкрите програмне забезпечення і є популярним варіантом для розробки додатків на Java, які взаємодіють з реляційними базами даних. Метою роботи є представлення процесу покращення користувацького досвіду при роботі з ORM-системою ActiveJDBC. Покращення достягається за рахунок автоматичної генерації коду, що дозволяє маніпулювати з ActiveJDBC об’єктами як з POJO. Методологія рішення представленого завдання складається в розробленні обробника анотацій, що дозволяє автоматично на етапі компіляції згенерувати код, що буде взаємодіяти з об’єктами ORM системи ActiveJDBC. Наукова новизна отриманих результатів полягає у тому, що вперше було розроблено програмне забезпечення, яке полегшує взаємодію з ActiveJDBC компонентами, та дозволяє додавати функціонал, який не був закладений у ActiveJDBC його розробником. Висновки. Досліджені підходи генерації програмного коду у мові програмування Java та розроблено обробник анотацій, що дозволяє автоматично на етапі компіляції згенерувати код, який буде взаємодіяти з об’єктами ORM системи ActiveJDBC. Розроблений інструмент дозволяє: вивільнити робочий час програміста від написання шаблонного коду, та зосередитись на вирішенні поставлених задач, а не на обслуговуванні інструмента взаємодії з базою даних; зменшити обсяг коду, що повинен пройти валідацію при проходженні процесу Code Review; підвищити читабельність отриманого коду, завдяки використанню геттерів та сеттерів, назви яких відповідають специфікації JavaBeans, та використанням патерна Будівельник.
Посилання
ActiveJDBC. URL: https://javalite.io/activejdbc (дата звернення: 28.10.2023).
JavaBeans(TM) Specification 1.01 Final Release. URL: https://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/ (дата звернення: 28.10.2023).
Spring dominates the Java ecosystem with 60% using it for their main applications. URL: https://snyk.io/blog/spring-dominates-the-java-ecosystem- with-60-using-it-for-their-main-applications/ (дата звернення: 28.10.2023).
All About Annotations and Annotation Processors. URL: https://medium.com/swlh/all-about-annotationsand-annotation-processors-4af47159f29d (дата звернення: 28.10.2023).