Хаткевич М.И. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
|
С развитием рыночных отношений каждое предприятие решает задачу повышения эффективности работы, управляемости и мобильности. Важным источником движения в этом направлении является переход от использования разрозненных средств информатизации к использованию корпоративных информационных систем (ИС), способных удовлетворить все необходимые информационные потребности предприятия. Корпоративные ИС в силу своих свойств в большинстве случаев относятся к классу больших ИС, для которого, несмотря на отдельные удачные проекты, еще не создано удовлетворительного теоретического, методологического и инструментального базиса. В статье предлагается подход к построению больших ИС, который объединяет преимущества реляционного и объектного подходов, что позволяет достичь качественно нового сочетания характеристик ИС и снизить затраты на поддержку жизненного цикла ИС. Объектно-реляционный дуализм Практика показывает, что эффективное совместное использование реляционной и объектной технологий при построении ИС вызывает затруднения. Известно [1,2], что объектная и реляционная технологии придают ИС противоположные, взаимодополняющие свойства. Поэтому совместное их использование весьма желательно. Трудности совместного использования реляционной и объектной технологии не случайны, так как легко показать, что они в корне своем противоречивы. Так, подход современного реляционного программирования является развитием подхода структурного программирования, формула которого лаконично выражена Виртом: алгоритмы + структуры данных = программы. Тогда формула реляционного программирования: реляционная модель данных +{SQL манипуляция}* + {процедура сервера}* + {клиентское приложение}* = система. Характерное для структурного программирования разделение алгоритмов и структур данных для реляционного программирования еще более усиливается, данные окончательно выходят на первое место и становятся самоценными. Основная идея объектного подхода прямо противоположна: структуры данных и алгоритмы объединяются в семантически значащие сущности – объекты. Структуры данных скрываются (инкапсулируются) за интерфейсом объекта. На первый план выходят алгоритмы. Таким образом, реляционный и объектный подходы в корне своем противоречивы, поэтому прямой синтез этих подходов неэффективен. Однако в философской и естественнонаучной практике получил использование метод дуализма, который позволяет осуществлять взаимодополняющий синтез противоречивых подходов. Алгоритм использования этого метода состоит в следующем: 1) в объекте находится наиболее принципиальное противоречие; 2) на основе этого противоречия формулируется противоречивое высказывание; 3) объект рассматривается с противоположных сторон, будто этих объектов два. В качестве наиболее принципиального противоречия среди требований, предъявляемых к большой ИС, выберем противоречие между высокими техническими характеристиками и высокой степенью гибкости. Требуемые технические характеристики: - возможность работы с большими объемами информации, - высокая скорость реакции системы в интерактивном режиме, - высокая скорость обработки в пакетном режиме, - высокие надежностные характеристики. Требуемая степень гибкости: · высокие адаптационные возможности к особенностям конкретной инсталляции, · возможность широкого маневра на этапе внедрения системы, · высокий уровень настраиваемости системы во время эксплуатации, · высокий потенциал развития системы. Рассмотрение перечня свойств, относящихся к техническим характеристикам, показывает, что этот перечень характерен для современных реляционных СУБД. В то же время, для реляционных СУБД совершенно не характерен перечень свойств, относящийся к степени гибкости. Он характерен для объектных технологий. Такие свойства, как инкапсуляция данных, динамический полиморфизм, множественное наследование, позднее связывание, повторное использование кода существенно повышают гибкость системы. К тому же, в области объектно-ориентированных СУБД не создано ничего сопоставимого по техническим характеристикам и промышленному уровню с реляционными СУБД. Противоречивое высказывание. Большая ИС должна быть одновременно и реляционной, и объектно-ориентированной. Объект рассматривается с двух противоположных сторон. Последовательная реализация дуализма реляционного и объектного начал позволит рассматривать систему независимо с двух противоположных сторон, то есть на любом уровне проектирования и любом этапе построения большой ИС разработчик может в зависимости от задачи использовать те средства, свойства которых наиболее адекватны решаемой задаче. Методологические принципы и архитектура Для реализации подхода объектно-реляционного дуализма на практике необходимо следовать методологическим принципам. 1. Отказ от прямого синтеза объектного и реляционного подходов. 2. Оба подхода должны быть применимы на всех уровнях проектирования и быть доступны на всех этапах построения ИС. 3. Равноправие двух подходов не должно нарушаться на всех уровнях проектирования и для всех этапов построения ИС. 4. Должна быть обеспечена независимость этих двух подходов. Любые взаимозависимости препятствуют техническим средствам каждого подхода развиваться в своем направлении и темпе. 5. Технические средства каждого подхода по отношению к техническим средствам другого должны быть прозрачны. Отличие от других подходов Попытки получить преимущества от объединения реляционных и объектных средств для построения ИС предпринимают многие разработчики, но при этом в подходах можно выделить ряд типичных недостатков. · Использование объектно-реляционных средств реляционной СУБД. · Наличие средств обоих подходов не на всех уровнях проектирования. Например, появление объектных средств только на клиентском уровне. В этом случае на серверном уровне невозможно использовать преимущества объектного подхода. · Нарушение равноправия двух подходов и объявление одного из них главным. Например, когда за основу берется объектный подход, а реляционная СУБД рассматривается как хранилище объектов. Этих недостатков лишен предлагаемый в данной работе подход. Архитектура системы Для реализации изложенного в статье подхода предлагается модификация трехуровневой архитектуры, в которой функциональность среднего уровня упорядочивается в виде объектной модели, построенной над реляционной моделью данных (см. рис.). По сравнению с традиционными средствами реализации среднего уровня (процедурные программные единицы, представления) использование объектной модели имеет преимущества. - Объектные средства позволяют конструировать понятия и связи между ними произвольного уровня абстракции. - Использование средств объектного программирования, в особенности таких, как инкапсуляция данных, динамический полиморфизм, наследование, повторное использование кода, позволяет реализовать уровень бизнес-логики ИС на качественно новом уровне. Предлагаемая архитектура содержит в себе два независимых представления одних и тех же данных: реляционную и объектную модели, что придает системе качественно новое сочетание характеристик. 1. Две модели данных позволяют структурировать функциональную нагрузку между реляционными и объектными средствами в соответствии с их свойствами. Реляционные средства: организация и хранение данных; критичные по времени и объему выборки данных; формирование аккумулирующих отчетов; реализация специализированных рабочих мест. Объектные средства: организация бизнес-логики системы; создание универсальных механизмов; миграция информации (экспорт, импорт); формирование объектного интерфейса системы. 2. Реляционная и объектная модели независимы. Первая занимается данными, вторая – функциональностью и не содержит собственных данных, а является каналом доступа к ним. Это позволяет нескольким классам объектов, различающихся и уровнем абстракции, и аспектом, проецироваться на одну сущность реляционной модели. Одному фрагменту реляционной модели данных может соответствовать несколько зависимых или независимых фрагментов объектной модели данных, что позволяет организовать многоаспектный доступ к данным. 3. Наличие объектной модели уже на серверном уровне позволяет использовать преимущества объектных технологий на всех уровнях. Важнейшим преимуществом является возможность структурирования функциональности системы на две составляющие – универсальную и специальную. Это чрезвычайно важно, поскольку: - универсальная составляющая реализуется один раз, а потом многократно используется и в рамках одной системы, и от системы к системе; - отделение универсальной составляющей функциональности позволяет более качественно реализовать специальную часть, - универсальная составляющая представляет собой постоянно пополняющийся набор универсальных механизмов, который используется как палитра для реализации подсистем ИС, - механизмы универсальной составляющей развиваются независимо от конкретных ИС. В качестве иллюстрации использования метода объектно-реляционного дуализма приведем пример реализации административной подсистемы медицинской корпоративной ИС. Административная подсистема – это неотъем- лемая часть любой корпоративной ИС. Она содержит анкетные и профессиональные данные сотрудников, информацию о структуре организации, штатном расписании, о расстановке штатов и др. Значительная часть этой информации может использоваться для реализации сложных аккумулирующих отчетов, поэтому административная подсистема обязана иметь хорошо спроектированную реляционную модель данных. На крупном медицинском предприятии поток административной информации интенсивен, поэтому подсистема должна иметь высокую степень автоматизации ручного труда, чтобы силами 1-2 человек поддерживать актуальное состояние данных. Все изложенное делает эту подсистему весьма показательной для иллюстрации использования метода объектно-реляционного дуализма. Функциональность подсистемы была изначально структурирована на две части – универсальную и специальную. Универсальная часть функциональности реализована при помощи общесистемных универсальных механизмов. 1. Механизм «Универсальный навигатор» – клиентское приложение, использующееся для реализации универсального рабочего места пользователя. 2. Механизм «Рабочий стол» используется для формирования информационного аспекта конкретного пользователя. Каждый пользователь имеет свой объект «Стол», который является универсальным контейнером объектов. Совокупность объектов, «лежащих на столе», и определяет фрагмент объектной модели, доступной пользователю. 3. Механизм отбора объектов используется в качестве поставщика объектов для механизмов «Динамических отчетов» и «Генерации сценариев». 4. Механизм динамических отчетов используется для формирования различных представлений выборок объектов «Сотрудник» и «Приказ». 5. Механизм сценариев используется для реализации механизма приказов, который является основным способом работы с административной информацией. 6. Механизм генерации сценариев используется для генерации приказов с большим количеством однородных пунктов. На входе механизма – выборка объектов «Сотрудник», на выходе – приказ по личному составу заданного типа. Функциональность специальной части структурируется на три составляющие. 1. Реляционная модель данных представляет собой реляционную модель предметной области без сущностей и связей, которые реализуют сервисную функциональность. 2. Базовая реляционная функциональность – это стандартный набор средств реализации функциональности: пакеты, формы, отчеты. - Функциональность пакетов двоякая: одна часть сосредоточивается вокруг таблиц и предоставляет процедурный интерфейс, а вторая реализует бизнес-логику форм. - Функциональность форм существенно упрощена за счет выноса из них бизнес-логики, сервисной функциональности и таких сложных для реализации компонентов, как дерево, реализацию которого берет на себя механизм «Универсальный навигатор». Мощность большинства форм такова, что они реализуют одно действие объекта, а это примерно соответствует редактированию одной записи таблицы. - За счет наличия универсального механизма динамических отчетов на долю реляционных отчетов достались лишь сложные аккумулирующие отчеты. 3. Базовая объектная функциональность представляет собой описание всех необходимых объектов средствами механизма «Информационных объектов» [2]. В заключение отметим, что на примере построения административной подсистемы медицинской корпоративной ИС можно дать приблизительную количественную оценку эффективности использования подхода объектно-реляционного дуализма, поскольку эта подсистема является довольно типичной в сфере построения больших ИС. Затраты на построение универсальной и специальной частей данной подсистемы оказываются приблизительно равны. Таким образом, за счет использования шести универсальных механизмов при реализации административной подсистемы подход объектно-реляционного дуализма позволил снизить трудозатраты приблизительно в два раза. Поскольку большинство механизмов универсальной части – конструкторы, система приобретает большую степень гибкости, что повышает ее настраиваемость, модифицируемость, расширяемость. Наличие в системе ярко выраженного ядра в виде совокупности универсальных механизмов повышают ее концептуальную целостность, универсальность, простоту. Можно констатировать, что чем больше универсальная составляющая в функциональности системы и чем лучше произведена декомпозиция на универсальную и специальную части системы, тем эффективнее использование данного метода. Список литературы 1. Малых В.Л., Пименов С.П., Хаткевич М.И. Объектно-реляционный подход к созданию больших информационных систем. // Программные системы. - М.: Наука, Физматлит, 1999. - С.177. 2. Хаткевич М.И., Матвеев Г.Н. Принцип объектно-реляционного дуализма для построения медицинских информационных систем. // Современные информационные технологии в диагностической, лечебной и образовательной деятельности. - М., 2000. - С. 72. 3. Айламазян А.К., Гулиев Я.И., Комаров С.И., Ма- лых В.Л., Морозов В.Ю. Информационные системы в медицине: проблемы и решения // Программные системы. - М.: Наука, Физматлит, 1999. - С. 162. 4. Айламазян А.К., Осипов Г.С. Проблемы создания интегрированных сред поддержки лечебно-диагностического процесса // IV Междунар. форум: Стратегии здоровья: информационные технологии и интеллектуальное обеспечение медицины - 97. Тез. Докл.- М., 1997. - С. 152-158. 5. Белышев А.Г., Гулиев Я.И., Морозов В.Ю. Построение медицинских систем с использованием объектных технологий //Программные системы.- М.: Наука, Физматлит, 1999. - С. 169. |
http://swsys.ru/index.php?id=688&lang=.&page=article |
|