Мельница технологий
Платформа «Мельница данных»
Революционные технологии работы с информацией
Возможности платформы

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

Пример проекта, сопровождаемого и развиваемого силами 3-х сотрудников:

Тематика проекта: Управление учебным процессом вуза
Размер модели: более 1200 классов
Объектов учета: около 40 млн.
Основные объекты учета (люди): более 300 тыс.
Количество бэк-офисных пользователей: более 1000
Количество удаленных пользователей (Личные кабинеты): 20-30 тыс. в сутки
Инфраструктура: 20 серверов рабочей среды + 5 серверов тестовой среды
Используется у заказчика с 2006 года (более 15 лет).

Пример новой разработки силами 2-х сотрудников:

Тематика: Управление учебным процессом школы
Размер модели: 268 классов
I этап, постановка учета контингента учащихся, регистрация поступающих через ЛК, движение контингента учащихся; 3 недели + 1 неделя запуск в эксплуатацию
II этап: специализированное решение разработки «Годовых отчетов» по учащимся (3 Личных кабинета) - 2 недели
III этап – расписание занятий, дневники для учащихся, родителей, журналы классов – 4 недели.
Разработка

Основная идея подхода: формирование и сопровождение модели метаданных, учет модели средствами БД. Полученная модель компилируется в объекты СУБД средствами платформы. Платформа реализует полный функционал объектно-реляционного отображения. Разработчик работает только над моделью, модель всегда соответствует реализации решения. Модель платформонезависима – поддерживаются СУБД Firebird, Oracle Database Server, PostgreSQL, MySQL, Microsoft SQL Server.

Модель описывает не только слой хранения, но и слой поведения (методы, включая их тела, транслируются в хранимые процедуры) и слой представления (модель интерфейсов пользователя).

Архитектура системы:
  • СУБД (содержит всю бизнес-логику);
  • Сервер приложений (не содержит бизнес-логики);
  • Win приложение (не содержит бизнес-логики) и веб-приложения (могут содержать элементы бизнес-логики);
Win-приложение («DataBrowser», «Обозреватель данных») формируется автоматически по модели. Предназначено в первую очередь для бэкофисных пользователей (формирование справочных данных, быстрый ввод данных, анализ данных, отчетность). Win-приложение работает в том числе и в удаленном режиме по высоколатентным каналам (по протоколам http(s)).
Сервер приложенй (DataMill Application Server)
- трансляция данных и вызовов функций в любом формате по любому протоколу (вплоть до выпиши себе по электронной почте отчет).
Web-приложения
- комплекс средств быстрого создания web-приложений класса «Личные кабинеты» (заявки на регистрацию и изменения данных);
- предоставление интерфейсов доступа к данным для различных средств front-end разработки
- тесная интеграция с библиотекой dojo.

Для веб-приложений предоставляются интерфейсы доступа к данным и функциям через сервер приложений:
- REST (JSON);
- REST (XML);
- SOAP;

Те же самые механизмы используются и мобильными приложениями.

Данные задачи решены в общем виде для всех элементов модели, как бизнес-классов, так и классов метаданных.

Внедрение

Средства платформы позволяют быстро и эффективно наполнять систему данными из систем-предшественников и из других доступных источников.

Приложение Mapper позволяет строить визуальную модель, связывающую метаданные нашей системы со структурами данных других систем, и выполнять импорт данных из внешних систем на основе визуально разработанной схемы.
Приложение Pumper позволяет перекачивать БОЛЬШИЕ объемы данных за короткое время из различных источников (разных СУБД, папок с xml-файлами, zip-архивов с xml-файлами).
Средства импорта данных их XML реплик большого объекта, из двоичных файлов большого объема с многопоточном режиме с более высокой скоростью и надежностью, чем встроенные средства СУБД.
Сопровождение

Поддержка пользователей:
- развитые средства фиксации и передачи информации об ошибках (включая автоматическое формирование скриншотов, логов запросов, информации об окружении, версиях ОС, браузеров, другого ПО);
- служба уведомлений внутри приложений;
- «отложенное» выполнение процедур и отчетов;
- планирование выполнений методов, отчетов, регламентных процедур по расписанию.

Поддержка инфраструктуры систем:
Приложение Merger (сравнение и слияние данных и метаданных) позволяет выявлять расхождения в версиях системы, выполнять «слияния» объектов, переносы данных между версиями.
Приложение Pumper позволяет выполнять быстрые и эффективные обмены данными, пересоздание БД и проч.
Средства администрирования СУБД для создания копий БД, инкрементальных бэкапов, разворачивания из бэкапов.
Приложение QueryBuilder (Построитель запросов) – позволяет визуальными средствами формировать запросы к данным системы, базируясь на модели метаданных. Развитое средство анализа данных, получения отчетов, поиска неформальных корреляций в данных.
Документирование

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

Развитые средства разработки пользовательской документации позволяют формировать ее эффективных структурах, связывать с элементами метаданных (формами, процедурами, представлениями), создавать контекстную документацию.

Возможна контекстная привязка к объектам метаданных элементов сторонних справочных систем.

Документация выгружается в форматах pdf, docx, chm, html, epub.

Многоязычность

Поставлена работа с неограниченным набором языков. Объекты переводов связываются с объектами метаданных системы (модель элементов интерфейса).

Платформа предоставляет средства поддержки работы переводчика, включая связи переводов с объектами метаданных. Доступен режим работы web-приложений с отображением идентификаторов объектов для перевода.

Интеграция

Модель метаданных системы всегда соответствует реализации и может быть получена в различных нотациях, стандартных и специализированных.

Доступ как к данным, так и к метаданным системы, на чтение и на запись, возможен по интерфейсам:
- REST (JSON);
- REST (XML);
- SOAP;
- собственный com-интерфейс доступа, собирается в виде InProc-сервера (без UI), и Local-сервера (с полной поддержкой UI).
- позволяет использовать утилиты командной строки Windows и Linux

Приложения Mapper, Merger, Pumper позволяют быстро создавать, поддерживать, развивать интеграционные решения.

Управление разработкой

Платформа имеет свой репозитарий решений с историей всех элементов модели, созданием «редакций» решений, поддержки версий одного решения с кастомизацией для разных клиентов.

Ежедневная onlile-репликация нескольких репозитарных решений (совместная разработка с представителями клиента).

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

Текущие характеристики репозитария:
- 100 млн. записей;
- 200 ГБ на СУБД Firebird;
- 3 узла репликации;
- до 20 пользователей;
- каждую ночь выполняется сборка, автоматизированное тестирование и отгрузка обновления для более 30 решений.

Отдельное веб-приложение – трекер задач. Используется для управления собственной разработкой, а также для коммуникации с представителями заказчика. Интегрируется с Jira и другими средствами через RSS.