- •Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Raid-технологии.
- •Параллелизм.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Объектно-ориентированное программирование в vba Среда программирования. Типы данных. Процедуры. Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений.
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •???Интеграция при помощи промежуточного буфера
- •Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •???Доступ к базам данных с помощью web технологий.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Распределенные одноранговые архитектуры
Согласно распределенной одноранговой архитектуре клиент, взаимодействующий с сервером приложений, трактуется более широко, чем компонент представления. Он может поддерживать интерфейс с конечным пользователем, а может выполнять прикладные функции и являться сервером приложения. В общем случае, в рамках данной архитектуры, клиент (сервер) может как предоставлять, так и запрашивать некоторые сервисы. Это позволяет на этапе проектирования информационной системы осуществить такую декомпозицию функций из указанных выше трех групп по компонентам ИС, которая была бы оптимальной в контексте решаемой задачи.
Для обеспечения взаимодействия компонентов информационной системы, поддерживающей распределенную одноранговую архитектуру, необходимо создать промежуточный программный уровень (middleware), при помощи которого запросы принимаются от клиентов и направляются соответствующему серверу. К счастью, сегодня уже имеется или анонсировано достаточное количество инструментальных средств, позволяющих разработчикам строить распределенные ИС, не вдаваясь в детали реализации взаимодействия клиента и сервера. Многие из этих программных продуктов реализуют стандарт CORBA (Common Object Request Broker Architecture), а некоторые инструментальные пакеты предлагают расширенные варианты этого стандарта.
Распределенные одноранговые архитектуры имеют более универсальный характер, чем двухуровневые и трехуровневые архитектуры. Четкое разграничение логических компонентов, присущее распределенным одноранговым архитектурам, и рациональный выбор программных средств позволяют достичь такого уровня гибкости, открытости и производительности ИС, который пока недостижим при использовании двухуровневых и трехуровневых архитектур.
Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
Современный уровень развития общества естественным образом вывел индустрию информационных технологий на одно из ведущих (стратегических) направлений, в котором сосредоточиваются огромные интеллектуальные и финансовые ресурсы. Информация и инструменты управления информацией (программные продукты различного функционального назначения) приобрели статус информационных ресурсов.
Информационные ресурсы концентрируются в рамках информационных систем (ИС). Объединение ресурсов на основе информационно-коммуникационного взаимодействия информационных систем выводит их на уровень корпоративных информационных ресурсов. Такое объединение будем называть Единым Информационным Пространством (ЕИП). Реализация ЕИП масштаба федерации, корпорации, предприятия возможна при создании и последующем соблюдении стандарта на взаимодействие между собой как информационных систем, так и их отдельных приложений.
К сожалению, в ряде случаев под информационными ресурсами понимают только данные, т.е. решение проблемы построения ЕИП сводится к организации доступа к удаленным базам данных. В результате понятие Единого Информационного Пространства сужается до понятия Единого Пространства Данных (ЕПД), а информационные системы выступают в роли клиента и сервера, взаимодействуя друг с другом.
Информационная система-клиент (ИСК) посылает информационной системе-серверу (ИСС) запрос, получая в качестве результата данные, подлежащие дальнейшей обработке. В качестве языка запросов, как правило, используется язык 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) в новые ИС;
допускает естественную интегрируемость информационных истем;
обеспечивает безопасность, надежность и отказоустойчивость;
обеспечивает документируемость создаваемых ИС, что гарантирует ее жизнеспособность и эволюционное развитие;
позволяет накапливать, тиражировать и развивать формализованные знания специалистов;
существенно снижает суммарные затраты на создание ИС.
