Программные компоненты необходимые для перехода ГИС Integro под управление операционной системы Linux
Автор: Сабитов Замир, Финкельштейн Михаил Янкелевич
Журнал: Сетевое научное издание «Системный анализ в науке и образовании» @journal-sanse
Рубрика: Современные проблемы информатики и управления
Статья в выпуске: 3, 2023 года.
Бесплатный доступ
В связи с желательностью отказа от использования импортного матобеспечения и перехода на отечественное или свободно распространяемое, было принято решение о переводе отечественной геоинформационной системы INTEGRO на кроссплатформенную поддержку. Поскольку изначально это приложение разрабатывалось для операционных систем Microsoft Windows, переход на кроссплатформенность сулил множество трудностей, которые предстояло преодолеть разработчикам. В статье описываются причины перехода на новую плагинную архитектуру, одно из преимуществ которой - возможность кроссплатформенной разработки, а также решение одной из проблем, встающей на пути к достижению цели.
Геоинформационная система, кроссплатформенная разработка, операционная система, программное обеспечение, фреймворк
Короткий адрес: https://sciup.org/14128545
IDR: 14128545
Текст научной статьи Программные компоненты необходимые для перехода ГИС Integro под управление операционной системы Linux
Сабитов З., Финкельштейн М. Я. Программные компоненты необходимые для перехода ГИС IN-TEGRO под управление операционной системы Linux // Системный анализ в науке и образовании: сетевое научное издание. 2023. № 3. С. 66-70. EDN: UVIJEA. URL :
SOFTWARE COMPONENTS REQUIRED FOR THE TRANSITION OF THE GIS INTEGRO UNDER THE CONTROL OF THE LINUX OPERATING SYSTEM
Sabitov Zamir1, Finkelstein Michail Y. 2
1PhD student;
Dubna State University;
19 Universitetskaya Str., Dubna, Moscow region, 141980, Russia;
Junior Researcher;
Geoinformatics Department of All-Russian Research Geological Oil Institute;
8 Varshavskoye shosse, Moscow, 117105, Russia;
2Grand PhD in Technical Sciences, professor;
Geoinformatics Department of All-Russian Research Geological Oil Institute, 8 Varshavskoye shosse, Moscow, 117105, Russia;
Due to the desirability of refusing to use imported software and switching to domestic or freely distributed software, it was decided to transfer the domestic geographic information system INTEGRO to crossplatform support. Since this application was originally developed for Microsoft Windows operating systems,

Статья находится в открытом доступе и распространяется в соответствии с лицензией Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная (CC BY 4.0) the transition to cross-platform promised many difficulties that the developers had to overcome. The article describes the reasons for switching to a new plug-in architecture, one of the advantages of which is the possibility of cross-platform development, as well as a solution to one of the problems that stands in the way of achieving the goal.
Введение
В современных условиях необходимости соблюдения информационной безопасности особую актуальность приобретает использование свободно распространяемой операционной системы с открытым исходным кодом, наиболее известными примерами которых являются системы на базе ядра Linux . Microsoft Windows не принадлежит к этой группе, однако геоинформационная система (ГИС) INTEGRO , являющаяся отечественной разработкой, изначально разработана для этой системы [1]. В связи с этим задача по увеличению количества операционных систем, которые поддерживают работу ГИС INTEGRO, приобретает высокий приоритет.
Ubuntu и Astra Linux были определены в качестве следующих дистрибутивов Linux, под которыми должна функционировать ГИС INTEGRO . Первая система является достаточно популярной. Она может быть установлена через имеющийся графический интерфейс, с определенным набором приложений, позволяющий пользоваться ею сразу после установки без дополнительных настроек. На данный момент несколько сотрудников всероссийского научно-исследовательского геологического нефтяного института являются пользователями операционной системы Ubuntu , и для них предусмотрена отдельная сборка картографической части ГИС INTEGRO с ограниченным функционалом. Сборка версии для Ubuntu осуществляется с помощью набора компиляторов GCC 11.
Astra Linux – российская операционная система, основанная на ядре Linux, которая внедряется в России в качестве альтернативы Microsoft Windows в государственных организациях. Соответствует требованиям регуляторов в рамках импортозамещения к безопасности программного обеспечения. Важной особенностью Astra Linux является то, что система обеспечивает степень защиты обрабатываемой информации до уровня государственной тайны «особой важности» включительно [2]. Процесс установки прост, как и в операционной системе, описанной выше. После установки Astra готова к использованию без предварительной настройки. Сборка версии для Astra Linux осуществляется с помощью компилятора Clang 11.
Под каждую операционную систему, упомянутую выше, необходимо собирать отдельную версию INTEGRO . В дальнейшем планируется расширить список поддерживаемых систем, включив в него такие отечественные разработки, как ALT Linux и РЕД ОС.
Сложностью при переводе ГИС INTEGRO под управление операционной системы на базе ядра Linux , является то, что ГИС разрабатывалась в течении значительного времени. Поэтому библиотеки, написанные до принятия решения о переходе на кроссплатформенную разработку, запускались на других системах с помощью специального моста. Это временное решение; в будущем библиотека должна быть преобразована в унифицированную форму, чтобы обеспечить честную поддержку работы под управлением различных систем.
Новые программные компоненты разрабатываются с использованием специального фреймворка. Их можно добавить в единую сборку, которая будет работать, как и на операционных системах Microsoft Windows , так и на системах на базе ядра Linux .
Перевод программных компонентов
На сегодняшний день графический интерфейс ГИС INTEGRO реализован в основном с использованием библиотеки визуальных компонентов ( VCL ). VCL - это объектно-ориентированная библиотека разработки пользовательских интерфейсов для приложений Windows на основе визуальных компонент [3]. Она входит в комплект поставки интегрированной среды разработки ( IDE) Embarcadero RAD Studio , с использованием которого и было разработано множество функций INTEGRO. Данная IDE не отличается стабильной работой, удобствами в плане отладки и разработки. Для ее работы требуется наличие лицензии и определенных знаний разработчика для работы в этой среде. Используя VCL , можно разрабатывать только Windows -ориентированные приложения на языке программирования C ++.
Существует фреймворк FireMonkey , который входит в комплект поставки RAD Studio , позволяющий создавать графические приложения на Linux, но использование его недоступно для приложений, разработанных на C ++ [3]. Поэтому этот фреймворк не является подходящим, так как INTEGRO разрабатывается на языке программирования С ++.
Таким образом, ГИС INTEGRO стала отставать от растущих современных требований. Морально устаревает пользовательский интерфейс приложения. Отсутствует полная поддержка кодировки UNICODE [4]. Программные компоненты, реализованные с использованием VCL в IDE RAD Studio, невозможно честным образом скомпилировать непосредственно на Linux . Все это послужило причиной принятия решения о переходе на новую плагинную архитектуру и разработку приложений с использованием IDE Microsoft Visual Studio .
Был разработан фреймворк для создания графического интерфейса на основе VCL, с помощью которого появилась возможность кроссплатформенной разработки приложения для операционных систем Microsoft Windows и Linux .
На данный момент идет процесс ручного перевода утилит, разработанных в RAD Studio , с использованием нового фреймворка в Microsoft Visual Studio . Перевод осуществляется командой разработчиков, каждый из которых ведет работу в своем направлении.
Участие в разработке дает возможность самостоятельного изучения:
-
- внутренней архитектуры системы на реальных задачах, а не только на бумаге;
-
- особенностей экспортируемых функций библиотеки;
-
- преимуществ и недостатков разработки плагинов как в RAD Studio , в которой они изначально разрабатывались, так и в Microsoft Visual Studio с использованием нового фреймворка;
-
- возможностей ГИС INTEGRO .
В новой версии интерфейс утилит реализуется, с использованием более совершенных элементов. Разработчику облегчается их наполнение и валидация, при сохранении вида привычного пользователям. Перевод различных утилит сталкивает разработчика с ситуациями, требующих особого подхода к их решению. При этом, улучшается функционал: устаревшие функции в коде заменяются на новые, создаются структуры данных более удобные для чтения и записи параметров. Заметим, что библиотеки, утилит, отвечающие за расчеты, остаются нетронутыми. Ожидается, что их перевод начнется после того, как новые утилиты будут отлажены и протестированы. При переводе также реализуется поддержка кодировки UNICODE : обмен текстовой информацией ведется с использованием расширенных символов, которые соответствуют кодировке UTF -16 в операционной системе Windows и UTF -32 в Linux .
Таким образом, под новую архитектуру уже переведены утилиты, позволяющие:
-
- провести поиск аномалий вдоль линии профиля. Результатом являются файлы формата SHAPE , отображающие на карте аномалии в виде точек или линий;
-
- скорректировать расположение профилей, устраняя погрешности ввода. Результат работы -две пересекающиеся в 3 D сцене сцены 2 D ;
-
- экспортировать из ТОС 2 D, содержащего автокорреляционные функции в новую или существующую ТОС 2 D большего размера;
-
- экспортировать координаты XYZ в ТОС по профилю;
-
- анализировать разными методами значения ячеек ТОС, расположенных рядом друг с другом. Результат анализа добавляется в ТОС, выбранную в качестве результирующей для расчетов;
-
- объединять разломы, близкие по направлению и расположению. В итоге получается слой с объединенными разломами, попадающими под заданные пользователем условия;
-
- анализировать разломы;
-
- строить наборы параллельных прямых (сети профилей), определенным образом ориентированных в пространстве. Сеть профилей сохраняется в файл формата SHAPE и добавляется в сцену, от которой был осуществлен вызов утилиты;
-
- сохранять объекты сети 3 D в текстовый файл;
-
- объединять слои 2 D в сеть 3 D ;
-
- обеспечивать перевод векторных данных, их атрибутивных и пространственных характеристик в данные в формате регулярной прямоугольной сети ТОС 3 D ;
-
- создавать модели разреза;
-
- строить сечения по ТОС 3 D . В результате работы утилиты создается массив сцен 2 D , ориентированных в трехмерном пространстве в соответствии с плоскостью сечения.
После перевода утилита тестируются разработчиком: сравниваются результаты работы новой и старой версии утилиты. Далее их передают сотрудникам института для дальнейшего тестирования. После прохождения всех этапов тестирования, новая утилита добавляется в релизную версию.
В настоящее время ведется перевод одного из самых больших блоков – «Геофизика». Количество утилит блока превышает число уже переведенных утилит более чем в 2,5 раза. Последнее, но не менее важное, что предстоит перевести – это блок «Прогноз».
Переход на новую плагинную архитектуру даст возможность собирать единую версию ГИС IN-TEGRO как и для операционных систем Microsoft Windows , так и Linux , без каких либо изменений в исходных файлах. Реализовываться это будет с помощью фреймворка для разработки кроссплатфор-менного программного обеспечения Qt . После завершения переноса всех проектов из RAD Studio , в нем больше не будет необходимости, что является положительным моментом: его использование сильно затрудняло отладку реализованных в нем проектов, требовалась платная лицензия и дополнительные знания разработчика.
Заключение
В результате усилий команды разработчиков ФГБУ «ВНИГНИ», в которую входит автор данной публикации, геоинформационная система INTEGRO станет кроссплатформенной. Она будет опираться только на отечественные или свободно распространяемы компоненты, что позволит использовать ее в российских государственных органах и учреждениях после 2025 года [5]. При этом пользовательский интерфейс системы изменится в лучшую сторону и будет привычен для пользователей INTEGRO под Windows .
Список литературы Программные компоненты необходимые для перехода ГИС Integro под управление операционной системы Linux
- Обновления - ГИС INTEGRO // ГИС INTEGRO : Геоинформационные технологии для природопользования. - ГИС INTEGRO, 2023. - URL: http://www.gis-integro.ru/support/ (дата обращения: 05.08.2023).
- ОС Astra Linux сертифицирована ФСТЭК России на обработку государственной тайны до степени секретности «особой важности» // ГК «Астра» лидер российского рынка информационных технологий в области разработки программного обеспечения (ПО) и средств защиты информации. Российская операционная систем (ЩС) семейства Astra Linux : [сайт]. - ООО «РусБИТех-Астра», 2008-2023. - Дата публикации: 24.05.2019. - URL: https://astralinux.ru/about/press-center/news/os-astra-linux-sertifitsirovana-fstek-rossii-na-obrabotku-gosudarstvennoy-tayny-do-stepeni-sekretnos/(дата обращения: 05.08.2023).
- Редакция продуктов - Embarcadero // Embarcadero Cross-Platform App Development Software : [сайт]. - Embarcadero inc., 2023. - URL: https://www.embarcadero.com/ru/products/rad-studio/product-editions (дата обращения: 05.08.2023).
- Шумихин А.С. Особенности архитектуры ГИС INTEGRO // Геоинформатика. - 2018.- №3. - С. 68-75. - URL: http://geoinformatika.ru/wp-content/uploads/2020/04/Geo2018_3_68-75.pdf (дата обращения: 12.08.2023).
- Указ Президента Российской Федерации от 30.03.2022 № 166 «О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры Российской Федерации» // Официальный интернет-портал правовой информации. - Государственная система правовой информации. Официальный интернет-портал правовой информации, 2005-2023. - Дата опубликования: 30.03.2022. - URL: http://publication.pravo.gov.ru/Document/View/0001202203300001?index=1 (дата обращения: 19.08.2023).