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

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №16 (358) апрель 2021 г.

Дата публикации: 17.04.2021

Статья просмотрена: 203 раза

Библиографическое описание:

Арнаут, Евгения. Сравнение Java-фреймворков для разработки системы управления событиями для крупных организаций / Евгения Арнаут. — Текст : непосредственный // Молодой ученый. — 2021. — № 16 (358). — С. 5-7. — URL: https://moluch.ru/archive/358/80136/ (дата обращения: 18.11.2024).



Одна из основных внутренних проблем любой компании — организация деятельности. Решением может стать информационная система управления событиями, которая оптимизирует и автоматизирует процесс организации деятельности внутри крупной компании. В данной работе рассматриваются Java фреймворки для разработки информационной системы, проводится их сравнительный анализ.

Ключевые слова: Java-фреймворк, web-приложение, Spring, Vaadin, Play.

One of the main internal problems of any company is the organization of its activities. The solution can be an event management information system that optimizes and automates the process of organizing activities within a large company. In this article, Java frameworks for developing an information system are considered, their comparative analysis is carried out.

Keywords: Java framework: web-application, Spring, Vaadin, Play.

В настоящее время каждый день возникают трудности в организации рабочего процесса, планировании задач и менеджмента времени в коммерческих организациях. Для любой коммерческой организации структуризация рабочей деятельности является одним из основополагающих факторов успеха. В случае грамотного тайм-менеджмента компания будет приносить прибыль и будет действовать максимально эффективно в условиях конкурентоспособного рынка.

Появляется необходимость организовать рабочую деятельность таким образом, чтобы каждый из работников компании мог проводить мониторинг событий, происходящих в организации и не пропускать запланированных встреч. Существует необходимость оповещения каждого из рабочих о новых событиях, их месте, дне и времени проведения. Автоматизация таких процессов может существенно повлиять на производительность каждого работника по отдельности и компании в целом. В связи с этим существует необходимость в имплементации системы управления событиями.

Множество компаний покупают готовые информационные системы, которые не всегда соответствуют требованиям, либо имеют сложный для понимания интерфейс, поэтому целесообразно разработать уникальную информационную систему под индивидуальные требования компании. Целью данной работы является сравнить Java фреймворки для реализации информационной системы управления событиями.

Фреймворк — это программная платформа, определяющая структуру программной системы. Кроме того, это программное обеспечение, облегчающее процесс разработки, за счет объединения различных компонентов программного проекта.

Разница между ним и библиотекой состоит в том, что библиотека — это набор подпрограмм, который никак не влияет на архитектуру и не создает дополнительных ограничений, в то время как фреймворк задает поведение по умолчанию на начальном этапе разработки, таким образом диктуя правила построения архитектуры приложения.

Фреймворк включает в себя:

– Библиотеки кода,

– Различное ПО,

– Различные компоненты программного проекта,

– Вспомогательные программы.

Примерами фреймфорков являются:

– Spring,

– Hibernate,

– Log4j,

– ReactJS,

– AngularJS.

Примером интеграции фреймворков является Hibernate, который интегрирован в Spring за счет наличия пакета, в котором содержится информация о подключении Hibernate. Это обеспечивает полное взаимодействие между данными каркасами.

Существует множество преимуществ использования фреймворков. Главным преимуществом по праву считается стандартность структуры приложения. Изначальное понимание структуры кода значительно упрощает задачу девелопера при разработке сложной ИС.

Для анализа были выбраны одни из наиболее популярных Java фреймворков: Spring, Vaadin и Play.

Spring Framework [1] — это фреймворк с открытым исходным кодом для платформы Java. Spring является одним из самых популярных фреймворков у Java-разработчиков. Это обусловлено следующими причинами:

– Большая свобода в проектировании,

– Богатая документация,

– Достаточное количество средств для создания приложений корпоративных масштабов,

– Возможность интеграции с другими каркасами,

– Богатый функционал,

– Применимость в любом Java-приложении,

– Наличие большого количества расширений и усовершенствований для создания приложений на Java Enterprise платформе,

– Хорошая поддержка и постоянные обновления фреймворка.

Spring обеспечивает решение множества задач, с которыми сталкиваются Java-разработчики, которые хотят создать ИС на языке Java. Spring не всецело связан с платформой Java Enterprise, хоть он масштабно интегрирован с ней. Данный фреймворк предлагает модель разработки, которая основывается на лучших стандартах индустрии, и делает ее доступной во многих областях Java. [9]

Spring может быть рассмотрен, как коллекция меньших каркасов или фреймворков во фреймворке. Большая часть всех этих фреймворков могут работать независимо друг от друга, но они наиболее эффективны, если используются все вместе. Эти фреймворки делятся на структурные элементы типовых комплексных приложений:

– IoC (Inversion of Control) контейнер,

– AOP-framework (Включая интеграцию с AspectJ),

– Data Access Framework,

– Transaction Management,

– MVC Framework,

– Batch processing,

– Фреймворк аутентификации и авторизации,

– Testing Framework.

Фреймворк для доступа к данным — одна из составных частей Spring, он обеспечивает приложению взаимодействие как с JDBC, так и с самыми распространенными ORM. Spring обеспечивает менеджмент ресурсов, освобождаю разработчика от рутинной работы вроде ручной обработки данных.

Spring поддердживает:

– Hibernate,

– JDO,

– JPA,

– Apache Cayenne,

– Oracle TopLink,

– Apache OJB,

– iBatis.

Vaadin Framework [2] базируется на Google Web Toolkit, который используется для вывода элементов пользовательского интерфейса и взаимодействия с сервером на стороне клиента. Это добавляет архитектуре фреймворка Vaadin сложности. Тем не менее, знание Google Web Toolkit не является обязательным для разработки на Vaadin.

Данный фреймворк считается одним из самых простых для изучения. Основной его особенностью является поддержка двух различных моделей программирования: серверной и клиентской. В фреймворке Vaadin можно проектировать пользовательский интерфейс в режиме WYSIWIG и писать логику отдельно для каждого компонента. Vaadin — это единственный фреймворк, который позволяет писать пользовательский интерфейс полностью на Java, не используя Java Script, HTML и CSS. Богатая документация также является одним из преимуществ данного фреймворка. В сети Интернет размещено внушительное количество бесплатных пособий, демонстрационных примеров и книг по фреймворку Vaadin. Однако, у данного фреймворка есть и минусы: не самая развитая экосистема и плохая масштабируемость для больших сайтов.

Play Framework [3] базируется на языке JVM. Его можно использовать, зная только Java, однако функционал будет ограничен. Данный фреймворк, также, как и Vaadin, считается прост для изучения. Одно из главных преимуществ Play Framework — развитая экосистема, включающая в себя такие инструменты, как SBT (Simple Building Tool) и Akka (библиотека для реализации реакционного программирования). TypeSafe предоставляет полную документацию по возможностям фреймворка. Кроме того, данный фреймворк подходит для быстрой разработки благодаря своей простоте. Также Play обеспечивает предсказуемое и минимальное потребление ресурсов (процессор, память, потоки) для масштабируемых приложений.

Исходя из краткого обзора вышеперечисленных Java фреймворков, для реализации информационной системы был выбран фреймворк Spring. Выбор объясняется наибольшей универсальностью данного фреймворка. Spring позволяет разработчику выполнять задачи любой сложности — от работы с базой данных до процедур тестирования системы.

Литература:

  1. «Spring Web MVC Documentation» [Электронный ресурс]. URL: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html (дата обращения: 09.05.2020).
  2. «Vaadin Documentation» [Электронный ресурс]. URL: https://vaadin.com/docs/index.html (дата обращения: 09.05.2020).
  3. «Play 2.8.x documentation» [Электронный ресурс]. URL: https://www.playframework.com/documentation/2.8.x/Home (дата обращения: 10.05.2020).
  4. Нимейер П., Леук Д. Программирование на Java // Москва: Эксмо. 2014. С.1216
  5. «Java tutorials» [Электроный ресурс]. URL: https://howtodoinjava.com/hibernate/hibernate-entity-persistence-lifecycle-states (дата обращения: 09.05.2020).
  6. LifeWire [Электроный ресурс]. — URL: https://www.lifewire.com/what-is-a-web- application-3486637 (дата обращения: 09.05.2020).
  7. Гуренко В. В., Бородин А. Ф., Назарков В. А. Сравнительный анализ фреймворков для веб-разработки // В сборнике: Технологии инженерных и информационных систем. 2017. С. 3–14.
  8. Байнов А. М., Кривоногова А. Е., Николаев А. С., Богомолова О. И. Обзор современных фреймворков и инструментов, используемых для разработки web-приложений // В сборнике: Наука без границ. 2020. С.19–23.
  9. Баранов А. С. Достоинства и особенности фреймворка Spring // В сборнике: Молодежная наука в развитии регионов. 2017. С. 117–188.
  10. Сафронов М. А., Зингеренко Ю. А. Проектирование и разработка интернет-приложений с расширенными возможностями. RIA — Design and Development // В сборнике: Актуальный направления развития научной и образовательной деятельности. 2014. С. 239–241.
  11. Гранкин Ю. В., Ковалев Д. В., Ковалевский С. С. Инструменты для разработки программного обеспечения корпоративного уровня // В сборнике: Технические науки: теория и практика. 2014. С. 32–35.
  12. Мухамедзянов Д. Д. JAVA.Серверные приложения // Солон-Р. 2010. С. 336.
  13. Палаш Б. В. Анализ современных веб-фреймворков // Постулат. 2018. № 6 (32). С. 109.
  14. Шабров Н. В., Забуга А. А. Выбор критериев для сравнения Mvc фреймворков // В сборнике: Наука. Технологии. Инновации. Материалы всероссийской научной конференции молодых ученых в 10 частях. 2013. С. 56–58.
  15. M.Nash Java Frameworks and Components // JGlobal Ltd. 2003.
Основные термины (генерируются автоматически): пользовательский интерфейс, SBT, создание приложений, рабочая деятельность, программный проект, информационная система управления, информационная система, богатая документация, WYSIWIG, CSS, ORM, OJB, MVC, JVM, JPA, JDO, JDBC, HTML.


Ключевые слова

Web-приложение, Spring, play, Java-фреймворк, Vaadin

Похожие статьи

Организация многомодульной, слабосвязанной архитектуры приложения при работе с Gradle

В статье описывается подход для реализации многомодульной, слабосвязанной архитектуры в Android приложении, с использование системы сборки Gradle. Рассматриваться проблемы, которые возникают в процессе разработки, и пути их решения.

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Приложение ветеринарной клиники

Данная статья описывает процесс создания приложения ветеринарной клиники, которое призвано решить такие проблемы, как повышение удовлетворенности клиентов, электронное ведение документации, учет пациентов в базе данных клиники и др. Мотивируется высо...

Исследование влияния архитектуры приложений на инфраструктуру предприятия

В статье исследовано влияние архитектуры приложений на инфраструктуру предприятия, приведена классификация прикладных систем с пятью различными архитектурными стилями, отмечены отличительные особенности приложений, обслуживающих бизнес-процессы.

Разработка Web-приложения с применением технологии ASP.NET

В статье рассматриваются возможности применения технологии ASP.NET, позволяющей создавать динамические Web-страницы. Разработанный стартовый проект содержит данные о предприятиях и организациях Карагандинской области, предоставляемых ими вакансиях, и...

Адаптивный дизайн веб-сайта с использованием фронтэнд-фреймворка Bootstrap

В данной статье раскрывается понятие адаптивного дизайна как одного из процессов веб разработки. Даются определения разновидностей фронтэнд фреймворков, используемых в веб разработке, и подробный анализ компонентов фреймворка Bootstrap. Делается выво...

Компоненты ERP-системы вуза и их роль в системе управления

В статье ставится задача определения характеристик и составных частей информационной системы управления ресурсами высшего учебного заведения. Приводится описание типовой структуры хранимых данных в базах данных университета. Определяются направления ...

Интерфейс и веб-сервис для системы средств контроля обучающихся в образовательных учреждениях

В статье рассматриваются вопросы разработки интерфейса для комплекса программно-инструментальных средств мониторинга образовательного процесса в школьном учреждении. В настоящее время для создания интерфейсов современных систем в большинстве случаев ...

Внедрение CRM-систем в управленческие процессы салона красоты

В данной статье рассмотрено внедрение CRM-систем в управленческие процессы салона красоты. Актуальность исследования связана с тем, что сегодня технологии играют ведущую роль в управленческих процессах. Выявлены процессы, которые можно автоматизирова...

Моделирование технических систем в среде Unity 3D

В статье предложена концепция трёхмерного моделирования технических систем и процессов с помощью программных средств разработки компьютерных игр, одним из которых является среда Unity 3D. Применение указной концепции открывает широкие возможности по ...

Похожие статьи

Организация многомодульной, слабосвязанной архитектуры приложения при работе с Gradle

В статье описывается подход для реализации многомодульной, слабосвязанной архитектуры в Android приложении, с использование системы сборки Gradle. Рассматриваться проблемы, которые возникают в процессе разработки, и пути их решения.

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Приложение ветеринарной клиники

Данная статья описывает процесс создания приложения ветеринарной клиники, которое призвано решить такие проблемы, как повышение удовлетворенности клиентов, электронное ведение документации, учет пациентов в базе данных клиники и др. Мотивируется высо...

Исследование влияния архитектуры приложений на инфраструктуру предприятия

В статье исследовано влияние архитектуры приложений на инфраструктуру предприятия, приведена классификация прикладных систем с пятью различными архитектурными стилями, отмечены отличительные особенности приложений, обслуживающих бизнес-процессы.

Разработка Web-приложения с применением технологии ASP.NET

В статье рассматриваются возможности применения технологии ASP.NET, позволяющей создавать динамические Web-страницы. Разработанный стартовый проект содержит данные о предприятиях и организациях Карагандинской области, предоставляемых ими вакансиях, и...

Адаптивный дизайн веб-сайта с использованием фронтэнд-фреймворка Bootstrap

В данной статье раскрывается понятие адаптивного дизайна как одного из процессов веб разработки. Даются определения разновидностей фронтэнд фреймворков, используемых в веб разработке, и подробный анализ компонентов фреймворка Bootstrap. Делается выво...

Компоненты ERP-системы вуза и их роль в системе управления

В статье ставится задача определения характеристик и составных частей информационной системы управления ресурсами высшего учебного заведения. Приводится описание типовой структуры хранимых данных в базах данных университета. Определяются направления ...

Интерфейс и веб-сервис для системы средств контроля обучающихся в образовательных учреждениях

В статье рассматриваются вопросы разработки интерфейса для комплекса программно-инструментальных средств мониторинга образовательного процесса в школьном учреждении. В настоящее время для создания интерфейсов современных систем в большинстве случаев ...

Внедрение CRM-систем в управленческие процессы салона красоты

В данной статье рассмотрено внедрение CRM-систем в управленческие процессы салона красоты. Актуальность исследования связана с тем, что сегодня технологии играют ведущую роль в управленческих процессах. Выявлены процессы, которые можно автоматизирова...

Моделирование технических систем в среде Unity 3D

В статье предложена концепция трёхмерного моделирования технических систем и процессов с помощью программных средств разработки компьютерных игр, одним из которых является среда Unity 3D. Применение указной концепции открывает широкие возможности по ...

Задать вопрос