Распределенные объектные технологии в информационных системах
Введение
Единое информационное пространство
Стратегия разработки крупных информационных систем
Архитектура взаимодействия компонент распределенной ИС
Функциональная нагрузка компонентов в ИС
Двухуровневые архитектуры
Трехуровневые архитектуры
Распределенные одноранговые архитектуры
Технологии интеграции компонентов распределенных ИС
Заключение
Литература
Введение
Сегодня, в условиях
постоянного поиска, направленного
на улучшение производственных процессов,
и быстрого развития вычислительной
техники и прикладного программного обеспечения,
сложность информационных систем резко
возрастает. Появляются новые концепции,
технологии, архитектурные решения построения
ИС. Совершается переход от статичной,
централизованной структуры ИС к динамичной,
гибкой, основанной на распределенности
систем получения и обработки информации.
Специфика решаемых
с помощью ИС задач, различная
сложность их создания, модификации,
сопровождения, интеграции с другими
ИС и т.п., позволяют разделить информационные
системы на следующие классы:
малые информационные системы;
средние информационные системы;
крупные информационные
системы (корпоративные информационные
системы - системы уровня федеральных
организаций).
К классу малых
информационных систем относятся системы
уровня небольшого предприятия. К основным
признакам таких систем следует отнести:
непродолжительный жизненный цикл;
ориентация на массовое использование;
невысокая цена;
практическое отсутствие средств аналитической обработки данных;
отсутствие возможности незначительной модификации без участия разработчиков;
использование в основном настольных СУБД (Clarion, FoxPro, Clipper, Paradox, Access и др.);
однородность аппаратного и системного программного обеспечения (широкое использование в качестве аппаратного обеспечения недорогих персональных компьютеров);
практическое отсутствие средств обеспечения безопасности;
и т.д.
В отличие от
предыдущего класса, признаками средних
информационных систем являются:
длительный жизненный цикл (возможность роста до крупных систем);
наличие аналитической обработки данных;
наличие штата сотрудников, осуществляющих функции администрирования аппаратных и программных средств;
наличие средств обеспечения безопасности;
тесное взаимодействие с фирмами - разработчиками программного обеспечения по вопросам сопровождения компонентов ИС;
и т.д.
И наконец, к
характерным признакам
длительный жизненный цикл;
миграцию унаследованных систем;
разнообразие используемого аппаратного обеспечения, жизненный цикл которого меньше, чем у создаваемой системы;
разнообразие используемого программного обеспечения;
масштабность и сложность решаемых задач;
пересечение множества различных предметных областей;
ориентация на аналитическую обработку данных;
территориальную распределенность, что особенно характерно для России;
и т.д.
В настоящее
время появляется множество статьей,
касающихся описания продуктов, технологий
и методологий, рассчитанных на создания
малых и средних информационных
систем. Технологии и методологии построения
крупных информационных систем, объединяющих
внутри себя множество локальных информационных
систем, практически не рассматриваются
и не обсуждаются. Довольно часто это приводит
к тому, что в качестве технологий создания
крупной информационной системы разработчики
выбирают те, которые изначально на это
не рассчитаны. В результате реализуемые
проекты не получают должного развития,
становясь "долгостроем", или умирают
вообще.
В связи с
этим в статье представлен концептуальный
взгляд на создание информационных систем
масштаба корпорации (уровня федеральных
организаций) с использованием распределенных
объектных технологий.
Единое информационное
пространство
Современный уровень
развития общества естественным образом
вывел индустрию информационных технологий
на одно из ведущих (стратегических) направлений,
в котором сосредоточиваются огромные
интеллектуальные и финансовые ресурсы.
Информация и инструменты управления
информацией (программные продукты различного
функционального назначения) приобрели
статус информационных ресурсов.
Информационные
ресурсы концентрируются в
Рисунок 1.
Корпоративные
информационные ресурсы
К сожалению, в
ряде случаев под информационными
ресурсами понимают только данные,
т.е. решение проблемы построенияЕИП
сводится к организации доступа к удаленным
базам данных. В результате понятие Единого
Информационного Пространства сужается
до понятия Единого Пространства Данных
(ЕПД) (рис. 2), а информационные системы
выступают в роли клиента и сервера, взаимодействуя
друг с другом по сценарию представленному
на рис. 3.
Рисунок 2.
Единое пространство
данных
Информационная
система-клиент (ИСК) посылает информационной
системе-серверу (ИСС) запрос, получая
в качестве результата данные, подлежащие
дальнейшей обработке. В качестве языка
запросов, как правило, используется язык
SQL - стандарт общения с реляционными системами
управления базами данных. Доступ к удаленным
базам данных (БД) в большинстве случаев
осуществляется с помощью продуктов, поддерживающих
протоколы ODBC (Open DataBase Connectivity) и JDBC (Java DataBase
Connectivity), либо используются шлюзы, поставляемые
производителями СУБД или третьими фирмами-разработчиками.
Рисунок 3.
Архитектура доступа
к удаленным данным
Фактически, при
построении единого пространства данных
используется архитектура доступа к удаленным
данным, являющаяся аналогом двухуровневой
архитектуры клиент-сервер [1]. Эта архитектура
предполагает реализацию на стороне клиента
как функций ввода и отображения данных,
так и чисто прикладных функций приложения,
т.е. методов обработки данных. Клиент
направляет запросы к серверу, который
их обрабатывает и возвращает клиенту
результат, оформленный как блок данных.
Описанному сценарию
взаимодействия систем присущи и
все недостатки, характерные для двухуровневой
архитектуры клиент-сервер:
необходимо знать
на стороне ИСК особенности
затруднено сопровождение и модификация тех приложений информационных систем-клиентов, которые общаются с базами данных информационных систем-серверов, т.к. любое изменение схемы удаленной БД на стороне ИСС влечет за собой изменение приложений в ИСК, что усложняет обслуживание, обновление или замену приложений, установленных на десятках - сотнях компьютеров;
значительно усложняется
администрирование БД ИСС, включающее
управление правами доступа пользователей
ИСК.
Существенным
недостатком рассмотренного сценария
является дублирование приложений ИСС
в ИСК, что приводит к неэффективному
использованию ресурсов взаимодействующих
информационных систем.
Рост популярности
глобальной сети Internet и технологии
World-Wide-Web в последнее время вызывает
повышенный интерес к ним со стороны
разработчиков корпоративных
Изначально WWW создавался
только как средство, предоставляющее
графический интерфейс в Internet и
упрощающее доступ к информации, распределенной
по миллионам компьютеров во всем
мире [19]. При этом основными компонентами
являлись страницы, узлы, броузеры и серверы
Web. Не вдаваясь в подробности описания,
отметим, что пользователям была предоставлена
возможность навигации по Internet с использованием
технологии гипертекста, поддерживаемой
протоколом HTTP (Hypertext Transfer Protocol) и стандартом
языка HTML (Hypertext Markup Language).
Появление CGI (Common
Gateway Interface) решило проблему обмена информацией
между сервером Web и такими программами
как базы данных, которые не могут
непосредственно обмениваться данными
с броузерами Web. В результате появилась
возможность реализации интерактивного
взаимодействия конечного пользователя
с программами стороны Web-сервера, которые
обрабатывали информацию, введенную пользователем
в броузере, и в качестве результата возвращали
сформированную HTML-страницу. Многие из
существующих решений доступа к БД в среде
Internet и основаны на данном подходе.
Следует отметить,
что появление языка Java предоставило
для разработчиков
Возможности, предоставляемые
WWW-технологией, безусловно, расширили
спектр решений, которыми руководствуются
проектировщики при построении ИС.
Но возникает вопрос: что же представляют
собой системы
Столь сильное
утверждение связано с тем, что
при рассмотрении взаимодействия информационных
систем, ИСК с броузером выступает
в роли компонента представления, а
ИСС с WWW-сервером и приложениями выступает
в роли компонента, реализующего функциональную
логику и доступ к данным, что по сути соответствует
двухуровневой архитектуре с интеллектуальным
сервером (рис. 4). Несмотря на то, что так
же как и в подходе, основанном на доступе
к удаленным данным, WWW-технология способна
улучшить ситуацию с импортом/экспортом
данных между ИСК и ИСС, все-таки имеет
место ряд недостатков, присущих двухуровневой
архитектуре с интеллектуальным сервером.
Рисунок 4.
Архитектура с
интеллектуальным сервером.
Так, одним из
недостатков, несомненно, является реальное
отсутствие возможности реализации
процесса обработки данных, поставляемых
WWW-сервером, на стороне ИСК. Действительно,
ИСК получает информацию от ИСС в
виде HTML-страниц, что практически делает
невозможным организацию процесса обработки
полученных данных компонентами ИСК. Как
следствие, это приводит к отсутствию
требуемой эффективности использования
вычислительных ресурсов информационных
систем. С другой стороны, остро встает
проблема поддержания безопасности системы
в целом, которая в настоящий момент не
имеет целостного решения в среде Internet,
что не допустимо для организаций, выдвигающих
повышенные требования к безопасности.
И наконец, как и в предыдущем подходе,
существенно усложняется администрирование
ресурсов ИСС, включающее управление правами
доступа пользователей ИСС.
В отличие от
рассмотренных подходов, в концепции
единого информационного
Данный подход
соответствует распределенной, одноранговой
архитектуре взаимодействия [2, 18]. Согласно
этой архитектуре, любые приложения из
различных ИС могут выступать как в роли
клиента, так и в роли сервера по отношению
друг к другу, совместно решая те или иные
задачи. Такой подход минимизирует дублирование
приложений. Распределение приложений
по различным информационным системам
позволяет добиться оптимального баланса
загрузки приложений и аппаратных средств,
и, следовательно, приводит к эффективному
использованию информационных ресурсов
систем в целом.
Знание схемы
базы данных необходимо только тому приложению,
которое обрабатывает данные из этой
базы данных. Использование ИСС сервисов,
предоставляемых информационной системой-сервером
и реализующих методы обработки
данных, позволяет решить проблему изменения
схемы удаленной базы данных. При этом
статичность интерфейсов компонентов,
предоставляющих ИСС набор сервисов, достигается
путем применения методологий объектно-ориентированного
анализа и проектирования, распределенных
объектных технологий (СORBA, Java, DCOM (по мере
принятия стандарта)) на различных этапах
создания информационных систем.
И, наконец, так
как в рамках конкретных информационных
систем локализованы не только данные,
но методы их обработки, происходит существенное
уменьшение затрат на администрирование,
сопровождение и модификацию информационных
систем, составляющих единое информационное
пространство.
Большинство как
имеющихся, так и разрабатываемых
в России информационных систем представляют
собой приложения в двухуровневой архитектуре
клиент-сервер. При этом в качестве средств
общения клиента и сервера довольно часто
используются не полностью стандартизированные
механизмы триггеров и хранимых процедур.
Специфика их реализации (неотделимость
от ядра системы управления базами данных)
приводит к необходимости наличия дополнительных
вычислительных ресурсов на стороне сервера.
При увеличении
выполняемых сервером работ системы
в двухуровневой архитектуре
клиент-сервер становятся все более
похожими на большие ЭВМ (мэйнфреймы),
а структуры обрабатываемых ими данных
и способы их представления слабо доступны
для использования совместно с другими
приложениями [3]. Обычно взаимодействие
рассмотренных приложений клиент-сервер
организовывают средствами СУБД, что существенно
перегружает серверную часть. С другой
стороны, современные технологии позволяют
создать интегрированную среду, которая
как в рамках ИС, так и в рамках концепции
Единого Информационного Пространства:
не зависит от аппаратных и системных программных средств;
опирается на международные и промышленные стандарты;
позволяет разработать единую информационную модель представления предприятия как совокупности управляемых ресурсов и потоков деятельности, настраивающуюся на реализацию правил управления коллективной деятельностью каждого конкретного предприятия;
обеспечивает расширяемость системы, т.е. простоту и легкость добавления новых компонентов в существующие ИС;
позволяет интегрировать старые функционирующие Приложения (legacy applications) в новые ИС;
допускает естественную интегрируемость ИС;
обеспечивает безопасность, надежность и отказоустойчивость;
обеспечивает документируемость создаваемых ИС, что гарантирует ее жизнеспособность и эволюционное развитие;
позволяет накапливать, тиражировать и развивать формализованные знания специалистов;
существенно снижает
суммарные затраты на создание ИС.
Стратегия разработки
крупных информационных систем
Сэкономить значительные
финансовые средства при создании информационных
систем, соответствующих современному
уровню, возможно в результате организационных
мероприятий, призванных осуществлять:
экспертизу проектов ИС;
научно-методическое руководство и консультирование при проведении анализа предметной области, проектирования и реализации ИС;
комплексный анализ состояния предприятий, выработку рекомендаций по их реструктуризации с последующим внедрением ИС, обеспечивающих реализацию эффективных моделей управления;
надзор за реализацией ИС ( соответствие выбранным стандартам, установленным планам, рекомендованным технологиям);
взаимодействие
с ведущими компаниями в области
информационных технологий, научными
и учебными центрами.
При разработке
информационных систем особое внимание
должно уделяться этапам анализа
и проектирования. Однако часто этим
пренебрегают, и построенные таким
образом системы, как правило, быстро проявляют
свою нежизнеспособность. За свой короткий
жизненный цикл такие системы получили
название "сгорающие системы" (stovepipe
systems) [4]. Характерные черты таких систем:
монолитность;
закрытость (сложность переноса на другие платформы);
трудоемкость внесения изменений;
дорогостоящая поддержка;
отсутствие документации.
Можно отметить
следующие причины, приводящие к
созданию нежизнеспособных проектов:
слабое знание методологий и технологий построения современных больших ИС;
недостаточное
внимание к анализу предметной области
и возможных изменений
отсутствие опыта
проектирования программных архитектур
ИС.
Часто система
становится "сгорающей" из-за способа
ее разработки. Это выражается в том, что
на начальном этапе довольно часто создание
программных компонентов ведется исключительно
для внутренних потребностей конкретного
подразделения, не предусматривая взаимодействия
с компонентами других подразделений.
Позже становится очевидным, что взаимодействие
программных компонентов различных подразделений
не только желательно, но и необходимо,
а осуществить его чрезвычайно трудно,
а порой и невозможно. Архитектуры таких
ИС являются замкнуто-собственными (ad-hoc
architecture). Подобные архитектурные решения
затрудняют расширение системы, требуют
существенной модификации объединяемых
компонент ИС, что резко увеличивает стоимость
разработки и сроков реализации.
Для упорядоченного
процесса разработки и во избежание
необдуманных сжигающих средства решений
первоочередной этап создания ИС заключается
в формировании стратегии разработки
и дальнейшего использования такой системы.
Необходимо наличие концептуальных решений
по всем основным вопросам, в круг которых
входят как общие проблемы построения
крупной ИС, так и сложности, вызванные
спецификой самой организации.
Характерной особенностью
разработки стратегии является формирование
требований к ИС и планирование разработки
в целом (материальные затраты, время,
ресурсы и т.д.), которые основаны на результатах
предварительного анализа деятельности
организации. На этом этапе выделяются
требования к ИС с обоснованием по каждому
принимаемому решению с учетом организационных,
финансовых и технических ограничений.
Определим основные
группы требований к средним и
крупным ИС:
Требования к системе в целом.
Требования по соответствию стандартам.
Требования по безопасности системы.
Требования к аппаратной части и системному программному обеспечению:
серверные платформы;
платформы клиентов;
сети и телекоммуникации.
Требования к интерфейсу с пользователем.
Требования к системам доступа к данным;
СУБД;
информационным хранилищам;
аналитической обработки данных.
Требования к совместимости с другими ИС.
Требования к миграции унаследованных систем.
Требования по администрированию системы.
и т.д.
Как пример раскрыты
"требования к системе в целом":
ИС не должна
противоречить
ИС должна эволюционировать:
ИС не должна полностью зависеть от производителей аппаратных и программных средств;
при разработке ИС необходимо опираться на международные и промышленные стандарты;
необходимо обеспечить расширяемость системы, т.е. возможность добавления новых компонентов в уже существующую ИС;
при разработке ИС необходимо предусмотреть возможность интеграции со смежными системами;
необходимо обеспечить инкапсуляцию старых задач.
Разработку (анализ, проектирование и программирование) следует осуществлять согласно методологии, выбор которой необходимо обосновать.
В соответствие с выбранной методологией необходимо сформировать технологию, учитывающую все аспекты разработки ИС.
Уровень безопасности
ИС должен соответствовать
и т.д.
Важнейшим решением,
принимаемым при создании ИС, является
выбор и обоснование
Другим важнейшим
решением является обоснованный выбор
технологии создания ИС. Технология создания
информационных систем представляет собой
совокупность практических инженерных
знаний, применяемых в процессе разработки
программного обеспечения на протяжении
всего его жизненного цикла. Технология
также описывает принципы организации
и управления процессом разработки, представляя
его в виде ряда последовательных и параллельных
этапов, а также рабочих продуктов, создаваемых
на этих этапах. С технологией неразрывно
связаны инструментальные средства, используемые
на различных стадиях разработки.
Архитектура взаимодействия
компонент распределенной ИС
Выбор приемлемой
технологии создания информационной системы
напрямую зависит от выбора архитектуры
ИС.
Рассматривая
информационную систему как совокупность
взаимодействующих компонентов, можно
распределить их по следующим уровням:
аппаратный - компьютеры, периферийные устройства, сетевое и телекоммуникационное оборудование и т.д.;
системный и системно-зависимый - операционные системы, сетевые протоколы и т. д.;
прикладной среды - средства middleware (CORBA, DCE, Tuxedo и т.д.), DBMS, Intranet, OLAP, коммуникационные интерфейсы...;
приложения предметной области:
общая инфраструктура - совокупность компонент ИС, пригодных для использования в различных предметных областях. Такими компонентами, например, являются:
средства автоматизации бизнес-процессов (атомарных задач и потоков работ);
средства управления доступом к информационным ресурсам;
средства составления и печати отчетов (генераторы отчетов).
компоненты реализующие
модель предметной области(~ей);
Под проектированием
архитектуры взаимодействия компонентов
информационной системы (уровни II-IV) понимается
выделение базовых компонентов, разработка
их интерфейсов, а также определение правил
и принципов взаимодействия этих компонентов.
Проектирование
архитектуры взаимодействия компонентов
ИС - один из наиболее важных и сложных
этапов и ему не всегда уделяется достаточно
внимания при разработке системы.
При проектировании
архитектуры взаимодействия распределенных
компонентов информационной системы
различают следующие типы взаимодействия
[13]:

- Распределенные системы обработки данных
- Распределенные технологии
- Распределители, их виды
- Распределительная логистика
- Распределительная логистика
- Распределительная логистика
- Распределительная логистика
- Распределения чистой прибыли
- Распределенная система объектов. DCOM
- Распределенность терминов
- Распределенность терминов в категорическом высказывании. Логический квадрат
- Распределенные вычисления и приложения
- Распределенные информационные системы
- Распределённые информационные системы (РИС)