Russian Belarusian English German Japanese Ukrainian
  • Главная
  • Взаимодействие приложений в информационных системах
Взаимодействие приложений в информационных системах

ООП и визуальное проектирование позволяют создавать прекрасные прикладные программы. Но в настоящее время приложения, разрабатываемые для различных предприятий и их подразделений, как правило, должны функционировать не сами по себе, а являться частью некоторой информационной системы. В этом случае один из основных вопросов организация взаимного общения приложений друг с другом и с хранилищами информации базами данных (БД).

Как правило, приложения, работающие в составе информационной системы, черпают информацию из баз данных, к которым имеют доступ и другие приложения. При этом естественным образом создается возможность общения приложений через данные. Например, одно приложение может записать результаты своей работы в БД, а другое прочитать эти данные и использовать их в своей работе. Такое простейшее общение требует только одного: унификации данных, форматов их хранения и языка запросов к БД. Последнее решается, чаще всего, с помощью языка SQL.

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

Запуск из одного приложения других приложений позволяет использовать результат работы дочернего процесса, но и только. Часто этого мало. Требуется обмен информацией между приложениями, выполняющимися параллельно. Причем, надо, чтобы этот обмен не зависел от того, на каком языке написано то или иное приложение. А при работе в сети компьютеров, использующих разные платформы (Windows, Unix, Solaris и др.), желательно обеспечить и независимость общения от платформы.
Простейшими средствами общения, появившимися еще на заре Windows, являются разделяемые файлы (файлы, к которым одновременно могут получать доступ разные приложения), буфер обмена Clipboard, доступный практически всем приложениям Windows, и технология DDE - динамического обмена данными. Использование разделяемых файлов, баз данных и буфера обмена достаточно актуальны и сейчас как простейшие средства связи приложений друг с другом. А технология DDE, пожалуй, уступила место более современным способам общения.

Позднее появилась технология связывания и внедрения объектов (Object Linking and Embedding) - OLE 1. Она позволяла создавать составные документы, например, в документ Word таблицу Excel. На смену этой технологии пришла OLE 2, позволявшая разным программам предоставлять друг другу свои функции. Пользуясь этой технологией, одно приложение может не просто вызвать другое, но и обратиться к отдельным его функциям, т.е. управлять им.

Следующим шагом на пути совершенствования способов взаимодействия приложений друг с другом явилась разработка COM (Component Object Model) - компонентной модели объектов. Это стандартизованное описание функций (служб) программы, к которым она дает доступ другим программам. При этом неважно, на каких языках написаны программы и где они выполняются: в одном потоке, в разных потоках, на разных компьютерах. Особенно расширяет эти возможности распределенная модификация СОМ - DCOM. Основой технологии СОМ является понятие интерфейса. Каждый объект СОМ имеет несколько интерфейсов, дающих доступ к его функциям. Клиенту передается указатель на требуемый ему интерфейс, после чего клиентское приложение может вызывать описанные в интерфейсе функции.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту