Выпуск №10 (Июль)
XL Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.03.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

МНПК "Цифровая трансформация и инновации в экономике, праве, государственном управлении, науке и образовательных процессах", 18-21.03.2019

XXXIX Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.02.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XIII Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 31.01.2019 (Совместная конференция с Финансово-экономическим научным советом)

XXXVIII Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.01.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XXXVІI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2018 (Совместная конференция с Международным научным центром)

XXXVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2018 (Совместная конференция с Международным научным центром)

XIII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXXV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.10.2018 (Совместная конференция с Международным научным центром)

XXXIV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2018 (Совместная конференция с Международным научным центром)

ХXXIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.08.2018 (Совместная конференция с Международным научным центром)

ХXXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 31.07.2018 (Совместная конференция с Международным научным центром)

XII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХXXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2018 (Совместная конференция с Международным научным центром)

ХІ Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2018 (Совместная конференция с Международным научным центром)

XXIХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.04.2018 (Совместная конференция с Международным научным центром)

ХХVIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.03.2018 (Совместная конференция с Международным научным центром)

ІІІ МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 19-22.03.2018 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 28.02.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХХVІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2018 (Совместная конференция с Международным научным центром)

ХХVІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2018 (Совместная конференция с Международным научным центром)

XІІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.12.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2017 (Совместная конференция с Международным научным центром)

ХХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2017 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2017 (Совместная конференция с Финансово-экономическим научным советом)

XІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.09.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2017 (Совместная конференция с Международным научным центром)

X Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.07.2017 (Совместная конференция с Международным научным центром)

ХXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2017 (Совместная конференция с Международным научным центром)

"Тенденции развития национальных экономик: экономическое и правовое измерение" 18-19.05.2017 (Совместная конференция с Финансово-экономическим научным советом и ККИБиП)

ХIX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.04.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.03.2017 (Совместная конференция с Международным научным центром)

МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 20–23.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

VIII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.02.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2017 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.01.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2017 (Совместная конференция с Международным научным центром)

ХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2016 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 28.12.2016 (Совместная конференция с Финансово-экономическим научным советом)

VII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.11.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.10.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.10.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конф. «Научный диспут: вопросы экономики и финансов», 30.09.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.09.2016 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.08.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 29.07.2016 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.07.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.06.2016 (Совместная конференция с Финансово-экономическим научным советом)

ІX Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2016 (Совместная конференция с Международным научным центром)

VI Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.05.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 30.05.2016 (Совместная конференция с Международным научным центром)

V Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 29.04.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.04.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 31.03.2016 (Совместная конференция с Международным научным центром)

ІI Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 30.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 21-24.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 26.02.2016 (Совместная конференция с Финансово-экономическим научным советом)

II Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 20.02.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.12.2015 (Совместная конференция с Международным научным центром)

IV Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.12.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.11.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 29.10.2015 (Совместная конференция с Финансово-экономическим научным советом)

Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 28.10.2015 (Совместная конференция с Международным научным центром)

III Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.09.2015 (Совместная конференция с Финансово-экономическим научным советом)

III Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.08.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІІ Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 30.06.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2015 (Совместная конференция с Международным научным центром)

II Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.05.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы экономики и финансов, 29.04.2015 (Совместная конференция с Финансово-экономическим научным советом)

Научный диспут: вопросы экономики и финансов, 31.03.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы современной науки, 27.03.2015 (Совместная конференция с Международным научным центром)

Глобальные проблемы экономики и финансов, 27.02.2015 (Совместная конференция с финансово-экономическим научным советом)



Бугайов О. С. Можливості фреймворку Spring для побудови корпоративних систем та його інтеграція з іншими фреймворками // Міжнародний науковий журнал "Інтернаука". — 2017. — №10.


Отрасль науки: Технические науки
Скачать статью (pdf)

Технічні науки

УДК 004.4

Бугайов Олександр Сергійович

студент

Національного технічного університету України

«Київський політехнічний інститут імені Ігоря Сікорського»

Бугаев Александр Сергеевич

студент

Национального технического университета Украины

«Киевский политехнический институт имени Игоря Сикорского»

Buhaiov Oleksandr

student of the

National technical university of Ukraine

«Igor Sikorsky Kyiv Polytechnic Institute»

МОЖЛИВОСТІ ФРЕЙМВОРКУ SPRING ДЛЯ ПОБУДОВИ КОРПОРАТИВНИХ СИСТЕМ ТА ЙОГО ІНТЕГРАЦІЯ З ІНШИМИ ФРЕЙМВОРКАМИ

ВОЗМОЖНОСТИ ФРЕЙМВОРКА SPRING ДЛЯ ПОСТРОЕНИЯ КОРПОРАТИВНЫХ СИСТЕМ И ЕГО ИНТЕГРАЦИЯ С ДРУГИМИ ФРЕЙМВОРКАМИ

SPRING FRAMEWORK CAPABILITIES OF BUILDING ENTERPISE SYSTEMS AND ITS INTEGRATION WITH OTHER FRAMEWORKS

Анотація. Досліджені архітектура та можливості Java-фреймворку Spring в контексті побудови складних корпоративних систем, розглянуто можливості інтеграції з іншими популярними фреймворками.

Ключові слова: корпоративні системи, Java, Spring, фреймворк.

Аннотация. Исследованы архитектура и возможности Java-фреймворка Spring в контексте построения сложных корпоративных систем, рассмотрены возможности интеграции с другими популярными фреймворками.

Ключевые слова: корпоративные системы, Java, Spring, фреймворк.

Summary. Architecture and capabilities of Java Spring framework were investigated among with integration possibility with other frameworks.

Key words: enterprise systems, Java, Spring, framework.

Введення. З розвитком мережевих технологій та відповідним швидким розвитком електронної комерції (e-commerce) онлайн-покупки стають для клієнтів одним з головних напрямків. Як наслідок, все більше підприємств впроваджують різноманітні онлайн-магазини для реалізації своєї продукції. В основі багатьох таких систем лежить клієнт-серверна архітектура, що поділяє систему на два головних компонента: серверну частину та клієнтську. Серверна частина відповідає за обробку, збереження та зміну певних даних, що зберігаються системою, відповідно до запитів, що надсилаються клієнтською частиною. У мережевій моделі клієнтом частіше за все виступає веб-сторінка, а взаємодія з сервером відбувається засобами HTTP(S) протоколу.

З розвитком технологій розробки з’являються нові засоби для вдосконалення та спрощення процесу створення програмних систем. Фреймоворки є одним з видів таких засобів. Їх можна розглядати як набір класів та/або функцій, що допомагають більш ефективно розробляти застосунки, не розробляючи кожного разу одні й ті самі компоненти. Spring – фреймворк, що полегшує розробку Java застосунків. При поєднанні зі стандартами Java EE, Spring дозволяє будувати багаторівневі системи, що є більш гнучкими для модифікації та розширення.

Фреймворк Spring

Архітектура. Spring надає практично усі необхідні для розробки засоби на всіх рівнях застосунку. Він є модульним, таким чином немає необхідності включати в проект зайві компоненти, які не потрібні при розробці. Усі можливості Spring організовані у 20 модулях. Архітектура фреймворку зображена на рис. 1 [1].

Рис. 1 – Ахітектура фреймворку Spring

Spring Core: це основна частина Spring яка складається з наступних модулів - Core, Beans, Context і Expression Language. Короткий опис виглядає наступним чином:

  • Core: Це фундаментальний модуль структури з IOC та ін'єкцією залежностей з паттерном проектування одинак.
  • Bean: Цей модуль - реалізація фабричного паттерну через BeanFactory. BeanFactory застосовує IOC, щоб відокремити конфігурацію програми та специфікацію залежностей від фактичної логіки програми.
  • Context: він (ApplicationContext) розширює концепцію BeanFactory, додаючи підтримку для інтернаціоналізації, подій життєвого циклу застосунка та валідацію. Також включає в себе такі сервіси як E-mail, JNDI-доступ, EJB-інтеграція, Remoting та Scheduling.
  • Expression Language: Spring3.0 представляє нову мову вираження - Spring ExpressionLanguage (SPEL) Це потужна мова вираження на основі Java Server Pages (JSP) Expression Language(EL). Вона використовується для написання запитів до bean`ів для доступу та управлінням їх властивостями.

Data Access : Це основна частина рівня доступу до бази даних і складається з наступних модулів - JDBC, ORM, OXM, JMS та модуль управління транзакціями:

  • JDBC: модулі JDBC забезпечують абстракцію від безпосереднього використання JDBC, що дозволяє зменшити складність його традиційного використання.
  • ОRM: модуль ORM забезпечує узгодженість/переносимість коду незалежно від обраної технології доступу до даних, заснованих на концепції об'єктно-орієнтованого відображення, таких як Hibernate та інші.
  • OXM: OXM представляє Spring3.0 як окремий модуль. Він використовується для перетворення об'єкта в XML формат і навпаки. Spring OXM надає уніфікований API для доступу до будь-якого з OXM (Castor, XStream, JiBX, Java API для XML і XmlBeans) фреймворків.
  • JMS: модуль JMS забезпечує зменшення кількості рядків коду для надсилання та отримання повідомлень. API піклується про роботу JMS та обробку виключень.
  • Transaction: модуль транзакцій підтримує програмне та декларативне керування транзакціями для POJO класів.

Web: Це основна частина веб-рівня і складається з наступних модулів - Web, Web-Servlet, Web-Struts і WebPortlet.

  • Web: Цей модуль надає основні базові веб-орієнтовані функції інтеграції, такі як багато-частинне завантаження файлів та ініціалізація контейнера IoC за допомогою сервлет-слухачів та веб-орієнтованого контексту застосунка.
  • Web-Servlet: Модуль Web-Servlet містить MVC-реалізацію  для веб-застосунків. Він забезпечує всі інші функції MVC, включаючи теги інтерфейсу користувача та перевірку даних.
  • Web-Struts: модуль Web-Struts містить допоміжні класи для інтеграції класичного веб-рівня Struts в застосунку на Spring. Містить класи для інтеграції Struts1.x та Struts2.
  • Web-Portlet: Модуль Web-Portlet забезпечує реалізацію MVC для використання в портлетному середовищі та є аналогічним за функціональністю до модуля Web-Servlet.

Іншими ключовими компонентами є:

  • AOP: містить API для аспектно-орієнтованих програмних реалізацій на різних рівнях. Надається можливість ввести новий функціонал в існуючий код, не змінюючи його.
  • Aspect: Окремий модуль Aspects забезпечує інтеграцію з AspectJ.
  • Test: модуль інструментальних засобів надає підтримку класним інструментам та реалізаціям класу навантажувачів для використання на деяких серверах додатків.

Spring – безкоштовний фреймворк з відкритим програмним кодом, що пропонує програмістам багато функцій. Одними з найголовніших особливостей є Inversion of Control (IoC), аспектно-орієнтоване програмування та Spring MVC, що являє собою окремий фреймворк, який може бути використаний разом з іншими фреймворками. За допомогою аспектно-орієнтованого програмування різноманітні проблеми можуть бути легко розділеними. У Spring аспекти поєднуються разом за допомогою файлу spring.xml, а їх кодування є добре розділеним.

Enterprise-система з використанням Spring та інших фреймворків. Spring Framework при побудові enterprise-застосунків може використовуватись разом з багатьма іншими фреймворками такими як Struts та Hibernate.

Фреймворк Struts. Даний фреймворк розділяє систему на три рівня: рівень представлення, моделі та контролера, що відповідають архітектурному патерну MVC. Модель складається з компонентів JavaBeans чи EJB; представлення реалізується у вигляді JSP-файлів; контроллер реалізується компонентом ActionServlet. Типова архітектура застосунку з використанням Struts зображена на рис. 2 [2].

Рис. 2 – Типова архітектура Struts

Фреймворк Hibernate. Даний фреймворк зменшує складність та трудомісткість маніпуляцій з даними в SQL базах даних. Він ефективно відображає класи Java на таблиці у БД.

Інтеграція Struts, Spring та Hibernate. Struts, Spring та Hibernate можуть бути об'єднані для ефективного застосування в enterprise-застосунках (рис.4). Структура Struts з ефективною MVC може допомогти у розробці рівня презентації. Фреймворк Spring може спростити побудову бізнес-логіки. Фркеймворк Hibernate може допомогти у роботі з даними, що знаходяться в системі, а також у збереженні та отриманні даних, що знаходяться в БД.

Рис. 3 – Принцип взаємодії Hibernate, Struts, Spring

Висновки. Spring – потужний фреймворк для побудови enterprise-застосунків. Завдяки добре продуманій архітектурі його можна використовувати разом з багатьма іншими фреймворками, такими як Struts чи Hibernate, що допомагає зменшити зв’язність та більш чітко відокремити компоненти один від одного. Також слід відмітити легкість даних компонентів, що спрощує їх використання. Дозволяється використовувати прості сервери застосунків, наприклад, Tomcat. Враховуючи описаний сценарій, в якому присутня структура struts2, що може бути використана в якості веб-представлення, Spring можна ефективно використовувати для побудови корпоративної програми. Фреймворк Spring може бути легко інтегрованим з будь-яким ORM-інструментом, таким як Hibernate, за допомогою XML.

Література

  1. Spring Framework - Architecture [Електронний ресурс] / TutorialsPoint – Режим доступу до ресурсу: https://www.tutorialspoint.com/spring/spring_architecture.htm.
  2. Muthuraman M. Struts MVC Architecture Tutorial [Електронний ресурс] / Meyyappan Muthuraman / DZone. – 2012. – Режим доступу до ресурсу: https://dzone.com/tutorials/java/struts/struts-tutorial/struts-mvc-architecture-tutorial.html.
  3. Bauer C. Java Persistence with Hibernate, Second Edition / C. Bauer, G. Gavin, G. Gregory.. – 608 с. – (Manning).