Продолжается подписка на наши издания! Вы не забыли подписаться?

Фирма « РеПКА»

Реализация объектных технологий
в бизнес-конструкторе « Пан Вотруба» v12.4


Объектно-ориентированный бизнес-конструктор « Пан Вотруба»

Программа, которая развивается вместе с Вами

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

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

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

Специалисты фирмы « РеПКА» (Региональное предприятие комплексной автоматизации) разработали свободную от этого противоречия программу — бизнес-конструктор « Пан Вотруба» , куда изначально заложены средства настройки возможностей пользователей для удовлетворения заранее неизвестных потребностей.

Получилось, как у Дейла Карнеги: мы даем голодному не рыбу, которую он съест сегодня на обед, а удочку, с которой он будет сыт каждый день.

Рис. 1

Основные возможности системы « Пан Вотруба» v12.4

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

Отчуждаемость от разработчика

Одной из основных отличительных особенностей программы является практически полная отчуждаемость установленного у заказчика экземпляра программы от разработчика. Это означает, что обученный пользователь в состоянии сам путем настройки расширять в нужную сторону функциональные возможности программы без изменения ее базового программного кода.

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

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

Неограниченное количество справочников

Система « Пан Вотруба» , начиная с версии 10 (1994 год) поддерживает работу с неограниченным количеством справочников произвольной структуры без изменения структуры данных и базовых программных кодов.

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

Аналитические возможности.

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

Благодаря применяемой объектной технологии имеется возможность комбинации различных источников данных для обобщения — проводок, справочников, объектов.

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

Потребности в такого рода аналитических действиях возникают, как правило, спонтанно, а работа ведется по принципу « чтобы вчера было готово» , зачастую даже авральными методами. Чтобы избежать этого, в системе « Пан Вотруба» присутствует специально разработанный диалоговый механизм — анализатор проводок. Он позволяет оценить произвольные финансовые и материальные потоки, остатки, с нужной степенью детализации расшифровать обороты и в конце выйти на искомые проводки с возможностью их просмотра и исправления.

Эффективность работы анализатора повышается за счет применения в настройке плана счетов особых признаков объединения родственных счетов в компактные группы. Таким образом, за 1 расчет мы можем получить, например, совокупные затраты предприятия за определенный период, размеры задолженности контрагента по всем поводам и так далее.

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

Генерация отчетов

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

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

Объектное расширение макроязыка, отличающее версию 12.4 от предыдущих, обеспечивает пользователя принципиально новым инструментом обобщения данных — интерактивными отчетами, ход вычислений в которых может корректироваться пользователем непосредственно в момент расчета по совокупности значений получаемых результатов.

Технологии хранилищ данных

С 1993 года в программе « Пан Вотруба» имеется ускоритель — поддержка технологий хранилищ данных (Data WareHouse). Ускоритель реализует в OLTP-системе возможности OLAP средствами обычного сервера Oracle без применения дорогостоящих опций. Этот механизм позволяет получать широкий спектр результатов при одновременном повышении производительности. Так, применив ускоритель (настраиваемую пользователем динамическую витрину данных), удалось сократить время получения одного стандартного банковского отчета в 18 раз. Эти же средства (начиная с 9-й версии системы на Oracle v4.1), служат для поддержки « моментальных снимков» данных (функционально аналогичный SnapShoot-механизм появился только в Oracle v7).

Переносимость и масштабируемость

Благодаря наличию « тонкой» клиентской части, а также из-за использования только инструментария СУБД Oracle система « Пан Вотруба» легко переносима и масштабируема (в истории развития этой системы есть RSX11M/M+, Vax Vms, SCO Unix, Novell Netware, MS DOS, OS/2, Windows NT). Поддерживаются работа в гетерогенных сетях, оптимизация нагрузки на сеть, удаленный доступ.

Взаимодействие клиентской и серверной частей программы

Клиентская и серверная части программы связаны по принципу « спускового крючка» , который « нажимает» клиентская, а отрабатывает серверная часть. Это ускоряет работу, разгружает сеть, повышает надежность и достоверность при одновременной независимости от источника изменений данных. В частности, так предотвращается возможность несанкционированного нарушения целостности данных при помощи внешних программ.

Управление доступом.
Технология виртуальных АРМ

Для поддержки постоянного изменения бизнес-правил система « Пан Вотруба» имеет развитые средства администрирования и динамической регламентации доступа на базе оригинального аппарата динамических ролей (в отличие от статических ролей Oracle), назначаемых пользователям администратором для каждой учетной организации отдельно. Например, главный бухгалтер филиала имеет доступ ко всем данным и функциям программы только в пределах своего филиала.

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

Под хозоперацией здесь понимается макропроцедура, которая служит для создания экземпляров объектов одного типа. Объектом же называется уже созданный и заполненный данными или находящийся в стадии заполнения экземпляр объекта данного типа. Например, хозоперация НАКЛАДНАЯ служит для создания экземпляров объектов типа НАКЛАДНАЯ, то есть заполненных накладных.

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

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

Характерными чертами технологии виртуальных АРМ является обратимость изменений конфигурации и простота в сочетании со скоростью работы по настройке в сравнении с традиционной методикой адаптации программ к новым условиям эксплуатации путем частичного перепрограммирования.

Макроязык

Важнейшим инструментом описания логики бизнес-правил является встроенный в систему макроязык. Он сочетает в себе возможности процедурного 3GL-языка программирования с наглядностью представления и ориентирован на быстрое освоение пользователем-непрограммистом. В его состав входит более 50 стандартных функций (например, функция-калькулятор СКОЛЬКО[выражение со скобками, точность]).

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

Квалифицированный пользователь (если ему не хватает стандартных) может написать на PL/SQL и включить в макроязык свои собственные дополнительные функции. Программа дает пользователю инструмент поддержки таких случаев и обеспечивает независимость работы функций друг от друга. Таким образом, возможные ошибки в новой функции пользователя не скажутся на работе макроязыковых конструкций системы, которые были без нее настроены ранее.

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

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

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

Признание специалистами

Версия 12.3 системы « Пан Вотруба» названа в числе победителей самого престижного в России VI-го международного конкурса программ « Бизнес-Софт’97» (организаторы журнал « Бухгалтерский учет» , международный еженедельник « Финансовая газета» и др.) по классу корпоративных систем (в конкурсе участвовали 55 программ из 11 стран, победителями в 6 классах стали 17 из них).

Экспертами конкурса в числе отличительных особенностей программы была названа « наиболее разумная организация аналитики» среди всех известных им программ.

Принципиально новые возможности « Пан Вотруба» v12.4

Поставляемая в настоящее время система « Пан Вотруба» версия 12.4 (на Oracle 7.3) имеет все возможности 12.3 плюс объектно-ориентированное расширение макроязыка.

Объектный инструментарий

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

Редактирование структуры объекта конечным пользователем

В дополнение к возможностям традиционных объектно-ориентированных инструментов (например, Delphi), где структуру объекта жестко определяет программист-разработчик его конструктора типа, структура конкретного экземпляра объекта в системе « Пан Вотруба» может настраиваться конечным пользователем в диалоге. В документообороте, например, пользователь-разработчик может создать хозоперацию (конструктор типа) НАКЛАДНАЯ с одной строкой в таблице, а конечный пользователь добавит в таблицу нужное количество строк при заполнении объекта-экземпляра такой накладной.

Интерфейс конечного пользователя при работе с объектами

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

Рис. 2

При редактировании табличных данных пользователь ограничен рамками таблицы, заданной изначально разработчиком программы. При использовании оригинальной объектной модели, реализованной в системе « Пан Вотруба» , структура соседних « записей» в « таблице» может быть различна, что дает более широкие возможности отражения произвольной информационной технологии по сравнению с традиционными программами, пользующимися обычной организацией данных в виде таблиц.

Удаленные методы

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

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

Таким образом, при создании на удаленном филиале объекта типа СЧЕТ-ФАКТУРА может быть активизирован удаленный метод КНИГА_ПРОДАЖ.ДОБАВИТЬ, который добавит характеристики этого счета-фактуры в накопительный объект КНИГА_ПРОДАЖ, расположенный в базе данных главного офиса фирмы. При этом передачи из филиала в главный офис всего объекта СЧЕТ_ФАКТУРА, инициировавшего изменение в объекте КНИГА_ПРОДАЖ, не требуется.

Репликация алгоритмов

С помощью аппарата удаленных методов объектного расширения макроязыка легко реализуется, например, передача алгоритмов между территориально удаленными экземплярами системы в режимах on-line (например, по телефонной линии) или off-line (например, средствами электронной почты, с курьером и т.п.), что незаменимо для территорий с плохими каналами связи. Это повышает достоверность и целостность данных, особенно при недостатке актуальной информации (например, устаревшее содержимое справочников).

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

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

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

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

Объединение различных программ

Система « Пан Вотруба» обеспечивает интеграцию различных программ (созданных произвольными средствами: dbase, Clipper, Fox-Pro, Clarion и др.) в единую информационную систему предприятия (обмен данными через Oracle или промежуточные файлы произвольного формата). Так, например, подключаются электронные таблицы (SuperCalc, Excel и др.). Объектное расширение макроязыка предоставляет дополнительные и инструменты для поддержки преобразования данных одновременно с их экспортом (импортом). Так, объектными средствами могут быть настроены различные перекодировки, перепривязка (трансляция) ссылок на справочники и многое другое.

Новые инструменты поддержки коллективной работы

Наряду с широкими бухгалтерскими возможностями, система « Пан Вотруба» 12.4 поможет организовать, например, одновременную работу разных сотрудников с текстом одного и того же документа, связь между пользователями в виде почтовых ящиков и виртуальных досок объявлений, произвольный документооборот и т.д.

Эти возможности поддерживаются объектным инструментарием расширения функциональности программы также путем настройки, без изменения базового программного кода.

Доска объявлений, например, может быть организована для всех сотрудников, их произвольной группы или индивидуально. Количество таких досок объявлений не ограничено.

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

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

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

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

Когда сотрудник ознакомился с этой записью, его бизнес-календарь автоматически вызовет метод ДОСКА_ОБЪЯВЛЕНИЙ.ПОДПИСЬ, при помощи которого издатель приказа может узнать о том, что данный сотрудник принял этот приказ для исполнения.

Эти и другие варианты использования объектного расширения макроязыка для нужд « разумного бюрократизма» могут существенно поднять культуру делопроизводства и исполнительскую дисциплину.

Перспективы развития

Развитие клиентской части системы

Уже более года специалисты фирмы « РеПКА» работают над созданием графического варианта клиентской части системы « Пан Вотруба» . Для этого в рамках данного направления работы средствами Borland Delphi-3 создан оригинальный инструмент Del*Forms (подробнее см. Oracle Magazine Russian Edition № 4 за 1997 год).

Параллельно с этим ведутся работы по созданию Windows-варианта клиентской части средствами стандартного инструментария Oracle Developer 2000/2 (Forms 5.0). Плановый срок окончания этих работ — осень 1998 года.

В то же время продолжается поддержка и развитие символьного варианта клиентской части (SQL*Forms 3.0), который имеет гораздо более скромные потребности в ресурсах клиентских рабочих мест, прост в освоении, эргономичен, обеспечивает высокую скорость ввода, переносим (различные варианты Unix, OS/2 Warp, MS DOS и т.д.), обеспечивает терминальный режим работы, проверен и показал недостижимую для Windows-приложений надежность в ходе многолетней эксплуатации. Это сочетание качеств определяет стойкую потребность отечественных пользователей и заставляет нас поддерживать и успешно развивать это направление в сложных условиях, когда Oracle Corp. официально отказалась от поддержки MS DOS в качестве клиентской платформы.

В составе символьного варианта клиентского ПО опционно поставляются средства настройки универсального текстового процессора Multi-Edit, обеспечивающие интегрированную среду работы с текстами программ на Oracle SQL и PL/SQL (в том числе отладку). Таким образом программисты заказчика при желании могут получить удобный инструмент для программирования на Oracle, функционально аналогичный Turbo-инструментарию фирмы Borland (вспомним популярные Turbo C, Turbo Pascal, Borland C и т.д.).

Техническим заданием на разработку графического клиентского ПО предусмотрена полная совместимость снизу вверх с символьным вариантом, чтобы в гетерогенных системах, где будут присутствовать в работе одновременно и символьный и графический клиентские интерфейсы, пользователь мог спокойно переходить с одного варианта на другой без переучивания. Для этого обеспечивается полная совместимость по нажатиям функциональных клавиш и меню.

Дополнительно в этом ТЗ предусмотрено расширение возможностей в сторону ограниченной поддержки функций редактирования графики в виде битовых изображений. Это расширение позволит включать в качестве экранного фона для диалога конечного пользователя с объектами фрагменты фотографий, отсканированных факсимильных изображений документов и так далее. При работе с такими объектами в символьном режиме указанные изображения будут отсутствовать на экране, а в остальном работа с ними будет одинакова.

Развитие серверной части системы

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

Переход серверной части системы « Пан Вотруба» на Oracle 8 начнется с момента, когда Oracle Corp. выпустит релиз Oracle 8, отвечающий нашим требованиям по надежности базового ПО промышленной информационной системы.

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

Это позволяет также компактно решать вопросы, описание алгоритмов решения которых на макроязыке объемно или недостаточно эффективно (например, при необходимости высокого быстродействия на недостаточно мощном для обрабатываемого объема данных сервере).

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

Потребности небольших и средних организаций (штат бухгалтерии до 15 человек) с ограниченными финансовыми ресурсами могут быть учтены запланированным на будущий год выпуском относительно недорогого коробочного варианта системы « Пан Вотруба» (на Personal Oracle). Такой вариант будет иметь заранее заготовленный набор типовых настроек для нескольких типичных категорий пользователей и только графический интерфейс клиентской части системы.

Дополнительно о системе « Пан Вотруба» см. №№ 4/97, 1/98, 2/98 настоящего журнала, Oracle Magazine/RE №2/98.

Александр Медведев,
руководитель проекта


С вопросами и предложениями обращайтесь digraph@rinet.ru



Copyright © 1994-2016 ООО "К-Пресс"