Эксплуатируемое заказчиком решение (как правило, ERP-система) на платформе Ultima Businessware®, состоит из двух логически и физически различных сущностей: платформы и конфигурации.
Платформа Ultima Businessware® – инвариантное ядро системы (в дальнейшем термины платформа и ядро используются как взаимозаменяемые), которое остается неизменным для любой предметной области и бизнес-логики. Иными словами, для любого внедрения решения Ultima ядро системы, оно же платформа, – абсолютно такое же, как для любого другого.
Платформа обеспечивает функционирование всего программного комплекса в целом и предоставляет следующие инструменты и механизмы:
•хранения пользователей, их авторизации и проверки прав;
•коммуникации между приложениями;
•доступа к СУБД (сохранения объектов системы в базу данных);
•управления изменениями конфигураций (механизм версионирования);
•преобразования "сырых данных" из БД в объекты системы;
•интеграции с другими системами – SOAP, JSON, REST, XML и т.д.;
•среда разработки и изменения конфигурации.
Конфигурация (например, базовые отраслевые конфигурации eCommerceERP и eServiceERP) – описание предметной области. В сущности, это реализация бизнес-логики и ее информационная обвязка. Конкретное решение, работающее у конкретного заказчика, пусть и построенное на основе базовой конфигурации, в 100% случаев имеет свои отличительные черты, которые формируются в процессе создания технического задания, процесса внедрения и дальнейшей эксплуатации внедренного решения.
Конфигурация – это набор метаданных, описывающих бизнес-объекты:
•документы;
•справочники;
•связи между справочниками и документами;
•итоги;
•обработчики, описывающие логику взаимодействия бизнес-объектов;
•серверные модули;
•клиентские модули;
•права пользователей.
Общая модель представлена на схеме:
Конфигурация целиком хранится в базе данных. В качестве СУБД используется Oracle 11gR2 Enterprise Edition или Oracle 12c Enterprise Edition, где имеется две схемы:
•Kernel – статичная, именно из этой схемы сервер приложений при запуске загружает конфигурацию;
•Ultima – прикладная, в ней создаются таблицы и хранятся данные прикладной области.
Ядро недоступно для изменения прикладным разработчиком, однако предоставляет интерфейс и инструменты для реализации бизнес-логики. Сама бизнес-логика, исполняемая на сервере приложений, реализуется в виде классов на C#, унаследованных от соответствующих классов платформы (в дальнейшем такие классы будут называться скриптами). Экранная логика выполняется на клиентском приложении и реализуется в виде модулей на любом .NET совместимом языке.
Система предоставляет прикладному разработчику готовые:
•механизмы авторизации и аутентификации;
•механизмы преобразования объектов, их выгрузки и сохранения в базу данных;
•редактор бизнес-объектов и бизнес-логики;
•механизмы коммуникации между частями приложения;
•механизмы быстрого прототипирования пользовательских интерфейсов;
•обновление системы без перезапуска и многое другое.
Задачей прикладного разработчика является создание с помощью этих инструментов новой и/или внесение изменений в существующую конфигурацию, которая представляет собой совокупность справочников, документов, итогов, обработчиков, экранных форм и т.д., а также их описаний.