Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HOR / TOTAL.DOC
Скачиваний:
10
Добавлен:
16.04.2013
Размер:
312.83 Кб
Скачать

0. Введение.

0.1. Идея общей интеграции.

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

  1. алгоритмический,

  2. процедурный,

  3. объектно-ориентированный,

то можно аналогично проследить следующие степени интеграции:

  1. сетевые и прочие коммуникационные протоколы, совместимость на уровне исходного кода,

  2. библиотеки подпрограмм и технология клиент/сервер,

  3. распределенные объектные системы.

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

0.2. Взаимодействие на уровне процедур.

Очевидно, что реализовывать одни и те же алгоритмы в каждом программном продукте нерационально и ведет в огромным затратам на поддержку работы этих продуктов (обновление в соответствии с выходом новой спецификации протокола, внедрение поддержки новых протоколов и т.д.). Поэтому базовые алгоритмы были реализованы в виде библиотек. Библиотека предполагает многократное использование кода, находящейся в ней различными программными продуктами, что существенно облегчает обновление версий и перекладывает задачу обеспечения взаимодействия с плеч разработчика конкретной программы на плечи разработчика данной библиотеки. В данном случае прослеживается ярко выраженный случай специализации. Реализация библиотек может быть совершенно разной - статические библиотеки, которые связываются с программой на этапе компиляции; динамически связываемые (DynamicLinked) в случае Windows или разделяемые (Shared) в случае UNIX библиотеки и т.д. Такой подход оказался очень удобным и библиотеки процедур стали неотъемлемой частью операционных систем. В современной операционной системе отводится большая роль поддержке всевозможных протоколов коммуникации. Появились специализированные библиотеки - драйверы (drivers) и сервисные приложения (services, daemons), которые обеспечивали взаимодействие прикладных программ по коммуникационных каналам. При этом конкретная программа использовала четко определенное множество функций, процедур, системных вызовов и зачастую не имела точного представления о протоколе, по которому происходило взаимодействие.

Сравнительно недавно появилась технология клиент/сервер, которая на данный момент имеет очень большую популярность. Эта технология позволяет строить распределенные приложения, в которых часть действий выполняется на сервере, а часть на клиенте. Недостатком такой технологии является все тот же процедурный подход и наличие массы стандартов на такое взаимодействие, затрудняющее взаимодействие между приложениями, написанными в соответствии с различными стандартами.

Соседние файлы в папке HOR