Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
Современный уровень развития общества естественным образом вывел индустрию информационных технологий на одно из ведущих (стратегических) направлений, в котором сосредоточиваются огромные интеллектуальные и финансовые ресурсы. Информация и инструменты управления информацией (программные продукты различного функционального назначения) приобрели статус информационных ресурсов.
Информационные ресурсы концентрируются в рамках информационных систем (ИС). Объединение ресурсов на основе информационно-коммуникационного взаимодействия информационных систем выводит их на уровень корпоративных информационных ресурсов. Такое объединение будем называть Единым Информационным Пространством (ЕИП). Реализация ЕИП масштаба федерации, корпорации, предприятия возможна при создании и последующем соблюдении стандарта на взаимодействие между собой как информационных систем, так и их отдельных приложений.
К сожалению, в ряде случаев под информационными ресурсами понимают только данные, т.е. решение проблемы построения ЕИП сводится к организации доступа к удаленным базам данных. В результате понятие Единого Информационного Пространства сужается до понятия Единого Пространства Данных (ЕПД), а информационные системы выступают в роли клиента и сервера, взаимодействуя друг с другом.
Информационная система-клиент (ИСК) посылает информационной системе-серверу (ИСС) запрос, получая в качестве результата данные, подлежащие дальнейшей обработке. В качестве языка запросов, как правило, используется язык SQL - стандарт общения с реляционными системами управления базами данных. Доступ к удаленным базам данных (БД) в большинстве случаев осуществляется с помощью продуктов, поддерживающих протоколы ODBC (Open DataBase Connectivity) и JDBC (Java DataBase Connectivity), либо используются шлюзы, поставляемые производителями СУБД или третьими фирмами-разработчиками.
Фактически, при построении единого пространства данных используется архитектура доступа к удаленным данным, являющаяся аналогом двухуровневой архитектуры клиент-сервер. Эта архитектура предполагает реализацию на стороне клиента как функций ввода и отображения данных, так и чисто прикладных функций приложения, т.е. методов обработки данных. Клиент направляет запросы к серверу, который их обрабатывает и возвращает клиенту результат, оформленный как блок данных.
Описанному сценарию взаимодействия систем присущи и все недостатки, характерные для двухуровневой архитектуры клиент-сервер:
· необходимо знать на стороне ИСК особенности используемой СУБД и структуру удаленной БД ИСС, что снижает уровень безопасности всей системы в целом;
· затруднено сопровождение и модификация тех приложений информационных систем-клиентов, которые общаются с базами данных информационных систем-серверов, т.к. любое изменение схемы удаленной БД на стороне ИСС влечет за собой изменение приложений в ИСК, что усложняет обслуживание, обновление или замену приложений, установленных на десятках, а то и сотнях компьютеров;
· значительно усложняется администрирование БД ИСС, включающее управление правами доступа пользователей ИСК.
Существенным недостатком рассмотренного сценария является дублирование приложений ИСС в ИСК, что приводит к неэффективному использованию ресурсов взаимодействующих информационных систем.
Рост популярности глобальной сети 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 предоставило для разработчиков информационных систем абсолютно новые технологические решения построения приложений в среде Internet/Intranet. Однако было бы неправильно рассматривать технологию Java только как часть технологии WWW, поскольку Java позволят решать задачи гораздо более широкого класса, чем технология, базирующаяся на языке HTML, протоколе HTTP и CGI.
Возможности, предоставляемые WWW-технологией, безусловно, расширили спектр решений, которыми руководствуются проектировщики при построении ИС. Но возникает вопрос: что же представляют собой системы взаимодействующих ИС, основанные на технологии WWW? Способны ли они решить проблему единого информационного пространства? С уверенностью можно сказать, что нет.
Столь сильное утверждение связано с тем, что при рассмотрении взаимодействия информационных систем, ИСК с браузером выступает в роли компонента представления, а ИСС с WWW-сервером и приложениями выступает в роли компонента, реализующего функциональную логику и доступ к данным, что, по сути, соответствует двухуровневой архитектуре с интеллектуальным сервером. Несмотря на то, что так же как и в подходе, основанном на доступе к удаленным данным, WWW-технология способна улучшить ситуацию с импортом/экспортом данных между ИСК и ИСС, все-таки имеет место ряд недостатков, присущих двухуровневой архитектуре с интеллектуальным сервером.
Так, одним из недостатков, несомненно, является реальное отсутствие возможности реализации процесса обработки данных, поставляемых WWW-сервером, на стороне ИСК. Действительно, ИСК получает информацию от ИСС в виде HTML-страниц, что практически делает невозможным организацию процесса обработки полученных данных компонентами ИСК. Как следствие, это приводит к отсутствию требуемой эффективности использования вычислительных ресурсов информационных систем. С другой стороны, остро встает проблема поддержания безопасности системы в целом, которая в настоящий момент не имеет целостного решения в среде Internet, что недопустимо для организаций, выдвигающих повышенные требования к безопасности. И наконец, как и в предыдущем подходе, существенно усложняется администрирование ресурсов ИСС, включающее управление правами доступа пользователей ИСС.
В отличие от рассмотренных подходов, в концепции единого информационного пространства предусматривается, что в роли информационных ресурсов ИС (по отношению к рассматриваемой ИС) выступают не только данные, но и различные приложения информационных систем. Тогда в каждой из информационных систем часть методов обработки данных реализуется в виде приложений, доступных из других информационных систем. Например, при взаимодействии двух ИС первая пользуется сервисами, предоставляемыми второй, и как результат получает уже обработанные данные, которые могут быть подвергнуты дальнейшей обработке компонентами первой ИС.
Данный подход соответствует распределенной, одноранговой архитектуре взаимодействия. Согласно этой архитектуре, любые приложения из различных ИС могут выступать как в роли клиента, так и в роли сервера по отношению друг к другу, совместно решая те или иные задачи. Такой подход минимизирует дублирование приложений. Распределение приложений по различным информационным системам позволяет добиться оптимального баланса загрузки приложений и аппаратных средств, и, следовательно, приводит к эффективному использованию информационных ресурсов систем в целом.
Знание схемы базы данных необходимо только тому приложению, которое обрабатывает данные из этой базы данных. Использование ИСС сервисов, предоставляемых информационной системой-сервером и реализующих методы обработки данных, позволяет решить проблему изменения схемы удаленной базы данных. При этом статичность интерфейсов компонентов, предоставляющих ИСС набор сервисов, достигается путем применения методологий объектно-ориентированного анализа и проектирования, распределенных объектных технологий (СORBA, Java, DCOM (по мере принятия стандарта)) на различных этапах создания информационных систем.
И, наконец, так как в рамках конкретных информационных систем локализованы не только данные, но методы их обработки, происходит существенное уменьшение затрат на администрирование, сопровождение и модификацию информационных систем, составляющих единое информационное пространство.
Большинство как имеющихся, так и разрабатываемых в России информационных систем представляют собой приложения в двухуровневой архитектуре клиент-сервер. При этом в качестве средств общения клиента и сервера довольно часто используются не полностью стандартизированные механизмы триггеров и хранимых процедур. Специфика их реализации (неотделимость от ядра системы управления базами данных) приводит к необходимости наличия дополнительных вычислительных ресурсов на стороне сервера.
При увеличении выполняемых сервером работ системы в двухуровневой архитектуре клиент-сервер становятся все более похожими на большие ЭВМ (мэйнфреймы), а структуры обрабатываемых ими данных и способы их представления слабо доступны для использования совместно с другими приложениями. Обычно взаимодействие рассмотренных приложений клиент-сервер организовывают средствами СУБД, что существенно перегружает серверную часть. С другой стороны, современные технологии позволяют создать интегрированную среду, которая как в рамках ИС, так и в рамках концепции Единого Информационного Пространства:
· не зависит от аппаратных и системных программных средств;
· опирается на международные и промышленные стандарты;
· позволяет разработать единую информационную модель представления предприятия как совокупности управляемых ресурсов и потоков деятельности, настраивающуюся на реализацию правил управления коллективной деятельностью каждого конкретного предприятия;
· обеспечивает расширяемость системы, т.е. простоту и легкость добавления новых компонентов в существующие ИС (масшабируемость);
· позволяет интегрировать старые функционирующие приложения (legacy applications) в новые ИС;
· допускает естественную интегрируемость информационных истем;
· обеспечивает безопасность, надежность и отказоустойчивость;
· обеспечивает документируемость создаваемых ИС, что гарантирует ее жизнеспособность и эволюционное развитие;
· позволяет накапливать, тиражировать и развивать формализованные знания специалистов;
· существенно снижает суммарные затраты на создание ИС.