Проект KGBase: Roadmap

Некоторый опыт развития и использования проекта KGBase позволяет наметить некоторую «дорожную карту» его развития в понимании автора. Итак, идея проекта возникла в середине-конце 2012 года (за несколько месяцев до начала работы автора в Богдинско-Баскунчакском заповеднике). На основе имеющегося опыта изучения биоразнообразия появилось огромное желание отойти от «традиционных» биологических баз данных, представляющих собой обычно «простыню» в Microsoft Access, не имеющую никаких адекватных средств фильтрации данных и получения итоговых отчетов по запросу (как максимум — запросы и формы внутри все той же базы данных, без возможности внешнего доступа). Именно таким был по сути и Кадастр редких и охраняемых растений Волгоградской области, разработанный автором в далеком 2009 году и поддерживаемый до 2013 г. С начала разработки проекта были сформулированы критические условия, которым должно соответствовать создаваемое приложение:

— Геоориентированность: каждый объект биоразнообразия должен быть формально связан с конкретным участком местности через координаты в геоцентрической системе (WGS-84).
— Модульность: каждый тип объекта (фиксированный коллекционный образец, наблюдение, литературное указание, живая культура, популяция) должен храниться и обрабатываться в соответствии с его особенностями и свойствами, независимо от других типов. Типы объектов не должны быть связаны ничем, кроме таксономического названия. Объединение данных о объектах разного типа одного таксона должно быть реализовано как отдельный абстрактный слой приложения.
— Отделение данных от представления: система должна иметь средства представления данных, не зависящие от состава исходных данных.
— Простота доступа: доступ к системе должен быть возможен локально и удаленно «по умолчанию» из любой операционной среды, поддерживающей передачу данных по вычислительным сетям.
— Свобода: использование системы и ее компонентов не должно налагать ни на кого никаких обязательств, кроме сохранения их свободными для распространения, использования и изменения.

В 2012 году была начата разработка структуры базы данных коллекционных образцов. Итогом работы стал черновой вариант базы данных в формате Microsoft Access. Средства представления данных на тот момент полностью отсутствовали, как и средства управления таксономическими списками, и даже проекты таковых. Разработать веб-интерфейс представления данных на языке PHP предполагалось к середине 2013 г.

Смена места работы, жительства и трудовых обязанностей автора внесла свои коррективы. Разработка системы была продолжена уже в Богдинско-Баскунчакском заповеднике. В силу производственной необходимости была начата разработка ответвления проекта — системы управления данными фотонаблюдений GDBase. В силу малочисленности научного штата учреждения и трудоемкости «традиционной» методики фиксации наблюдений (с ручным заполнением карточек и т.п.) данная система представлялась единственно возможным выходом из положения (и вполне оправдала надежды в последующем).

К концу 2013 года была окончательно определена структура баз данных: фотонаблюдений и коллекций, а также таксономических списков и их формат (с того момента и по настоящее время для хранения и обработки итоговых данных используется формат XML — eXtensible Markup Language). Кроме того, были разработаны самые первые, черновые версии интерфейса доступа к данным с элементами управления данными на изначально предполагавшемся языке программирования (PHP).

В 2014 году разработка интерфейса и функционала систем была продолжена. В феврале 2014 на сайте Богдинско-Баскунчакского заповедника была представлена самая первая версия GDBase (0.1.1) с базовым функционалом. В августе 2014 начал работу данный сайт проекта и на нем представлена также первая версия KGBase (0.1) и первые базы данных в формате системы, которые регулярно пополняются и дополняются автором.

Дальнейшие работы по совершенствованию систем последовательно добавляли в их интерфейс новые функции и улучшали существующие. В октябре 2014 года было сообщено о существенном дополнении KGBase, в июле 2015 — выпущена сильно переработанная и дополненная версия GDBase 2 beta, представляющая собой уже полноценный многопользовательский веб-сервис. В августе 2015 вышла и новая версия KGBase 1.0 с многочисленными улучшениями, главные из которых — возможность выборки данных по условию и модуль генерации баз данных в формате XML из исходных таблиц различных форматов. Все опубликованные в рамках проекта версии программного обеспечения и их компоненты распространяются на условиях свободной общественной лицензии GNU GPL третьей версии и являются неотчуждаемым общественным достоянием.

Таким образом, спустя 3 года с начала разработки проекта получены определенные положительные результаты. Оба направления развития системы вполне оправдали свое существование, сделав научную работу автора по изучения биоразнообразия Богдинско-Баскунчакского заповедника и насекомых Нижнего Поволжья намного более удобными и эффективными. С течением времени работа систем и модулей становится все более удобной и предоставляет все более широкий функционал. Часть этого функционала находится на экспериментальной стадии разработки (например, подготовка к печати коллекционных этикеток на основе данных базы, или подготовка списков коллекционного материала на основе предопределенных стилей) и не включена в опубликованные дистрибутивы систем, хотя уже активно используется автором. Таким образом, уже есть существенный задел для последующего развития проекта KGBase и его возможных ответвлений.

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

KGBase:

Модуль данных о коллекционных образцах:

— Создание интерфейса представления данных — KGBase v. 0.1 — конец 2013 г. — начало 2014 г. (завершено)
— Добавление картографических функций и базового набора функций управления исходными данными — KGBase v. 1 — середина 2015 г. (завершено)
— Разработка подробной документации, создание административного многопользовательского интерфейса для управления исходными данными широкого спектра форматов — KGBase v. 2 — 2016 г. (работы начаты)

Модуль литературных данных:
— Разработка структуры и формата данных — 2015 г. (завершено)
— Разработка интерфейса модуля, аналогичного модулю данных о коллекционных образцах  — KGBase v. 3 — 2016-2017 г. (работы планируются)

Модуль наблюдений (как подтвержденных аппаратными данными, так и нет):
— Разработка структуры и формата данных — 2015 г. (работы начаты)
— Разработка интерфейса модуля, аналогичного модулю данных о коллекционных образцах  — KGBase v. 3 — 2016-2017 г. (работы планируются)

Интерфейс интеграции данных модулей и управления модулями —  KGBase v. 4 — 2017-2018 г. (планирование работ начнется не ранее выпуска KGBase v. 2 и, вероятно, одновременно с работами над KGBase v. 3).

GDBase:

— Создание базового функционала для обработки и представления данных — GDBase v.0.1.1 — начало 2014 г. (завершено)
— Создание многопользовательского интерфейса управления данными (включая таксономические списки), добавление картографических и иных функций — GDBase v.2 — середина 2015 г. (завершено в целом — beta, работы продолжаются)
— Разработка подробной документации, создание интерфейса и функций многолетнего анализа данных и управления многолетними данными наблюдений — GDBase v.3 — 2016-2017 г. (работы планируются)
— Интеграция с KGBase в качестве одного из модулей последней или через связь с одним из ее модулей — GDBase v.4 — 2017-2018 г. (планирование работ начнется не ранее выпуска KGBase v. 3 и GDBase v.3 и, вероятно, одновременно с работами над KGBase v. 4)

Разумеется, данный план работ (он же «дорожная карта») является весьма приблизительным. И жизнь может внести в него существенные коррективы — могут поменяться сроки, состав модулей, направления разработки. Описанный выше roadmap отражает лишь текущее видение развития проекта его автором и единственным разработчиком. И даже у создателя проекта нет полной ясности в некоторых моментах развития проекта.

Так, спорным представляется вопрос о формате как исходных данных, так и пути формирования представлений на основе таксономических списков. На данный момент автору представляется неизбежным переход по к использованию сервера реляционных баз данных как одного из хранилищ информации (безусловно, одной из свободных реализаций, например, PostgreSQL или MySQL). Однако конкретного плана миграции, ее способа, объема и сохранения обратной совместимости — пока нет в принципе. Использование «офисных» форматов крайне неудобно и ставит функционал системы в зависимость от изменений стандартов этих форматов и их реализаций. «Полноценные» реляционные СУБД чаще всего не имеют удобного графического интерфейса для прямого редактирования таблиц. Использование XML приводит к большим накладным расходам и при большом объеме данных становится попросту невозможным. Пока сложно сказать, как эти противоречия будут решены в следующих версиях KGBase и какие дополнительные изменения вызовут эти решения.

Кроме того, не совсем однозначен и один из изначальных принципов построения системы, по этой причине не включенный в «первопринципы». Речь о «изолированности» системы — отсутствии внешних зависимостей (от картографических систем, источников данных и т.п.), что позволяет работать с системой практически в любых условиях, даже при полном отсутствии внешних сервисов и систем. С одной стороны — это значительно повышает отказоустойчивость системы, упрощает миграцию, сильно экономит время и нервы разработчика и позволяет строго соблюдать лицензионную чистоту и свободу системы. С другой стороны, полная изоляция системы от внешнего мира лишает ее пользователя многих возможностей. Будет ли в последующем сохранена сегодняшняя полная «отгороженность» или будут задействованы внешние сервисы, каким путем это будет сделано (через подключаемые плагины, отдельные приложения — провайдеры и т.д.) — на данный момент разработчик ответить не готов.

Только движение по намеченной дороге сможет показать, верна ли составленная карта. Разумеется, все изменения как проекта, так и «карты» его движения — будут отражаться на данном сайте, пока он существует.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *