Можливості фреймворку Spring для побудови корпоративних систем та його інтеграція з іншими фреймворками
Поняття фреймворків, їх призначення у вдосконаленні і спрощенні процесу створення програмних систем. Аналіз архітектури і можливостей використання Java-фреймворку Spring з іншими популярними фреймворками в контексті побудови складних корпоративних систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 07.04.2018 |
Размер файла | 307,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
УДК 004.4
Можливості фреймворку Spring для побудови корпоративних систем та його інтеграція з іншими фреймворками
Бугайов Олександр Сергійович,
студент Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського»
Анотація
Досліджені архітектура та можливості Java-фреймворку Spring в контексті побудови складних корпоративних систем, розглянуто можливості інтеграції з іншими популярними фреймворками.
Ключові слова: корпоративні системи, Java, Spring, фреймворк.
Аннотация
Возможности фреймворка spring для построения корпоративных систем и его интеграция другими фреймворками.
Бугаев Александр Сергеевич, студент Национального технического университета Украины «Киевский политехнический институт имени Игоря Сикорского».
Исследованы архитектура и возможности Java-фреймворка Spring в контексте построения сложных корпоративных систем, рассмотрены возможности интеграции с другими популярными фреймворками.
Ключевые слова: корпоративные системы, Java, Spring, фреймворк.
Summary
Spring framework capabilities of building enterpise systems and its integration with other frameworks.
Buhaiov Oleksandr, student of the National technical university of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute».
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].
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, що дозволяє зменшити складність його традиційного використання.
• ORM: модуль ORM забезпечує узгодженість/пере- носимість коду незалежно від обраної технології доступу до даних, заснованих на концепції об'єктно-орієнтованого відображення, таких як Hibernate та інші.
• OXM: OXM представляє Spring3.0 як окремий модуль. Він використовується для перетворення об'єкта в XML формат і навпаки. Spring OXM надає уніфікований API для доступу до будь-якого з OXM (Castor, XStream, JiBX, Java API для XML і XmlBeans) фреймворків.
JMS: модуль JMS забезпечує зменшення кількості рядків коду для надсилання та отримання повідомлень. API піклується про роботу JMS та обробку виключень.
Рис. 1. Ахітектура фреймворку Spring
* Transaction: модуль транзакцій підтримує програмне та декларативне керування транзакціями для POJO класів.
Web: Це основна частина веб-рівня і складається з наступних модулів - Web, Web-Servlet, Web-Struts і WebPortlet.
* Web: Цей модуль надає основні базові веб-орієнто- вані функції інтеграції, такі як багато-частинне завантаження файлів та ініціалізація контейнера IoC за допомогою сервлет-слухачів та веб-орієнтованого контексту застосунка.
* Web-Servlet: Модуль Web-Servlet містить MVC-ре- алізацію для веб-застосунків. Він забезпечує всі інші функції MVC, включаючи теги інтерфейсу користувача та перевірку даних.
* Web-Struts: модуль Web-Struts містить допоміжні класи для інтеграції класичного веб-рівня Struts в застосунку на Spring. Містить класи для інтеграції Strutsl.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 може допомогти у роботі з даними, що знаходяться в системі, а також у збереженні та отриманні даних, що знаходяться в БД.
Висновки
Spring - потужний фреймворк для побудови enterprise-застосунків. Завдяки добре продуманій архітектурі його можна використовувати разом з багатьма іншими фреймворками, такими як Struts чи Hibernate, що допомагає зменшити зв'язність та більш чітко відокремити компоненти один від одного. Також слід відмітити легкість даних компонентів, що спрощує їх використання. Дозволяється використовувати прості сервери застосунків, наприклад, Tomcat.
Враховуючи описаний сценарій, в якому присутня структура struts2, що може бути використана в якості веб-представлення, Spring можна ефективно використовувати для побудови корпоративної програми. Фреймворк Spring може бути легко інтегрованим з будь-яким ORM-інструментом, таким як Hibernate, за допомогою XML.
фреймворк програмний корпоративний java
Література
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).
Размещено на Allbest.ru
Подобные документы
Переваги і проблеми дистанційної освіти на прикладі корпорації Microsoft. Створення власного web-додатку. Розробка технічних умов програмної системи, модуля пошуку та бронювання авіаквитків. Інтеграція модуля з сайтом. Використання javascript фреймворків.
курсовая работа [1,0 M], добавлен 31.08.2014Особливості створення і призначення сучасних економічних інформаційних систем. Характеристика корпоративних інформаційних систем: системи R/3, системи управління бізнесом і фінансами SCALA 5та системи управління ресурсами підприємства ORACLE APPLICATION.
курсовая работа [42,1 K], добавлен 19.05.2010Стан і перспективи розвитку інформаційних систем керування бізнесом. Архітектура корпоративних інформаційний систем (КІС). Інструментальні засоби їх розробки і підтримки. Методи створення автоматизованих інформаційних систем. Система управління ЕRP.
лекция [1,5 M], добавлен 23.03.2010Основні положення системного аналізу, його використання. Характеристика та основні ознаки складних систем. Використання теорії графів для структурного аналізу. Графова потокова модель технологічного комплексу. Виділення внутрішніх комплексів в ТК.
курсовая работа [88,3 K], добавлен 01.06.2010Загальна класифікація інформаційних систем управління підприємствами. Комплекс програмних засобів "Галактика" та його чотири функціональні контури. Схема опрацювання первинних господарських документів. Удосконалення структурної побудови бухгалтерії.
реферат [1,2 M], добавлен 27.07.2009Моделювання в області системотехніки та системного аналізу. Імітація випадкових величин, використання систем масового обслуговування, дискретних і дискретно-безперервних марковських процесів, імовірнісних автоматів для моделювання складних систем.
методичка [753,5 K], добавлен 24.04.2011Призначення і основні характеристики систем автоматизації конструкторської документації. Основні методи створення графічних зображень і геометричних об’єктів. Методи побудови та візуалізація тривимірних об’єктів. Опис інтерфейсу користувача системи.
дипломная работа [1,7 M], добавлен 26.10.2012Класифікація комп’ютерних інформаційних систем за різними ознаками, їх призначення та використання в діяльності підприємства. Аналіз наявних на ринку програмних продуктів автоматизації управлінської діяльності та визначення потреби в них установи.
контрольная работа [615,5 K], добавлен 06.07.2009Засоби візуального моделювання об'єктно-орієнтованих інформаційних систем. Принципи прикладного системного аналізу. Принцип ієрархічної побудови моделей складних систем. Основні вимоги до системи. Розробка моделі програмної системи засобами UML.
курсовая работа [546,6 K], добавлен 28.02.2012Практична розробка інформаційної мережі з використанням термінального доступу до сервера з подальшим моніторингом його завантаження. Використання програмних додатків для моніторингу. Концептуально-теоретичні основи побудови систем відеоконференцзв'язку.
дипломная работа [2,3 M], добавлен 31.12.2013