О платформе интегрикс

25.03.2015, 17:03       admin


INTEGRICS GATHERER (WinPoint)

Gatherer является одним из продуктов, который может быть использован в создаваемой платформе в качестве прототипа. Это windows-приложение, предназначенное для быстрой разработки клиент-серверных баз данных для использования в локальной вычислительной сети предприятия. Применение Gatherer позволяет существенно ускорить и оптимизировать разработку учетных систем, которые могут стать основой развития создаваемой платформы.  

О соотношении скорости разработки и универсальности на примере    

В качестве примера предлагаем рассмотреть разработку «с нуля» простой программы складского учета, обеспечивающей внесение прихода товара на склад, его отгрузки и  просмотра остатков товаров.  Рассмотрим три средства разработки: Free Pascal (3GL), Lazarus (4GL), Integrics Gatherer. Для сравнимости будем предполагать, что во всех случаях созданное приложение должно работать с БД Firebird. Разработка на Free Pascal потребует  выполнить следующие работы:

1) разработка базы данных — проектирование и разработка таблиц, полей индексов — 5 часов;

2) разработка с использованием объектных библиотек и классов интерфейса системы для отображения данных и организации управления ими — 12 часов;

3) разработка ограничений доступа к данным различных категорий пользователей (простой механизм, обеспечивающий три уровня доступа к информации — оператор — приемщик товара, кладовщик, отпускающий товар и заведующий складом (менеджер) — 5 часов;

4) разработка отчетов — 5 часов;

5) разработка контрольных примеров и тестирование приложения — 5 часов.

Итого, разработка на Free Pascal займет 32 часа.

        Разработка на Lazarus потребует  выполнить следующие работы:

1) разработка базы данных — проектирование и разработка таблиц, полей индексов — 5 часов;

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

3) разработка ограничений доступа к данным различных категорий пользователей (простой механизм, обеспечивающий три уровня доступа к информации — оператор — приемщик товара, кладовщик, отпускающий товар и заведующий складом (менеджер) — 5 часов;

4) разработка отчетов — 5 часов;

5) разработка контрольных примеров и тестирование приложения — 5 часов.

Итого, разработка на Lazarus займет 26 часов.

Разработка на Integrics Gatherer потребует  выполнить следующие работы:

1) разработка базы данных — проектирование и разработка таблиц, полей индексов и правил их визуализации — 7 часов;

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

4) разработка отчетов — 5 часов;

5) разработка контрольных примеров и тестирование приложения с использованием стандартных моделей— 3 часа.

Итого, разработка на Integrics Gatherer займет 17 часов.

Для рассматриваемой задачи использование Integrics Gatherer и декларативной разработки приложения позволяет ускорить разработку на 47% по сравнению с современным языком третьего поколения и на 35% по сравнению со средой 4GL

Такие существенные преимущества будут только при разработке определенного класса систем, предназначенных для организации учета (учетных систем). Gatherer и созданная методология разработки, ориентированная на модель данных, которая кладется в основу корпоративной информационной системы,  при создании комплексных решений работает лишь частично.

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

1) интерфейс создаваемых в Gatherer систем тесно связан с моделью данных, которая, в свою очередь, расширена для целей описания интерфейса и ускорения разработки приложений, работающих с данными; фактически модель данных и их визуализации едина;

2) пользовательский интерфейс системы строится автоматически;

3) Integrics Gatherer является одновременно средой разработки и исполнения создаваемой системы;

4) для хранения модели и самих данных используется реляционная СУБД (в качестве базовой СУБД была выбрана Firebird, в новых версиях запланирована поддержка PostgreSQL);

5) модели и данные имеют единое представление и выгружаются в стандартизованные XML-файлы;

6) модель в Gatherer имеет иерархическую структуру, которая обеспечивает навигацию, разделение прав доступа и сегментирование КИС на приложения (прикладные модули), а также позволяет определить понятие контекста пользователя в системе через указание ключевых значений выбранных записей подчиненных таблиц;

7) прикладной модуль в Gatherer представляет собой любое подмножество таблиц с определенными ролями пользователей и правами доступа для ролей:

к таблицам, к отчетам, к обработкам, к процедурам обмена данными, которые заданы моделями обмена;

8) преобразования и проверки данных, а также другие задачи, которые не могут быть решены декларативными средствами помогают решить обработки, код которых в актуальной версии системы разрабатывается на языке PHP 6.

        Преимущества Gatherer:

- очень быстрое создание многопользовательских сетевых учетных систем, работающих в ЛВС предприятия по технологии клиент-сервер;

- возможность модернизации эксплуатируемой системы, наполненной данными с автоматической перестройкой интерфейса «на глазах заказчика», что делает систему очень удобной при использовании Agile — методологий реализации проектов;

- устойчивая работа в Linux под Wine;

- встроенные средства визуального построения выборок на основе SQL-запросов и проведения на их основе OLAP-анализа данных;

- удобное манипулирование данными: копирование и перенос записей, групповая установка значений полей выделенных записей, фильтры, сортировки и многое другое;

- сохранение созданных запросов, как отчетов в создаваемой системе.

        Недостатки: 

- устаревший интерфейс классического Windows-приложения начала 2000-х годов;

- при внесении изменений в структуру, происходит пересоздание (пересборка) базы данных;

- хорошо поддерживается на данный момент только одна СУБД.

Несмотря на перечисленные выше недостатки, Integrics Gatherer является уникальным решением для разработки клиент-серверных приложений для работы с данными в ЛВС предприятий и организаций при одновременной работе с единой базой до нескольких сотен пользователей. По своим функциональными характеристикам решение имеет неоспоримые преимущества перед Microsoft Access. 

 

        INTEGRICS NODE

Для построения полноценных КИС одного инструмента, позволяющего создавать приложения для работы с данными в ЛВС недостаточно. Даже для решения задачи организации учета,  необходимо, как минимум, иметь возможность организовать работу удаленных подразделений. Сделать это можно, например, предоставив доступ удаленным подразделениям к центральной базе данных для скачивания данных и моделей приложений Gatherer, а также для загрузки сформированных данных в центральную базу.  Для этих целей разработана подсистема Integrics Node («узел» обмена данными), которая, кроме функции обмена данными, обеспечивает возможность развития структуры центральной базы данных путем загрузки файла содержащего  модели КИС (метаданные). При этом изменение КИС с использованием Node, в отличии от Gatherer, не приводит к пересборке центральной базы данных. Это позволяет на практике вносить изменения «на лету» в эксплуатируемые КИС с многогигабайтными базами данных.

        INTEGRICS WP (WebPoint)

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

WP дублирует возможности Gatherer по работе с данными, но с использованием  современных браузеров. Одним из недостатков WP является  отсутствие возможности разработки в режиме online, поскольку недостаточно иметь конструктор, позволяющий модифицировать модель (схему) КИС, требуется полноценная корпоративная среда разработки приложений в облаке, учитывающая не только учетные задачи, но и другие функции, востребованные в КИС.

 

        Документооборот (Docflow)

Подсистема документооборота была создана с применением Java на базе структур данных Integrics Gatherer, что позволяет гибко настраивать экранные формы. Система обладает основными функциями, присущими большенству систем данного типа: ведение дел, согласование документов, формирование поручений, выстраивание цепочек процесса обработки, в зависимости от типа документов и т. д. В тоже время, подсистема документооборота имеет ряд уникальных особенностей, в частности — возможна организация взаимодействия в единой системе с серверами удаленных подразделений таким образом, чтобы сканированные изображения попадали из одного подразделения в другое только при запросе просмотра скана. При этом автоматическая репликация охватывает лишь реляционные данные — карточки документов и другую информацию (реестры, справочники).

INTEGRICS PORTAL, INTEGRICS FRAMEWORK (x1.db.PHP)

Портал обеспечивает ведение мультисайтового Интернет-ресурса с привязкой пользователей к организационной структуре, определяемой моделью данных Integrics. Кроме этого, на портале могут быть реализованы плагины, основанные на моделях приложения (КИС) с использованием Integrics Framework. Фреймворк может также использоваться для создания самостоятельных web-приложений, построенных на моделях КИС Integrics.

INTEGRICS COMMUNICATOR

Communicator — универсальная система управления проектами и совместной деятельностью. Она обеспечивает ведение проектов и формирование проектных групп таким образом, что любой пользователь может участввоать в различных проектах с разными ролями (координатор, разработчик, наблюдатель и тп). Гибкая сиcтема прав позволяет настроить детали, например — дать возможность назначать участников, ответственных за решение задач в рамках проекта. Существует возможность создавать задачи, доступные только назначенным в них участникам. API системы позволяет использовать ее в рамках единой задачи автоматизации процессов в КИС с использованием всех подсистем, упомянутых выше. По каждой задаче ведется трекинг (обсуждение), доступна загрузка в задачу файлов, гибкая система фильтров позволяет отбирать и контролировать задачи и проекты по множеству признаков. Подсистема разработана с использованием PHP 6.x

INTEGRICS OLAP

Подсистема разработана на базе Saiku (Meteorite BI, http://community.meteorite.bi)

AuthServ — подсистема единой аутентификации и идентификации пользователей, поддерживаемая в той или иной степени большинством перечисленными выше подсистемами

Таким образом, в качестве прототипа платформы Integrics x1 предлагается выбрать частично интегрированные подсистемы, ранее разработанные компанией и нуждающиеся в развитии для более тесной интеграции в единой среде, позволяющей в режиме онлайн настраивать компоненты КИС, организовывать ее разработку, тестирование, тиражирование и поддержку.

Для этих целей императивную логику работы КИС, как единого целого предлагается выделить в подсистему управления бизнес-процессами (BPMS). Сложные многофакторные расчеты, зависящие от сочетания входных данных, а также логику поведения форм работы с данными (видимость полей, таблиц, поведение фильтров) — в подсистему управления бизнес-правилами и в подсистему анализа информации. Для хранения исходных кодов, версий моделей (приложений), процессов и бизнес-правил используется система контроля версий Mercurial, проводится ее интеграции с новой версией платформы. Для обеспечения развертывания систем на виртуальных и физических серверах используется Ansible, также ведутся работы по интеграции с Ansible с новой версией платформы Integrics .