Инструментарий
Система Галактика ERP разрабатывается на основе высокопроизводительного инструментария. Он предназначен для разработки и ведения реляционных баз данных, проектирования пользовательского интерфейса и отчетов. А пользовательский интерфейс получил название Средство разработки Атлантис.
Атлантис позволяет разрабатывать многоуровневые, распределенные по площадкам приложения, которые поддерживают открытые стандарты взаимодействия приложений. Эта возможность базируется на объектной компонентной модели, которая поддерживается средством разработки Атлантис.
Возможность доработки системы с помощью инструментария
Атлантис предоставляет возможность доработки системы Галактика ERP в выбранном направлении силами пользователя.
С его помощью возможно производить локализацию интерфейса пользователя (осуществляется перевод сообщений системы на другие языки, отличные от языка разработчика, а также их адаптация для конкретного отраслевого решения). Существует возможность конфигурировать интерфейсы, т.е. менять состав, расположение, атрибуты видимых элементов интерфейса, а также добавлять и убирать отображаемые поля.
Также возможно:
- изменять и добавлять любые элементы системы без использования исходных текстов Галактики ERP с помощью средств визуальной доработки;
- взаимодействовать с другими приложениями с использованием стандартов COM и ActiveX.
Для подключения (регистрации) всех рабочих ресурсов системы (в том числе основных ресурсов и ресурсов патчей) и управления доступом к этим ресурсам используется Репозитарий компонентов. Он представляет собой хранилище информации об установленных компонентах системы.
Репозитарий компонентов обеспечивает:
- установку приоритетов на использование версий компонентов (слои разработки);
- распределение прав пользователям и группам на использование компонентов системы;
- управление компонентами системы.
Для разработки приложений и доработки системы Галактика ERP Атлантис предоставляет следующие компоненты:
- компилятор VIP и соответствующий ему объектно-ориентированный язык программирования 4-го поколения (4GL);
- генератор отчетов FastReport;
- оболочку для работы с серверами БД.
- интегрированную интерактивную среду для разработки и отладки программ (в т.ч. имеются полнофункциональные отладчик и профилировщик программ);
- систему автоматизированного тестирования программ AQA.
Взаимодействие Атлантис-приложения с серверами базы данных (Actian SQL, Oracle, MS SQLServer, PostgreSQL) осуществляется через специально разработанную оболочку, реализованную в виде платформо-зависимого компонента. Таким образом, обеспечивается независимость прикладного кода от используемой СУБД. Один и тот же прикладной код работает со всеми поддерживаемыми серверами базы данных.
Средства визуальной доработки системы
Средство разработки Атлантис предоставляет интерактивные средства для изменения и добавления любых элементов системы без использования исходных текстов Галактики ERP. Данные возможности реализованы модулем «Консоль управления инструментального комплекса Support».
Модуль предназначен для использования партнерами, службами ПНР, АСУ клиента и позволяет развивать систему с целью быстрейшего реагирования на изменения условий и модели бизнеса. Осуществляется поддержка клиентских доработок при поставке новых версий системы.
При помощи специальных визуальных средств модуля Консоль управления без использования исходных текстов системы Галактика ERP возможно изменять внешний вид системы, добавлять/изменять кнопки Главного меню, а также просматривать/редактировать интерфейсы, объекты, меню, статус-строки, структуру таблиц БД, триггеры и точки расширения.
Поддержка парадигмы объектно-ориентированного программирования
В рамках объектно-ориентированной разработки средство разработки Атлантис обеспечивает наследование, инкапсуляцию, полиморфизм, а также наличие сущностей «Объекты» и «Объектные интерфейсы».
Объектная модель, которую поддерживает Атлантис, является очень мощной. Система предоставляет много дополнительных возможностей. Суть объектной модели Атлантис — в разделении на объекты и интерфейсы взаимодействия объектов. Другими словами, объектные интерфейсы — это интерфейсы межкомпонентного взаимодействия. И объекты, и объектные интерфейсы поддерживают наследование, и поскольку это две параллельные иерархии наследования, то разработчик получает богатейшие инструментальные возможности.
При использовании наряду с обычной иерархией объектов иерархии объектных интерфейсов (если необходимо придать общие свойства различным сущностям) имеется возможность использования вместо классического плоского дерева иерархии трехмерную иерархию наследования.
При этом обеспечивается:
- поддержка классических свойств и виртуальных методов объектов, динамического приведения типа и хранения объектов в БД;
- реализация множественного наследования;
- использование реляционных свойств объектов, объектного SQL;
- оптимизация объектных запросов для SQL-платформ.
Еще одной существенной возможностью является поддержка хранения и считывания объектов из базы данных. Помимо классических свойств и виртуальных методов объектов, Атлантис поддерживает и реляционные свойства объектов. Назначение их аналогично индексам в таблицах базы данных. Наличие реляционных свойств позволило реализовать в Атлантис объектное расширение языка SQL, в котором объекты могут участвовать в запросе наравне с таблицами. Уникальной особенностью является то, что оптимизатор запросов Атлантис обрабатывает нюансы реализации реляционных свойств конкретных объектов и оптимизирует их таким образом, что конечная производительность доступа к базе данных получается не хуже, чем при обращению напрямую к данным.
Использование открытых стандартов COM, ActiveX
В системе Галактика ERP реализована возможность встраивания сторонних программ в систему и возможность встраивания интерфейсов системы Галактика ERP в другие системы.
При разработке (доработке) системы средствами Атлантис обеспечиваются следующие возможности:
- использование стандартных и собственных COM-объектов (ADO DB, XML DOM и т.д.);
- встраивание стандартных и собственных ActiveX компонентов (MS Word, Excel, Acrobat Reader и т.д.).
При разработке (доработке) системы внешними средствами разработки обеспечиваются следующие возможности:
- использование функциональности объектов системы Галактика ERP через COM-интерфейс (перерасчет остатков, расчет зарплаты и т.д.);
- встраивание окон системы Галактика ERP как ActiveX компонентов (редактирование накладной, выбор организации и т.д.).
Компилятор VIP
Основным компонентом средства разработки Атлантис является компилятор и соответствующий ему язык программирования VIP. Он содержит все элементы, необходимые для разработки современных бизнес-приложений, в том числе:
- средства для описания интерактивных многооконных экранных форм (интерфейсов пользователя);
- средства взаимодействия с пользователем — выпадающие меню, диалоговые окна, инструментальные панели и т.д.;
- средства для описания форм выходных отчетов;
- средства для организации потоков данных. Поток данных организует выгрузку информации, в том числе для использования программными продуктами сторонних разработчиков;
- средства для работы с базами данных (используется встроенное подмножество SQL с объектными расширениями);
- механизм событий для управления логикой приложения;
- общепринятый набор операторов универсального алгоритмического языка программирования. За основу взяты конструкции языков Pascal и C;
- средства для обеспечения покомпонентного построения приложения;
- технологии объектно-ориентированного программирования;
- средства для обеспечения трехуровневой структуры приложения.
Отчеты
Отчеты в среде Атлантис могут создаваться как средствами языка VIP (FCOM-отчеты), так и с использованием генератора отчетов FastReport. Язык программирования VIP позволяет создавать отчеты в следующих форматах:
- в формате ASCII (формат доступен любому текстовому редактору);
- в расширенном текстовом формате с управляющими символами печати (формат поддерживается текстовым процессором Бизнес-Текст);
- в формате Rtf (формат редактора Microsoft Word);
- в формате Slk (формат электронной таблицы Excel).
Возможности по модификации существующих в системе Галактика ERP FCOM-отчетов базируются на механизме формы-прототипа и присоединенной формы. Форма-прототип — это форма, которая создается при проектировании отчета прикладным программистом. Любая поставляемая с прикладной системой форма может быть использована в качестве прототипа для проектирования новой формы.
Присоединенная форма — форма, проектируемая конечным пользователем. В присоединенной форме можно поменять текстуальную часть формы, заголовки или подножия, удалить поля или изменить порядок их следования, добавить вычисляемые поля, включить агрегативные вычисляемые значения, осуществлять выборку и модификацию данных на основе SQL-запроса и т. д. Кроме того, имеется возможность включения операторных блоков, используя языковые средства VIP.
Встроенный генератор отчетов FastReport
В средство разработки Атлантис интегрирован бэнд-ориентированный графический генератор отчетов FastReport.
Вызов встроенного дизайнера отчетов FastReport осуществляется из диалога выбора формы отчета системы Галактика ERP или модуля Консоль управления комплекса Support.
Встроенный дизайнер отчетов FastReport обеспечивает создание составных (композитных), вложенных, многоколоночных, master-detail-detail и cross-tab отчетов, выбор шрифта и размера букв, управление цветом текста и фона.
Функционал встроенного дизайнера отчетов FastReport также включает:
- точное расположение элементов на листе бумаги для форм строгой отчетности;
- использование простых и вложенных группировок;
- использование горизонтальных циклов;
- возможность создания диаграмм;
- вставку в отчет графических объектов;
- режим предварительного просмотра, аналогичного MS Word;
- экспорт отчетов в форматах TXT, RTF, CSV, HTML.
Средства управления данными
Для манипулирования данными в языке VIP имеются операторы, представляющие собой расширенное подмножество языка SQL. Они обеспечивают формирование логических таблиц, извлечение и модификацию данных в интерактивном режиме.
Множество выбираемых записей можно сокращать, используя фильтр. Фильтр — это множество ограничений, которым должны удовлетворять записи для включения в логическую таблицу. Дополнительно можно задать для логической таблицы порядок сортировки. Определения логических таблиц могут быть сохранены в словаре для последующего использования. Поддерживаются блокировки на уровне файла, записи и транзакции.
Взаимодействие Атлантис-приложения с серверами базы данных (Actian SQL, Oracle, MS SQLServer, PostgreSQL) осуществляется через специально разработанную оболочку, реализованную в виде платформо-зависимого компонента. Оболочка над серверами БД позволяет осуществлять трансляцию встроенного в Атлантис диалекта языка SQL в запросы к конкретным базам данных. Тем самым обеспечивается независимость прикладного кода от используемой СУБД. Один и тот же прикладной код работает со всеми поддерживаемыми серверами базы данных.
В процессе работы поддерживается выполнение различных административных функций: идентификация пользователя, разграничение прав на базу данных и элементы меню, журнализация изменений данных, регистрация различных системных событий, контроль лицензий, и др.
Работа с разными СУБД обеспечивается при помощи сменного платформенно-зависимого модуля. Этот модуль выполняет две основные функции: трансляцию платформенно-независимых запросов к базе данных в запросы, специфичные для конкретной СУБД, а также оптимизацию запросов. В процессе оптимизации учитываются скоростные особенности конкретной базы совместно с механизмами предпочтения и кэширования данных.