Теоретические и методологические основы построения
корпоративных порталов
Зыков С.В. ([email protected]) ООО «Нефтегазовая компания «ИТЕРА»
Введение
В современных условиях общественно-экономической глобализации манипулирование значительными (до петабайт), быстро растущими объемами гетерогенных данных различной степени структурированности представляет собой существенную проблему. Комплексные программы, направленные на развитие Интернет-технологий федерального (РФ, США) и международного (ООН, ЮНЕСКО и др.) уровней получают ежегодные ассигнования до 1 млрд долларов США и выше, значительную часть которых составляют расходы на НИОКР.
Растущее влияние ИТ в обществе требует интеграции программных комплексов, их данных и метаданных, созданных на основе различных концепций, методологий, моделей и подходов, унификация которых не была получена ни ведущими компаниями-разработчиками ПО (Microsoft, IBM, Oracle, SAP, BEA и др.), ни крупными научными коллективами.
Создание методологии, моделей и программных средств для интегрированной поддержки жизненного цикла (ЖЦ) информационных систем (ИС), должно существенно повысить производственно-экономическую эффективность таких ИС и их комплексов. Методология интегрированного проектирования, реализации и сопровождения ИС должна основываться на динамическом обеспечении целостности (мета)данных и оперативном взаимодействии компонент ИС с гетерогенной средой Интернет-вычислений.
Возникающие при этом проблемы вызваны неоднородностью методологий, моделей, стандартов, языковых и инструментальных средств автоматизированного проектирования (CASE) и быстрой реализации (RAD) ПО и осложняют непрерывную поддержку предметно-ориентированного ЖЦ, расширения ИС и персонализацию интерфейсов доступа к объектам данных (ОД) и объектам метаданных (ОМД).
Современные схемы проектирования ПО на основе XML и иных широко известных стандартов (OMG, MDC, WfMC, ISO/IEC) содержат методологические «разрывы» вследствие трудно формализуемой семантики метаданных, регламентирующих порядок доступа к ОД. Подходы, нацеленные на интероперабельность, интеграцию неоднородных ИС и унификацию доступа (OASIS, OMG, OGC, W3C, IBM, Microsoft, Ariba и др.), не достигли индустриальной масштабируемости в силу высокой сложности отображения объектно-реляционной схемы данных в XML-представление, особенно для Интернет-порталов на основе гетерогенных ИС, каждая из которых манипулирует тем или иным набором БД [11].
Отсутствие единой методологической схемы проектирования, реализации, внедрения и сопровождения корпоративного Интернет-ПО носит принципиальный характер [10,11] именно в силу недостаточно универсального теоретико-модельного обобщения.
Методология интегрированного проектирования и реализации ИС включает семейство моделей для предметной области (ПрО) [10] и среды вычислений (в форме абстрактной машины (АМ) [1]), а также инструментальные средства: ConceptModeller для визуального предметно-ориентированного проектирования ПО, ИС управления контентом (ИСУК) [1,8].
При этом под контентом понимается слабо- или неструктурированная информация вне основных ИС, используемая в стратегических бизнес-проектах.
Общее описание методологии
Методология обеспечивает объектное многоуровневое, с детализацией (мета)данных, итеративное моделирование ПрО и проектирование ПО в терминах О(М)Д, языковых и программных средств работы с ними. При этом обеспечивается возможность реинжиниринга от схем О(М)Д ИС до ПрО, а также актуальность, полнота, непротиворечивость и целостность О(М)Д на всем ЖЦ ИС.
Методология синтезирует фундаментальные положения теорий конечных последовательностей, категорий [1], вычислений [5] и семантических сетей [5]. В качестве вычислительной модели данных предложено исчисление ОД, синтезирующее основы теорий конечных последовательностей, вычислений (по Д. Скотту), категорий, семантических сетей и абстрактных машин (АМ), а также использующее принцип свертывания (концептуализации).
Методология включает модели данных для ПрО (на основе переменных доменов) и для инструментальных средств (на основе АМ), которые в более полной мере, чем традиционные (например, ER-модель [2]), учитывают особенности динамики и статики гетерогенных слабоструктурированных сред.
Предложенная модель данных основана на понятии состояния и обеспечивает событийно-ориентированное управление О(М)Д разнородных высокодинамичных предметных областей на основе переменных доменов (как для ПрО, так и для среды вычислений). При этом спектр возможных данных и метаданных расширяется до практически произвольных хранилищ данных (в том числе Б(М)Д), поддерживающих как современные ориентированные на пользователя front-end и back-end архитектуры глобально распределенных ИС, так и промежуточные и устаревшие системы. Особенностью инструментального решения является контент-ориентированная обработка О(М)Д, которая оригинальным образом моделируется посредством АМ. Методология основана на модели данных для совместного управления ОД и ОМД в гетерогенной интероперабельной глобально распределенной среде и обеспечивает упорядоченное и ускоренное по сравнению с существующими аналогами внедрение ИС. Благодаря формализации процедур верификации и тестирования ПО существенно уменьшаются затраты на сопровождение, поддержание отказоустойчивости и целостности О(М)Д, облегчаются расширение, модернизация, адаптация и оптимизация производительности ИС.
Модель предметной области
Рассмотрение ОД модели ПрО происходит по схеме «класс ^ объект ^ значение», что, с одной стороны, обеспечивает преемственность с классическим подходом ООП, а с другой -уточняет существующие модельные обобщения ([6] и др.) для случая корпоративных комплексов гетерогенных Интернет-ИС. При этом, классом называется семейство ОД интегрированной ПрО, под объектом понимается конкретизация класса шаблоном ИС управления контентом (ИСУК), а значение формируется той же ИС в виде информационной страницы корпоративного Интернет-портала (рис.2). Согласно одному из ранних подходов [6], ОД представимы в виде троек <концепт, индивид, состояние>, где концепт понимается как совокупность функций с одной и той же областью определения и одной и той же областью значений. Индивид означает сущность, выделяемую экспертом в ПрО указанием идентифицирующих свойств. Смена состояний моделирует динамику индивидов ПрО.
Важными преимуществами предлагаемой модели являются более адекватное отображение динамики и статики гетерогенных слабоструктурированных предметных областей, а также поддержка событийно-ориентированного управления данными и метаданными в глобальной среде вычислений. В архитектурно-интерфейсном аспекте вычислительная модель обеспечивает непрерывное итеративное проектирование открытых, распределенных, интероперабельных ИС на основе методологий UML, BPR, COM и CORBA. В отношении реализации поддерживается интегрированная (с использованием веб-сервисов) front-end/back-end обработка информации из различных типов хранилищ данных для разнородных корпоративных ИС на основе событийно-управляемых процедур (в форме скриптов) и вычислительных систем на базе динамического SQL.
Методология «сквозного» проектирования, реализации и сопровождения корпоративных порталов (рис.1) обеспечивает оперативную покомпонентную разработку открытых расширяемых программных комплексов в Интернет-среде с непрерывным контролем адекватности и целостности. В процессе проектирования спецификация ИС трансформируется от понятий ПрО к сущностям модели и далее, посредством СЛБЕ-инструментов,- к системе фреймов и схеме объектно-реляционных Б(М)Д с АМ в качестве средства манипулирования О(М)Д и описанию архитектур и интерфейсов (компонент) целевой ИС.
Моделирование ПрО основано на схеме двукратного свертывания [6], т.е. на установлении отношений между классами C ОД интегрированной ПрО D, которые в общем случае моделируются доменами:
C = Iw:[D] V v:D (w(v) о А) = {v:D | А}, где:
C и D находятся в отношении частичного порядка (C ISA D);
А - критерий принадлежности ОД w к классу C с точки зрения предметного эксперта. Класс сложных («многомерных») ОД представим как n-арное отношение между ОД (фреймовое представление бинарного отношения приведено в [2]):
Rn = Iw: [Vi,..,Vn] Vvi:Vi ... Vvn:Vn (w [vb...,Vn] о Г) = {[ vi:Vb...,Vn:Vn] | Г}. Таким образом, произвольный класс ОД представляет собой семейство упорядоченных пар (vi:Vi), где vi - i-й атрибут класса, а Vi - его тип.
Отметим, что в состав атрибутов входят как данные, так и метаданные (размерности объектов, ограничения целостности и др.). К метаданным относится и числовая
характеристика (битовое поле), определяющая возможность использования (объектов) класса в шаблонах веб-страниц ИСУК (в бинарной форме).
При конкретизации класса C в соотнесении a1 с шаблоном Ak информационной страницы ИСУК означивание семейства шаблонов M устанавливает в значение «истинно» единственный его элемент mi3 совпадающий по номеру (k) с номером шаблона: M = (mi,..., mk,..., mN), где Vi=1,...,N т;е{0,1}; [M|Ak] = (m1*,., mk*,., mN*), где mi* = 1, i = k и mi* = 0, i * k.
Кроме того, атрибуты метаданных v1,.,vn конкретизируются ОМД согласно условиям ограничений ti, заданных в соотнесении для шаблона Г:
[(v1:Vb...,Vn:Vn)]ti = (ЫЩО,..., Ы№)) = (v1':V1',...,Vn':Vn'), причем V1' ISA V1,..., Vn' ISA Vn.
Второе соотнесение a2 приводит к конкретизации шаблона (v1',.,vn') информационной страницы ИСУК значениями контента (c1,., cn): [(v1':V1',.,vn':Vn')]c = (V/d,..., vn'/cn), где ^Сь..., cn : Сn, причем C1 ISA V1',., Cn ISA Vn'.
Заметим, что уровень абстракции элементарных сущностей модели ОД снижается при переходе от классов к объектам и далее к значениям, а расширяемость ОД при метауровневых переходах обеспечивает проектирование расширяемого программного комплекса. Объекты (в соответствии с приписанными типами) агрегируются в зависящие от соотнесений совокупности и формируют переменные домены. Адекватность, нейтральность и семантичность (компонентов) ОД обеспечивают предметно-ориентированное проектирование ИС с сохранением адекватности модели на всем протяжении процесса реализации.
Классы объектов u определяются дескрипциями Iu A(u) со значениями [Iu A(u)], где A -критерий отбора. Двукратное применение соотнесений a1eA и a2eA из домена соотнесений A переводит эти классы сначала в объекты о = [Iu A(u)] a1, а затем в значения с = o a2.
Двунаправленный характер соотнесений (от классов к значениям и обратно) обеспечивает адекватное моделирование реинжиниринга ПО; механизм дескрипций облегчает построения в обоих направлениях.
Переменные домены O^A) = {o | o : A^T} строятся как семейства объектов o с типами T, полученных из ПрО D с применением предикатов-критериев отбора A, причем совокупность возможных ОД o содержится в D, а действительных O^A) - в T [2].
Исследование взаимодействия классов, объектов и значений позволяет сформулировать основной принцип моделирования:
[ класс объектов ] : соотнесение ^ объект, где левая часть соотношения соответствует языковому уровню описания классов, а правая -уровню ПрО. Суть соотношения состоит в том, что для описания классов используются критерии отбора (формулы), идентифицирующие функции из соотнесений в объекты, т.е. класс рассматривается как процесс. Согласно принципу свертывания, для отбора и идентификации ОД будем использовать схему исследования ПрО:
[класс объектов] : соотнесение ^ объект > объект > соотнесение ^ значение У значение, где символ "V обозначает снижение уровня абстракции.
Таким образом, схема (рис.2) иллюстрирует принцип свертывания:
о = [Iu Au]a1 о {о} = faeD | [A (о) ]} и схему исследования ПрО с переходом от классов объектов в языке к таковым в ПрО посредством функции вычисления значения [•], причем классы используются для фиксации объектов и, далее,- значений. Класс объектов описывается критерием отбора A с дескрипцией I. Вычисление значения формирует соответствие между объектами ПрО и языка описания ОД.
1
http://zhurnal.ape.relarn.ru/articles/2005/220.pdf а2
Класс (ХГМЬ)
Photo
-Name : char ■GolorDepth : int ■Resolution : int IG: long ■Width : irrt ■H&ight : int
■Tsmplhjtask : long double
Построение объектов: о = pu Ди] ä{ <=> {о} = {oeD| [До]}
1
Объект (ИСУК).
I 1
Агрегирование объектов: GT(A) = {o | о: А -^Т}
Типизация Т = {v. D ! А}, О/А) ISA Т
1
Значение (портал)
Ж- ЙЁЙ
Рис.2. Модельная составляющая проектирования корпоративных порталов
Модель ОД, метаданных и состояний характеризуется структурированностью, масштабируемостью, агрегируемостью, инкапсуляцией метаданных, иерархичностью и наглядностью. Расширяемость, адекватность, нейтральность и семантичность созданной модели обеспечивают предметно-ориентированное проектирование программных комплексов с сохранением адекватности на всех этапах реализации.
Моделирование среды вычислений
В качестве модели ИСУК корпоративных ИС в развитие категориальной АМ предлагается АМ управления контентом (АМУК) на основе состояний. Процесс работы (динамика состояний) АМУК формализуется явным перечислением всевозможных смен состояний. С точки зрения модели, при отображении шаблонов страниц портала в собственно страницы портала фактически производится связывание (типизированных) переменных, характеризующих элементы шаблона, со значениями (элементами портальных страниц), т.е. означивание.
Семантика АМУК основана на теории семантических доменов Д.Скотта [5]. Типы атомарных шаблонов (элементов контента) получаются из стандартных доменов, а типы более сложных шаблонов (элементов контента) строятся посредством конструкторов доменов. Формальная семантика АМУК строится по следующей схеме:
1) перечисление стандартных (наиболее часто используемых в рамках модели) доменов;
2) определение конечных (содержащих явно перечислимые элементы) доменов;
3) определение конструкторов (операций построения новых доменов на основе имеющихся), т.е. способов комбинирования доменов;
4) формализация агрегированных доменов на основе атомарных доменов и конструкторов
(последние включают функциональное пространство [Б1^Б2], декартово произведение
*
[В1хВ2х_хБп], последовательность Б и дизъюнктную сумму [Б1+ Б2+.. ,+Бп] ).
Формальный язык АМУК содержит множество выражений Е (константы, идентификаторы I, операция присваивания («записи» контента в «слот» шаблона) и др.) и
множество команд С (сравнение, последовательность команд и др.). Синтаксис АМУК определяется описанием синтаксических доменов (Ide для идентификаторов, Com для команд и Exp для выражений). Система агрегированных доменов АМУК имеет вид:
State = Memory х Input х Output; Memory = Ide ^ [Value + {unbound}]; Input = Value*; Output = Value*; Value = Type1 + Type2 + ...
Домен State состояния АМУК определяется состоянием памяти Memory с учетом значений Value на входе Input (контент) и выходе Output (веб-страница) АМ. Под памятью понимается отображение из домена идентификаторов в домен значений, т.е. аналог связывания переменной со значением в ламбда-исчислении. Для корректной обработки исключительных ситуаций вводится элемент unbound. Домен значений представляет собой дизъюнктную сумму доменов, содержащих существующие в языке АМУК типы контента.
Семантические предложения описывают значения денотатов (правильно построенных конструкций) языка управления О(М)Д АМУК. Денотатом идентификатора при возможности связывания является идентификатор, связанный со значением в форме упорядоченной тройки вида
<значение в памяти, идентификатор, состояние> без смены состояния, а при невозможности - сообщение об ошибке (error):
E [I] s = (m, I = unbound) error, ^ (m, I, s).
Вычисление значения выражения в среде АМУК приводит к такому изменению состояния, что либо происходит связывание переменной со значением, либо (при невозможности связывания) генерируется ошибка:
E : Exp ^ [State ^ [[Value х State] + {error}]].
Вычисление значения команды в среде АМУК приводит к изменению состояния, причем возможно возникновение исключительной ситуации (ошибки):
С : Com ^ [State ^ [State + {error}]].
Семантическое предложение для команды АМУК, выполняющей присваивание контента элементу шаблона приводит к смене состояния с подстановкой значения контента v вместо идентификатора шаблона I в памяти:
C [I=E] = E [E] * ^v (m , i, o) . (m [v/I], i, o).
Конкретизация методологии для Интернет-порталов
Методология проектирования ИС детализирована для управления корпоративными ресурсами, а также информацией и форматами ее представления (т.е. ОД и ОМД) корпоративных информационных ресурсов (в форме Интернет- и Интранет-сайтов). В соответствии с уточненной последовательностью проектирования программных комплексов для управления (информационными) ресурсами предложена обобщенная схема обработки гетерогенных хранилищ данных, позволяющая пользователям в зависимости от динамически активируемых скриптов-соотнесений взаимодействовать с распределенной Б(М)Д в том или ином состоянии. При этом скрипты в виде профилей соединения с Б(М)Д и хранимых процедур объектно-ориентированных языков программирования (в форме АМ на состояниях) инициируются в зависимости от активируемых со стороны пользователя событий, обеспечивая прозрачное интеллектуальное распределенное взаимодействие класса front-end. Динамически варьируемые профили доступа к Б(М)Д обеспечивают строгую, гибкую персонализацию, высокую отказоустойчивость и защищенность данных в гетерогенной среде вычислений.
Для автоматизированной трансляции О(М)Д в схемы целевых Б(М)Д и коды АМ управления контентом (АМУК) разработано предметно-ориентированное инструментальное средство ConceptModeller с визуальной поддержкой семантических сетей, транслирующее
модель ПрО в UML-спецификацию. Создана соответствующая процедура на формальном языке, обеспечивающая полноту, непротиворечивость и целостность данных.
Методология проектирования и реализации ПО также включает обобщенный алгоритм интеграции новых компонент в состав существующих ИС. Алгоритм основан на анализе семантически приоритетных ОД и обеспечивает полноту, непротиворечивость и целостность расширяемых моделей ОД, а также возможность итеративного проектирования ИС посредством реинжиниринга бизнес-моделей [9].
Апробация методологии
Методология проектирования и реализации практически апробирована при создании ПО управления персоналом UniQue, Интернет- и Интранет-порталов в Международной группе компаний (МГК) "ИТЕРА".
С точки зрения системной архитектуры реализованный программный комплекс предоставляет (в зависимости от положения в иерархии доступа) соотнесения с тем или иным уровнем ввода, коррекции, анализа и вывода (мета)данных. В качестве интерактивных интерфейсных средств используются предметно-ориентированные дизайнер форм (в том числе веб-страниц), генератор отчетов, онлайновая документация и средства администрирования. БД поддерживает интегрированное хранение данных (для оперативного доступа) и метаданных (размерности ОД, ограничения целостности, формат представления ОД и другие параметры ресурсов). Компоненты программного комплекса охвачены унифицированным интерфейсом и интегрированы в среду корпоративных ИС.
В ходе применения методологии проектирования программного комплекса спецификации модели данных ПрО в виде фрагментов семантических сетей, сформированных инструментальным средством визуального предметно-ориентированного фрейм-проектирования ConceptModeller, преобразуются в UML-диаграммы (в т.ч. классов), затем, средствами традиционного CASE-инструментария (например, Oracle Developer/2000) - в схемы Б(М)Д (в форме ERD) и, наконец, в атрибуты графической формы, управляющей публикацией контента ИСУК и результирующей информационной страницы.
На основе разработанной информационной модели спроектировано архитектурно-интерфейсное решение программного комплекса для управления корпоративными информационными ресурсами с детализацией соотнесений взаимодействия с Б(М)Д по классам пользователей и администраторов системы. В рамках методологии проектирования, реализации и сопровождения ПО и связующих интерфейсов с целью проверки адекватности разработанной вычислительной модели О(М)Д и алгоритма интеграции компонент спроектирован быстрый прототип программного комплекса.
В качестве среды реализации на основе проведенного сравнительного анализа выбраны CASE- и RAD-комплекс Sybase S-Designor и PowerBuilder, а также язык Perl и СУБД mySQL.
По результатам апробации прототипа было реализовано полномасштабное ПО объектно-ориентированного типа, адаптированное для разработки прикладного программного комплекса по решению задач управления персоналом и информационными ресурсами (Интернет- и Интранет-порталами).
Веб-страницы, автоматически сгенерированные посредством ИСУК, представлены на Интранет-портале и официальном Интернет-сайте многопрофильной корпорации МГК «ИТЕРА» (около 150 компаний в более чем 20 странах, около 10 000 сотрудников). Последний ресурс постоянно доступен в глобальной сети Интернет по адресу www.itera.ru.
Для обеспечения уровня индустриальной масштабируемости и отказоустойчивости на основании выявленной системы критериев сравнительного анализа средств рекомендован выбор индустриального инструментального CASE- и RAD- комплекса Oracle Developer/2000 и Oracle Portal.
Разработанная концепция положена в основу внедрения в МГК "ИТЕРА"; компоненты прошли экспериментальную проверку от 2 до 5 лет. В результате внедрения получены более чем 30%-ное сокращение сроков окупаемости (ROI) и уменьшение стоимости внедрения (TCO) по сравнению с существующими коммерческими аналогами; улучшились показатели
мобильности, расширяемости, масштабируемости и эргономичности реализации. Существенно уменьшены затраты на сопровождение, поддержание отказоустойчивости и целостности данных, облегчены модернизация и оптимизация производительности ИС.
Итеративное многоуровневое проектирование портального ПО основано на модели, синтезирующей объектно-ориентированные методы управления данными (ОД) и знаниями (ОМД). Индустриальная реализация корпоративного портала проведена с использованием интегрированных CASE- и RAD-средств.
Литература
1. Barendregt H.P. The lambda calculus (revised edition), Studies in Logic, 103, North Holland, Amsterdam, 1984
2. Codd E.F. Relational Completeness of Data Base Sublanguages Data Base Systems In: Rustin R. Eds.- New York: Prentice Hall, 1972 (Courant Computer Sci. Symposia Series No.6)
3. Cousineau G., Curien P.-L., Mauny M. The categorical abstract machine. Science of Computer Programming 8(2): 173-202, 1987
4. Curry H.B., Feys R. Combinatory logic, vol.I, North Holland, Amsterdam, 1958
5. Scott D.S. Lectures on a mathematical theory of computations. Oxford University Computing Laboratory Technical Monograph. PRG-19, 1981. - 148 pp.
6. Wolfengagen V.E. Event Driven Objects. Proceedings of the Workshop on Computer Science and Information Technologies CSIT'99. Moscow, Russia, 1999 p.p.88-96
7. Zykov S.V. Abstract Machine as a Model of Content Management. Workshop on Computer Science and Information Technologies CSIT'2004, Budapest, Hungary, 2004
8. Zykov S.V. Integrated Methodology for Internet-Based Enterprise Information Systems Development. 1st International Conference on Web Information Systems and Technologies WEBIST2005, USA, Miami, FL, May 2005, p.p.168-175.
9. Зыков С.В. Управление персоналом с помощью интегрированных информационных систем.- М.: «Недра коммюникейшнс», 2001.- 160 с.
10. Зыков С.В. Проектирование Интернет-порталов.- М.: МФТИ, 2005.- 258 с.
11. Когаловский М.Р. Энциклопедия технологий баз данных. Эволюция технологий, технологии и стандарты, инфраструктура, терминология. - М.: Финансы и статистика, 2002. - 800 с.