Научная статья на тему 'Исследование интеграционных возможностей свободного программного обеспечения'

Исследование интеграционных возможностей свободного программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
181
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
TRISQUEL GNU/LINUX / SPRING TOOL SUITE / MYSVN / OPENJDK

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Белов Д. Е., Шалин А. Ф., Мищенко А. Е., Грушко А. Т., Кучеров П. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Белов Д. Е., Шалин А. Ф., Мищенко А. Е., Грушко А. Т., Кучеров П. И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование интеграционных возможностей свободного программного обеспечения»

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

UDC 004.3

RESEARCH OF INTEGRATION CAPABILITIES OF FREE SOFTWARE

Д.Е. Белов, А.Ф. Шалин, А. Е. Мищенко, А.Т. Грушко, П.И. Кучеров Федеральное государственное бюджетное научное учреждение «Всероссийский научно-исследовательский институт овцеводства и козоводства» Нарвыш Л.В.

Ставропольский филиал федерального государственного бюджетного образовательного учреждения высшего образования «Московский педагогический государственный университет»

[email protected] Первой задачей разработчика, реа- The primary лизующего свои проекты, применяя свободное программное обеспечение, является верный выбор операционной системы, позволяющей в полной мере, легально использовать полученный результат интеллектуальной деятельности. В данной статье даны результаты исследований нескольких операционных систем на предмет соответствия принципам свободного программного обеспечения, с описанием ограниче-

Belov D.E., Shalin A.F., Mischenko A.E., Grushko A.T., Kucherov P.I. Federal State Budgetary Scientific Institution "All-Russian Research Institute for Sheep and Goat Breeding" Narvysh L.V.

Stavropol branch of Federal State Budgetary Educational Institution of Higher Education "Moscow Pedagogical State University"

ний, а также проблем, возникших в them. процессе инсталляции и эксплуатации, со способами их решения. Ключевые слова: Trisquel GNU/Linux, Spring Tool Suite, MySVN, OpenJDK

task of the developer implementing the projects using free software is the right choice of the operating system, allowing the full, legally use the obtained result of intellectual activity. This article presents the results of researches of multiple operating systems on compliance with the principles of free software, with a description of the limitations, as well as the problems encountered during the installation and operation with the methods of solving

Key words: Trisquel GNU/Linux, Spring Tool Suite, MySVN, OpenJDK

Опираясь на основные положения, проектной командой было проведено исследование нескольких операционных систем на предмет соответствия принципам свободного программного обеспечения. Запуск различных операционных систем осуществлялся при помощи VirtualBox, выпускаемой под свободной лицензией GNU GPL v2 (VirtualBox // Technical documentation) [18, 1].

Проведенные исследования показали, что для целей проекта наиболее приемлемым вариантом операционной системы будет являться Trisquel GNU/Linux (The Trisquel Project // Trisquel GNU Linux / http://trisquel.info) [17, 4].

В качестве конкретных операционных систем проектной командой рассматривались различные дистрибутивы Linux Ubuntu, такие как: Lubuntu; Xubuntu;

Zorin OS (Zorin OS // Zorin OS) [19];

CentOS (The CentOS Project // CentOS) [16];

Debian (GNU/Linux Software in the Public Interest, Inc. // Debian) [9, 3];

openSUSE (Novell, Inc. / openSUSE) [11, 2];

Fedora (Red Hat, Inc. / Fedora) [14];

Red Hat (Red Hat, Inc. / Red Hat Enterprise Linux) [15].

В результате проведенных исследований было установлено, что в силу ряда технических причин, связанных с пакетной совместимостью, наиболее подходящими являются дистрибутивы, основанные на Linux Ubuntu. Кроме того, «Фондом свободного программного обеспечения» все вышеперечисленные дистрибутивы GNU/Linux не признаются как «свободное программное обеспечение», потому что они не следуют рекомендациям для свободных дистрибутивов систем. Основные претензии, которые «Фонд свободного программного обеспечения» предъявляет к вышеперечисленным дистрибутивам, следующие:

1) некоторые из этих дистрибутивов содержат несвободные пакеты или части кода в ядре (Linux);

2) другие включают в состав операционной системы несвободные программные средства, в т.ч. драйвера для устройств;

3) третьи нарушают конфиденциальность, накапливая и анализируя данные о том, что ищут пользователи в сети Интернет (Free Software Foundation // Explaining Why We Don't Endorse Other Systems) [7, 5].

Кроме так называемого «черного списка», на сайте «Фонда свободного программного обеспечения» содержится информация о ряде, по мнению его экспертов, «истинно свободных» операционных систем семейства GNU/Linux (Free Software Foundation // Free GNU Linux distributions) [8, 5]. К таким дистрибутивам относится и Trisquel GNU/Linux, что стало одной из причин его использования в проекте. Другой важной причиной стало то, что дистрибутив Trisquel GNU/Linux основан на существенно переработанном Ubuntu, что позволяет использовать множество пакетов прикладных программ, доступных в репозиториях Ubuntu.

В качестве базовой платформы для разработки программного обеспечения был использован комплект разработчика приложений на языке Java - OpenJDK, который включает в себя компилятор Java (javac), стандартные библиотеки классов Java, документацию, утилиты и исполнительную систему Java (JRE) (OpenJDK // JDK 8 Debian, Ubuntu, etc.) [12].

При инсталляции OpenJDK версии 8 мы столкнулись с проблемой, которая иллюстрируется на рисунке. Так, при попытке вызова документированной команды:

$ sudo apt-get install openjdk-8-jdk

- возникала ошибка, связанная с тем, что OpenJDK 8 отсутствовал в ререпозито-риях, включенных в официальный дистрибутив Trisquel GNU/Linux.

« .— I--..:.......— ■ ■ .........................-Щ

Рисунок. - Демонстрация ошибки инсталляции OpenJDK в Trisquel GNU/Linux

Проблему удалось решить путем добавления дополнительно репозитория PPA (Personal Package Arhive), который не был включен в официальный дистрибутив Trisquel GNU/Linux.

Для подключения репозитория использовалась команда: $ sudo add-apt-repository ppa:openjdk-r/ppa,

- после выполнения которой стали доступны ресурсы репозитория PPA. Повторное выполнение команды, инсталлирующей пакет OpenJDK 8, происходило без ошибок. Корректность установки проверялась командой: $ java -version.

Так как в состав JDK не входит интегрированная среда разработки, нашей командой было проведено исследование существующих средств разработки. Среды разработки оценивались по ряду критериев, таких как: соответствие принципам «свободного программного обеспечения», наличие инструментов для проведения рефакторинга, UML-проектирования; возможность интеграции клиента для подключения к СУБД; возможность подключения модулей для взаимодействия с репозито-рием и др.

После предварительного скрининга более чем двадцати различных сред разработки мы остановились на двух (Eclipse и NetBeans), которые, по нашему мнению, являются схожими по своим характеристикам. Отдельно хочется отметить IntelliJ IDEA, которая является наиболее интеллектуальной, предлагая разработчику наиболее совершенные инструменты для проведения рефакторинга, проверки синтаксиса и анализа исходного кода. Однако данная среда разработки является платной, в результате чего была исключена из рассматриваемых для реализации проекта. При выборе между Eclipse и NetBeans команда коллегиально приняла решение использования Eclipse, так как некоторые участники имеют опыт работы в данной среде.

Кроме того, творческим коллективом была рассмотрена еще одна среда разработки - Spring Tool Suite, которая разработана на основе Eclipse, распространяется под лицензией Eclipse Public License (Eclipse Foundation // Eclipse Public License - v 1.0) [6, 4], что предоставляет возможность неограниченного использования для разработки программного обеспечения, при условии того, что исходный код не будет изменен. Основным отличием Spring Tool Suite являются её дополнительные конфигурации, позволяющее более эффективно работать со Spring.

После тщательного анализа описанных выше сред разработки было принято решение об использовании Spring Tool Suite для реализации проекта. Основным аргументом в пользу использования данной среды разработки выступили ее интеграционные, улучшающие взаимодействия со Spring Framework, которая является универсальной для Java-платформы и обеспечивает конфигурирование основных компонентов приложения, доступ к базе данных, управление транзакциями, а также аутентификацию (Pivotal Software // Spring Framework) [13].

Алгоритм интеграции STS включал следующую последовательность действий:

1. скачивание архива STS с официального сайта помощью команды:

$ wget http://dist.springsource.com/release/STS/ 3.7.1.RELEASE/dist/e4.5/ spring-tool-suite-3.7.1.RELEASE-e4.5.1-linux-gtk-x86_64.tar.gz

2. разархивирование пакета командой:

$ sudo tar -xvf spring-tool-suite-3.7.1.RELEASE-e4.5.1-linux-gtk-x86_64.tar.gz

3. создание символической ссылки для запуска STS из консоли: $ In -s /opt/sts-bundle/sts-3.6.3.RELEASE/STS /usr/local/bin/sts

4. запуск среды разработки STS: $ sts

Для создания репозитория был выбран сервис MySVN (MySvn.ru - хостинг // SVN & Trac) [10], который осуществляет хостинг таких продуктов, как SVN- и Trac-репо-зитории.

Для доступа к SVN-репозиторию в среду разработки STS были интегрированы библиотеки SVN-клиента (Subversive), выпускаемого под лицензией EPL v1.0.

Для сборки проекта был использован инструмент Maven (Apache License Version 2.0), позволяющий осуществлять поддержание зависимостей проекта и различных вариантов его сборки (компиляция, тестирование, упаковка, развертывание).

Для запуска и отладки приложения был использован контейнер сервлетов -Tomcat, выпускаемый под лицензией Apache License Version 2.0. Использование веб-сервера Tomcat позволило обеспечить запуск web-приложений (сервлетов), обмен данными между сервлетом и клиентами, идентификацию и авторизацию клиентов, организацию сессии для каждого из них.

СПИСОК ЛИТЕРАТУРЫ:

1. Астапов, В. А. Изучение особенностей использования СУБД firebird в операционной системе linux ubuntu для автоматизации расчета рационов кормления сельскохозяйственных животных/ В. А. Астапов, Д. Е. Белов// Сборник научных трудов Всероссийского научно-исследовательского института овцеводства и козоводства. -2014. - Т. 2. - № 7. - С. 463-468.

2. Белов, Д. Е. Разработка модуля генерации отчетности, позволяющего экспортировать данные в форматы pdf, xls, doc / Д. Е. Белов, А. Ф. Шалин, И. М. Кузнецов, М. В. Макеев // Сборник научных трудов Ставропольского научно-исследовательского института животноводства и кормопроизводства. - 2013. - Т. 2. - № 6 (1) . - С. 315-325.

3. Белов, Д. Е. Технологии разработки систем управления информацией с открытым исходным кодом, про-блемы внедрения в животноводстве России / Д. Е. Белов, В. В. Абонеев, А. Ф. Шалин // Сборник научных трудов Ставропольского научно-исследовательского института животноводства и кормопроизводства. - 2011. -Т. 1. - № 4-1. - С. 96-100.

4. Шалин, А. Ф. Перспективы разработки модуля зоотехнического и ветеринарного учета для информаци-он-но-вычислительной системы мониторинга овцеводства и козоводства/ А. Ф. Шалин, В. А. Астапов, А. Е. Мищенко, С. М. Шишкин, А. Т. Грушко// Сборник научных трудов Всероссийского научно-исследовательского института овцеводства и козоводства. - 2015. - Т. 1. - № 8. - С. 649-652.

5. Шалин, А. Ф. Применение различных типов rfid-меток для идентификации определенных видов животных/ А. Ф. Шалин, А. Е. Мищенко, В. А. Астапов, А. Т. Грушко// Сборник научных трудов Всероссийского на-уч-но-исследовательского института овцеводства и козоводства. - 2015. - Т. 1. - № 8. - С. 645-649.

6. 12. Eclipse Foundation // Eclipse Public License - v 1.0: [сайт] / URL: https://www.eclipse.org/legal/epl-v10.html

7. Free Software Foundation // Explaining Why We Don't Endorse Other Systems: [сайт] / URL: http://www.gnu. org/distros/common-distros.en.html

8. Free Software Foundation // Free GNU Linux distributions: [сайт] / URL: http://www.gnu.org/distros/free-distros. en.html

9. GNU/Linux Software in the Public Interest, Inc. // Debian: [сайт] / URL: https://www.debian.org/index.ru.html

10. MySvn.ru - хостинг // SVN & Trac: [сайт] / URL: http://www.mysvn.ru

11. Novell, Inc. / openSUSE: [сайт] // URL: https://ru.opensuse.org

12. OpenJDK // JDK 8 Debian, Ubuntu, etc.: [сайт] / URL: http://openjdk.java.net/install/index.html

13. Pivotal Software // Spring Framework: [сайт] / URL: http://projects.spring.io/spring-framework

14. Red Hat, Inc. / Fedora: [сайт] // URL: https://getfedora.org/ru

15. Red Hat, Inc. / Red Hat Enterprise Linux: [сайт] // URL: http://www.redhat.com/en/technologies/linux-platforms/ enterprise-linux

16. The CentOS Project // CentOS: [сайт] / URL: https://www.centos.org

17. The Trisquel Project // Trisquel GNU Linux: [сайт] / URL: http://trisquel.info

18. VirtualBox // Technical documentation: [сайт] / uRl: https://www.virtualbox.org/wiki/GPL

19. Zorin OS // Zorin OS: [сайт] // URL: http://zorinos.com

УДК 004.3

РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ,

ХАРАКТЕРИЗУЮЩЕЙ

ПОТРЕБЛЕНИЕ

ПИТАТЕЛЬНЫХ ВЕЩЕСТВ

СЕЛЬСКОХОЗЯЙСТВЕННЫМИ

ЖИВОТНЫМИ, В РЕЛЯЦИОННОЙ

МОДЕЛИ

UDC 004.3

THE IMPLEMENTATION OF THE DATABASE, WHICH CHARACTERIZES NUTRIENT INTAKE OF FARM ANIMALS, IN THE RELATIONAL MODEL

i Надоели баннеры? Вы всегда можете отключить рекламу.