Разделы
Главная Сапромат Моделирование Взаимодействие Методы Инновации Индукция Исследования Факторизация Частоты
Популярное
Как составляется проект слаботочных сетей? Как защитить объект? Слаботочные системы в проекте «Умный дом» Какой дом надежнее: каркасный или брусовой? Как правильно создавать слаботочные системы? Что такое энергоэффективные дома?
Главная »  Основы 

Теоретические и методологические основы построения

корпоративных порталов

Зыков С.В. (szykov@itera.ru) ООО Нефтегазовая компания ИТЕРА

Введение

В современных условиях общественно-экономической глобализации манипулирование значительными (до петабайт), быстро растущими объемами гетерогенных данных различной степени структурированности представляет собой существенную проблему. Комплексные программы, направленные на развитие Интернет-технологий федерального (РФ, США) и международного (ООН, ЮНЕСКО и др.) уровней получают ежегодные ассигнования до 2 млрд долларов США и выше, значительную часть которых составляют расходы на НИОКР.

Растущее влияние ИТ в обществе требует интеграции программных комплексов, их данных и метаданных, созданных на основе различных концепций, методологий, моделей и подходов, унификация которых не была получена ни ведущими компаниями-разработчиками ПО (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] и среды вычислений (в форме абстрактной машины (АМ) [7]), а также инструментальные средства: ConceptModeller для визуального предметно-ориентированного проектирования ПО, ИС управления контентом (ИСУК) [7,8].

При этом под контентом понимается слабо- или неструктурированная информация вне основных ИС, используемая в стратегических бизнес-проектах.



Общее описание методологии

Методология обеспечивает объектное многоуровневое, с детализацией (мета)данных, итеративное моделирование ПрО и проектирование ПО в терминах О(М)Д, языковых и программных средств работы с ними. При этом обеспечивается возможность реинжиниринга от схем О(М)Д ИС до ПрО, а также актуальность, полнота, непротиворечивость и целостность О(М)Д на всем ЖЦ ИС.

Методология синтезирует фундаментальные положения теорий конечных последовательностей, категорий [1], вычислений [5] и семантических сетей [5]. В качестве вычислительной модели данных предложено исчисление ОД, синтезирующее основы теорий конечных последовательностей, вычислений (по Д. Скотту), категорий, семантических сетей и абстрактных машин (АМ), а также использующее принцип свертывания (концептуализации).

Методология включает модели данных для ПрО (на основе переменных доменов) и для инструментальных средств (на основе АМ), которые в более полной мере, чем традиционные (например, ER-модель [2]), учитывают особенности динамики и статики гетерогенных слабоструктурированных сред.

Предложенная модель данных основана на понятии состояния и обеспечивает событийно-ориентированное управление О(М)Д разнородных высокодинамичных предметных областей на основе переменных доменов (как для ПрО, так и для среды вычислений). При этом спектр возможных данных и метаданных расширяется до практически произвольных хранилищ данных (в том числе Б(М)Д), поддерживающих как современные ориентированные на пользователя front-end и back-end архитектуры глобально распределенных ИС, так и промежуточные и устаревшие системы. Особенностью инструментального решения является контент-ориентированная обработка О(М)Д, которая оригинальным образом моделируется посредством АМ. Методология основана на модели данных для совместного управления ОД и ОМД в гетерогенной интероперабельной глобально распределенной среде и обеспечивает упорядоченное и ускоренное по сравнению с существующими аналогами внедрение ИС. Благодаря формализации процедур верификации и тестирования ПО существенно уменьшаются затраты на сопровождение, поддержание отказоустойчивости и целостности О(М)Д, облегчаются расширение, модернизация, адаптация и оптимизация производительности ИС.

Модель предметной области

Рассмотрение ОД модели ПрО происходит по схеме класс объект значение , что, с одной стороны, обеспечивает преемственность с классическим подходом ООП, а с другой -уточняет существующие модельные обобщения ([6] и др.) для случая корпоративных комплексов гетерогенных Интернет-ИС. При этом, классом называется семейство ОД интегрированной ПрО, под объектом понимается конкретизация класса шаблоном ИС управления контентом (ИСУК), а значение формируется той же ИС в виде информационной страницы корпоративного Интернет-портала (рис.2). Согласно одному из ранних подходов [6], ОД представимы в виде троек <концепт, индивид, состояние>, где концепт понимается как совокупность функций с одной и той же областью определения и одной и той же областью значений. Индивид означает сущность, выделяемую экспертом в ПрО указанием идентифицирующих свойств. Смена состояний моделирует динамику индивидов ПрО.

Важными преимуществами предлагаемой модели являются более адекватное отображение динамики и статики гетерогенных слабоструктурированных предметных областей, а также поддержка событийно-ориентированного управления данными и метаданными в глобальной среде вычислений. В архитектурно-интерфейсном аспекте вычислительная модель обеспечивает непрерывное итеративное проектирование открытых, распределенных, интероперабельных ИС на основе методологий UML, BPR, COM и CORBA. В отношении реализации поддерживается интегрированная (с использованием веб-сервисов) front-end/back-end обработка информации из различных типов хранилищ данных для разнородных корпоративных ИС на основе событийно-управляемых процедур (в форме скриптов) и вычислительных систем на базе динамического SQL.



Методология сквозного проектирования, реализации и сопровождения корпоративных порталов (рис.1) обеспечивает оперативную покомпонентную разработку открытых расширяемых программных комплексов в Интернет-среде с непрерывным контролем адекватности и целостности. В процессе проектирования спецификация ИС трансформируется от понятий ПрО к сущностям модели и далее, посредством CASE-инструментов,- к системе фреймов и схеме объектно-реляционных Б(М)Д с АМ в качестве средства манипулирования О(М)Д и описанию архитектур и интерфейсов (компонент) целевой ИС.


Рис. 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...,vj - Г) = {[ vi:Vb...,Vn:Vn] Г).

Таким образом, произвольный класс ОД представляет собой семейство упорядоченных пар (vi:Vi), где vi - i-й атрибут класса, а Vi - его тип.

Отметим, что в состав атрибутов входят как данные, так и метаданные (размерности объектов, ограничения целостности и др.). К метаданным относится и числовая



характеристика (битовое поле), определяющая возможность использования (объектов) класса в шаблонах веб-страниц ИСУК (в бинарной форме).

При конкретизации класса C в соотнесении a1 с шаблоном Ak информационной страницы ИСУК означивание семейства шаблонов M устанавливает в значение истинно единственный его элемент mi, совпадающий по номеру (k) с номером шаблона:

M = (mi,..., nik,..., mN), где Vi=1,...,N mie{0,1};

[MAk] = (пп*,..., mk*,, mN*), где mi* = 1, i = k и mi* = 0, i * k.

Кроме того, атрибуты метаданных v1, ,vn конкретизируются ОМД согласно условиям ограничений ti, заданных в соотнесении для шаблона Г:

[(v1:Vb...,Vn:Vn)]ti = Ы№)) = (v1:V1,...,Vn:Vn),

причем V1 ISA Vb..., Vn ISA Vn.

Второе соотнесение a2 приводит к конкретизации шаблона (v1,,vn) информационной страницы ИСУК значениями контента (c1,., cn): [(v1:V1,,vn:Vn)]c = (vd,..., vn/cn), где dA,..., cd, причем C1 ISA W,..., Cn ISA Vn.

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

Классы объектов u определяются дескрипциями Iu A(u) со значениями [Iu A(u)], где A -критерий отбора. Двукратное применение соотнесений a1eA и a2eA из домена соотнесений A переводит эти классы сначала в объекты о = [Iu A(u)] a1, а затем в значения с = o a2.

Двунаправленный характер соотнесений (от классов к значениям и обратно) обеспечивает адекватное моделирование реинжиниринга ПО; механизм дескрипций облегчает построения в обоих направлениях.

Переменные домены OA) = {o o : A-T} строятся как семейства объектов o с типами T, полученных из ПрО D с применением предикатов-критериев отбора A, причем совокупность возможных ОД o содержится в D, а действительных OA) - в T [2].

Исследование взаимодействия классов, объектов и значений позволяет сформулировать основной принцип моделирования:

[ класс объектов ] : соотнесение - объект, где левая часть соотношения соответствует языковому уровню описания классов, а правая -уровню ПрО. Суть соотношения состоит в том, что для описания классов используются критерии отбора (формулы), идентифицирующие функции из соотнесений в объекты, т.е. класс рассматривается как процесс. Согласно принципу свертывания, для отбора и идентификации ОД будем использовать схему исследования ПрО:

[класс объектов] : соотнесение - объект > объект > соотнесение - значение У значение, где символ V обозначает снижение уровня абстракции.

Таким образом, схема (рис.2) иллюстрирует принцип свертывания:

о = [Iu Au]a1 о {о} = faeD [A (б) ]} и схему исследования ПрО с переходом от классов объектов в языке к таковым в ПрО посредством функции вычисления значения [ ], причем классы используются для фиксации объектов и, далее,- значений. Класс объектов описывается критерием отбора A с дескрипцией I. Вычисление значения формирует соответствие между объектами ПрО и языка описания ОД.



Объект (ИСУК)

Класс (UML)

tome : char ColorDepth : int Resolution : int ID: long Wdth : int Height : int

Templtofask : long double

Построение объектов: о = pu Ди] л, с? {о} = {oeD [До]}

Агрегирование объектов: От(А) = {о о: А -Т}

Типизация: T={v:D Д}, От<А) ISA Т


Рис.2. Модельная составляющая проектирования корпоративных порталов

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

Моделирование среды вычислений

В качестве модели ИСУК корпоративных ИС в развитие категориальной АМ предлагается АМ управления контентом (АМУК) на основе состояний. Процесс работы (динамика состояний) АМУК формализуется явным перечислением всевозможных смен состояний. С точки зрения модели, при отображении шаблонов страниц портала в собственно страницы портала фактически производится связывание (типизированных) переменных, характеризующих элементы шаблона, со значениями (элементами портальных страниц), т. е. означивание.

Семантика АМУК основана на теории семантических доменов Д.Скотта [5]. Типы атомарных шаблонов (элементов контента) получаются из стандартных доменов, а типы более сложных шаблонов (элементов контента) строятся посредством конструкторов доменов. Формальная семантика АМУК строится по следующей схеме:

1) перечисление стандартных (наиболее часто используемых в рамках модели) доменов;

2) определение конечных (содержащих явно перечислимые элементы) доменов;

3) определение конструкторов (операций построения новых доменов на основе имеющихся), т.е. способов комбинирования доменов;

4) формализация агрегированных доменов на основе атомарных доменов и конструкторов (последние включают функциональное пространство [D1- D2], декартово произведение

[D1xD2x xDn], последовательность D и дизъюнктную сумму [D1+ D2+...+Dn] ).

Формальный язык АМУК содержит множество выражений E (константы, идентификаторы 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] * Av (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 CSIT99. 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 CSIT2004, 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 с.