Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LIX Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 27 ноября 2017 г.)

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

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Кононенко В.К. ОСОБЕННОСТИ РАЗРАБОТКИ КОРПОРАТИВНОГО ПРИЛОЖЕНИЯ С ПОМОЩЬЮ JAVA EE 7, ИСПОЛЬЗУЯ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LIX междунар. студ. науч.-практ. конф. № 11(58). URL: https://sibac.info/archive/technic/11(58).pdf (дата обращения: 19.04.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 14 голосов
Дипломы участников
У данной статьи нет
дипломов

ОСОБЕННОСТИ РАЗРАБОТКИ КОРПОРАТИВНОГО ПРИЛОЖЕНИЯ С ПОМОЩЬЮ JAVA EE 7, ИСПОЛЬЗУЯ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Кононенко Виталий Константинович

студент, факультета прикладной космонавтики и фотограмметрии, Московский государственный университет геодезии и картографии (МИИГАиК)

РФ, г. Москва

Лапчинская Маргарита Петровна

научный руководитель,

канд. техн. наук, доцент, доцент Московского государственного университета геодезии и картографии (МИИГАиК)

РФ, г.Москва

Компьютерная индустрия развивается с каждым годом и IT технологии никогда не стоят на месте. С 90-х годов прошло уже много лет и советский “железный занавес” пал. Высокие технологии перестали быть частью НИИ и стали доступны рядовым гражданам, что сделало возможным увеличение числа разработчиков на территории Российской Федерации. Стала возможна массовая компьютеризация предприятий, наиболее популярным видом приложений стали т.н. CRUD – приложения (от англ. Create, Read, Update, Delete – создание, чтение, обновление, удаление), реализующие основные операции по работе с базами данных. Однако, зачастую лицензионные копии имеют высокую цену и у начинающей фирмы возникает проблема с авторскими правами. Выходом из подобной ситуации может служить т.н. “Свободное ПО”.

Свободное программное обеспечение – это программное обеспечение, пользователи которого имеют права («свободы») на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение (совершенствование), а также распространение копий и результатов изменения.» [1]. Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий.

Общеизвестно, что объектно-ориентированный язык разработки программного обеспечения Java, созданный в 1995 году по концепции “Написано однажды – работает везде”, приобрел популярность благодаря следующим преимуществам [2, 4, 5]:

  • кроссплатформенность – Java интерпретируемый язык программирования и запускается на любом;
  • обилие уже написанного ПО – переход на другой язык вызовет проблемы совместимости, что потребует переписать много приложений;
  • спецификация Enterprise Edition.

Появление в 1999 спецификации Enterprise Edition позволило программистам использовать язык JAVA для написания бизнес-приложений, а его концепция упростила разработку ПО для различных серверных машин.

Основные составляющие актуальной на данный момент спецификации Enterprise версии включают:

  • EJB – многофункциональная спецификация, с помощью которой создается графический интерфейс пользователя и интерфейс, его обслуживающий (т.н. beans), а также компоненты, которые присутствовали для работы с базой данных до вынесения их в JPA;
  • JPA – компонент для работы с реляционной базой данных, использующий понятие “сущности” для взаимодействия с БД, а также позволяющий создавать динамические запросы (фильтры, сортировка), для отображения содержимого базы данных в необходимом пользователю виде.
  • сервлет – набор компонентов для обслуживания HTTP запросов;
  • JSF – составная часть EJB, позволяющая ускорить разработку графического интерфейса;
  • JAX-WS – компонент для создания веб-сервисов (программных функций, вызываемых по запросу пользователя);
  • JNDI – компонент для организации структуры типа “каталог”, позволяющий пользователям находить и просматривать объекты по их именам;
  • JMS – компонент для обмена сообщениями между приложениями, написанными на JAVA EE;
  • JAAS – компонент JAVA EE для организации информационной безопасности бизнес-приложения;
  • JavaMail – компонент для работы с электронной почтой.

Предпочтительная среда разработки

Среда разработки IDE (от англ. Integrated Development Environment «Интегрированная Среда Разработки») – программное обеспечение, используемое разработчиками для создания приложений. Обязательными компонентами IDE являются:

  • текстовый редактор;
  • интерпретатор;
  • средства автоматизации сборки;
  • отладчик.

В отношении финансов наименее времязатратной и наиболее экономичной среда разработки требуемого бизнес приложения средствами Java EE 7 должна обладать следующими качествами:

  • Поддержка плагинов, что позволит разработчику модифицировать IDE под свои нужды и предпочтения;
  • рефакторинг, т.е. возможность менять программный код, не изменяя внешнее поведение программы;
  • автозаполнение набираемых синтаксических конструкций (к примеру, автоматическая расстановка фигурных скобок) для снижения затрат времени;
  • желательно наличие включенной в среду библиотеки компонентов Primefaces, которая включает в себя более 100 компонентов, причем включающая не только графическую часть, но и интерфейсы для её обслуживания;
  • Свободная лицензия, что позволит устанавливать среду разработки на неограниченное количество машин на неограниченное время, не тратя финансы.

Всеми данными качествами обладают две среды IDE: Eclipse и Netbeans (третьей известной средой IDE является intelliJ Idea. Не обладая свободной лицензией, данная IDE проигрывает своим конкурентам из-за преимуществ свободной лицензии). У каждой IDE есть свои преимущества и недостатки, но наиболее ярким недостатком Eclipse является то, что она написана на языке Java, а так как данный язык является интерпретируемым[5], то быстродействие данной IDE необходимо оптимизировать выбором определенных плагинов. Если этого не сделать, то конфликты среди установленных плагинов превысят определенный предел (прежде всего проблемы совместимости плагинов), что вызовет увеличение времени ожидания и как следствие – снизить производительность труда у разработчика.

Сервер приложений и предпочтительная система управления базами данных

Для начинающих веб-программистов на Java выбор сервера приложений может стать большой проблемой. Наиболее известными и удобными для начинающих[5] серверы на 2017 год являются: Tomcat, Glassfish, Wildfly. Каждый из них является превосходной платформой, на которой разрабатываются и развертываются бизнес-приложения. Однако неправильный выбор сервера на стадии проектирования продукта может привести к неоправданному увеличению сроков разработки.

Выбор конкретного сервера зависит от особенностей создаваемого приложения:

– если нет необходимости подключать полный комплект средств Java EE, то следует остановиться на сервере Tomcat как наименее требовательном к долговременной памяти;

– если же архитектура приложения подразумевает использование технологий полного стека, то следует использовать сервер Wildfly или Glassfish.

К выбору системы управления базами данных (СУБД) необходимо отнестись столь же серьезно, как и к выбору сервера приложений. К наиболее популярным свободным СУБД относятся (таблица 1):

Таблица 1

Система контроля версий и система управления проектом

СУБД

Когда использовать:

SQLite

Если важна возможность легкого переноса базы данных на альтернативную машину и необходим прямой доступ к жесткому диску.

MySQL

Если важна простота установки, обилие встроенных функций для защиты информации, а также производительность (упрощение некоторых стандартов SQL позволило увеличить быстродействие)

PostgreSQL

Если предполагается легкое изменение типов данных или появление сложных или наследуемых (данная СУБД является объектно-ориентированной)

 

Использование системы контроля версий[3] позволяет значительно упростить разработку приложения путем систематизации всех изменений (предотвращая конфликты имен, наличием всегда актуальной версии приложения на сервере). Самой известной системой на данный момент является Git, разработанная Линусом Торвальдсом и его командой [3][M1] . Она позволяет вводить в разработку приложения практически неограниченное число разработчиков (политика т.н. “branch” (англ. «ветвь»), создающая локальную копию приложения, в которой разработчик может вносить изменения в определенный участок кода параллельно тому как приложение меняется в целом).

Использование же систем управления проектом, таких как Phabricator позволит проводить проверку кода на соответствие принятым в компании соглашениям об именах и вести приложение по одному стилю кода. В качестве примера можно привести Google Java Style Guide. Кроме того, применение таких систем как «Система отслеживания ошибок» позволит в автоматическом режиме получать отзывы от пользователей и ускорит разработку приложения.

Рекомендации по модели разработки в Git

Модель разработки в контексте данной статьи – это набор процедур, которые выполняет каждый член команды, чтобы вся команда вместе могла достичь высокой управляемости процесса разработки. Простейшей, но наиболее эффективной моделью является разделение репозитория на две основные ветки: master и develop (рис. 1), присутствует так же Feature-ветви для реализации конкретного функционала (рис.2). В таблице 2 представлены назначение и место хранения каждой из этих ветвей.

Таблица 2.

Концептуальные между «ветвями»

Наименование ветки

Назначение

Место хранения

Master

В данной ветви хранится версия приложения, готовая к релизу

Сервер

Develop

В данную ветвь объединяются Feature ветви, позже тестируется версия приложения, сохраненная в данной ветви

Сервер, но локальная копия приложения из этой ветви обязательна для каждого разработчика

Feature

В данной ветви разработчик реализует требуемый функционал

Локальная машина, после слияния с Develop ветвь удаляется

 

Рисунок 1. Связь между ветвями master и develop.

 

Рисунок 2. Связи Feature веток с develop

 

Заключение

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

 

Список литературы:

  1. https://ru.wikipedia.org/Свободное программное обеспечение 
  2. Э. Гонсалвес. Изучаем Java EE 7. – СПб.: Питер, 2014. – 640 с.
  3. C. Часон.Git для профессионального программиста – Apress, 2012. – 496 с.
  4. A. Гупта. Java EE 7. Основы. – М.: Диалектика/Вильямс, 2014. – 336 с.
  5. Г. Шилдт. Java 8. Полное руководство 8-е изд. – М.: Вильямс, 2012. – 712 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 14 голосов
Дипломы участников
У данной статьи нет
дипломов

Комментарии (1)

# Михаил 02.12.2017 23:53
Очень хорошая работа

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.