Что хранится в ядре

Продолжение. Начало см. в PC Week/RE, № 4/2001, с. 30.

Коль скоро мы совместными усилиями выделили в системах-конструкторах некоторое “ядро” (у разных разработчиков оно называется по-разному - прототип, базовая поставка, репозиторий бизнес-логики и пр.), то не худо бы разобраться, что выносится в эту базовую часть.

Как явствует из речей разработчиков систем-конструкторов, программное ядро в каждом конкретном случае, вообще говоря, имеет разный вид и смысловое наполнение. Единообразны лишь представления специалистов о том, что “ядерная” часть (включающая определенную модель предметной области) непременно должна в таких продуктах присутствовать, поскольку именно она позволяет ускорить создание и внедрение готового решения на их основе.

Позволю себе здесь одну ремарку. Действительно, трудно не согласиться с мнением Евгения Аксенова, утверждающего, что чем выше уровень абстракции размещенных в ядре шаблонов, тем более универсальный характер носит эта базовая часть (т. е. она легче переносима и более “отвязана” от предметной области). В этом смысле система “Алеф” отличается от двух других систем тем, что ее базовый слой, похоже, в наименьшей степени отягощен “предметным налетом”, в то время как в “Эталоне” и “Тектоне” специфика предметной области затянута вглубь системы. Недаром же при продаже “Эталона”, по словам представителей фирмы “Цефей”, просто “отрезаются” ненужные конкретному заказчику части, изначально присутствующие в базовой поставке.

Евгений Аксенов:

- В основе конструктора должна лежать модель предметной области, и чем эта модель глубже, тем более абстрактными должны быть объекты, из которых состоит конструктор. Чем абстрактнее модель, тем более широкий спектр решений можно получить, не выходя за ее рамки. Но тем труднее настройка и дороже вычислительный процесс. Ведь при этом неизбежно идет “утяжеление” решения, которое, правда, компенсируется динамикой роста современных аппаратных возможностей.

В нашей системе, например, понятия “Контрагент” или “Счет-фактура” жестко не закреплены. При создании решений они могут быть порождены с помощью “ядерного” объекта “Документ”. Кроме того, “ядерный” слой модели содержит такие объекты, как “Аналитический регистр”, “Валюта”, “Учетный регистр” и др.

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

Существенно, чтобы ядро включало также функции работы с данными, администрирования, управления правами доступа и часто встречающиеся функции предметной области (например, расчет курсовой разницы или себестоимости).

На основе ядра строятся решения для конкретного бизнеса, будь то предприятие или группа компаний, вовлеченная в единый хозяйственный процесс. При этом в самом ядре настройщик ничего не должен менять, иначе невозможно будет обеспечить переносимость решений на новые версии системы-конструктора.

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

Характеристики систем-конструкторов

Дмитрий Глямшин:

- С функциональной точки зрения в ядро документоориентированной системы “ТЕКТОН-Предприятие” входят: реквизиты предприятия; реестр операций с объектами хозяйственной деятельности; журнал хозяйственных операций; учетная политика; план счетов; реестр аналитических счетов; справочники; типовые хозяйственные операции; типовая корреспонденция счетов; реестр типов документов, реестр переименований.

С архитектурной же стороны наша система как бы разбита на три части:

- бизнес-репозиторий (БД, где хранятся бизнес-процедуры и бизнес-правила);

- собственно база данных (где хранятся сами данные);

- “ТЕКТОН-Клиент”, обеспечивающий обработку данных по определенным, заранее заданным бизнес-правилам.

Такая структура, в частности, позволяет нам сейчас при переходе к трехуровневой архитектуре (с выделенным сервером приложений) не менять репозиторий - изменяются только правила работы с ним.

Базовым понятием для нас является документ (и его элементы - поля, таблицы, закладки).

В совокупности с “ТЕКТОН-Дизайнером” (см. таблицу), “ТЕКТОН-Предприятие” представляет собой технологию построения комплексных систем управления предприятием, а она, как вы понимаете, не продается в коробке.

Система полностью открытая (ядро, содержащее базовые функции, тоже можно изменять).

(Окончание следует)