Системы с открытой архитектурой. Принципы построения. Виды программной архитектуры сетевых информационных комплексов. Методологический базис открытых систем

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

· Распознать данные (выбрать данные для передачи из файловой системы);

· Разбить данные на управляемые блоки (сообщение – на пакеты);

· Добавить информацию к каждому блоку (адрес источника, адрес приемника, информацию для синхронизации и информацию для проверки ошибок);

· Поместить данные в сеть и отправить их по указанному адресу.

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

Модель OSI (Open System Interconnection reference model – эталонная модель взаимодействия открытых систем) представляет собой набор стандартных протоколов. Она создана на основе технических предложений Международного института стандартов ISO в 1984 г.

Архитектура модели

В модели OSI сетевые функции распределены между семью уровнями. Каждому уровню соответствуют различные сетевые операции, оборудование и протоколы.

Таблица 9.1.

Модель сетевой архитектуры

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

Нижние уровни – Физический и Канальный определяют физическую среду передачи данных и сопутствующие задачи (такие, как передача битов данных через плату сетевого адаптера и кабель). Самые верхние уровни определяют, каким способом осуществляется доступ приложений к услугам связи. Чем выше уровень, тем более сложную задачу он решает.

Взаимодействие уровней модели OSI

Задача каждого уровня – предоставление услуг вышележащему уровню, «маскируя» детали реализации этих услуг. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на другом компьютере. Эта логическая, или виртуальная, связь между одинаковыми уровнями показана на рис.9.9. Однако в действительности связь осуществляется между смежными уровнями одного компьютера – программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов.

Обмен данными в системах связи происходит путем их перемещения с верхнего уровня на нижний, затем транспортировки и, наконец, обратным воспроизведением на компьютере клиента в результате перемещения с нижнего уровня на верхний (см. рис.9.9).

Рис.9.9 Взаимодействие уровней сетевой модели

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

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

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

Прикладной уровень

Представляет собой окно для доступа прикладных процессов к сетевым услугам. Этот уровень обеспечивает услуги, напрямую поддерживающие приложения пользователя, такие, как программное обеспечение для передачи файлов, доступа к базам данных и электронная почта. Единица данных на этом уровне – сообщение. На данном уровне действуют протоколы: FTP (File Transfer Protocol – протокол передачи файлов), HTTP (Hyper Text Transfer Protocol – протокол передачи гипертекста), SMTP (Simple Mail Transfer Protocol – протокол передачи электронной почты), Telnet (протокол эмуляции терминала) и др.

Представительский уровень

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

Сеансовый уровень

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

Транспортный уровень

На транспортном уровне сообщения, поступающие с верхних уровней, переупаковываются: длинные разбиваются на несколько пакетов, а короткие объединяются в один. Это увеличивает эффективность передачи пакетов по сети. На пути передачи пакеты могут быть искажены/утеряны, поэтому транспортный уровень обеспечивает верхним уровням (сеансовому и прикладному) передачу данных с необходимым уровнем надежности.

Модель OSI предусматривает несколько классов сервиса, предоставляемого транспортным уровнем, которые отличаются качеством услуг:

1) срочностью передачи;

2) возможностью восстановления прерванной связи;

3) возможностью обнаружения и исправления ошибок;

4) возможностью определения потери или дублирования пакетов.

На этом уровне работают два протокола UPD и TCP, которые реализуют различные режимы доставки пакетов.

Протокол UPD (User Datagram Protocol – дейтограммный протокол) используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня (системными прикладными службами или пользовательскими приложениями).

Протокол TCP (Transmission Control Protocol – протокол установления соединения) обеспечивает гарантированную доставку пакетов. Протокол устанавливает логическое соединение между комьютерами-абонентами, что позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае их потери организовать повторные передачи, распознавать и уничтожать дубликаты.

Сетевой уровень

Сетевой уровень служит для образования единой транспортной системы, объединяющей несколько сетей, возможно, разных технологий. Внутри локальной сети используется адресация канального уровня – mac – адресация, для передачи пакетов между сетями такая адресация не годится. Требуется новая система адресации – структурированный IP – адрес, в котором выделяются, по крайней мере, 2 части (номер сети и номер узла в данной сети). Таким образом, на сетевом уровне термин «сеть» - это совокупность рабочих станций, соединенных по типовой технологии и использующих один из протоколов канального уровня. Это совокупность компьютеров с одинаковым номером сети.

Сети соединяются между собой с помощью маршрутизаторов, которые работают с IP – адресами. Чтобы передать пакет из одной сети в другую, необходимо выполнить несколько транзитных передач через другие сети, т.е. выполнить несколько «хопов» (hop – прыжок).

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

Другие задачи сетевого уровня:

1) согласование разных технологий (трансляция пакетов);

2) преобразование IP – адреса следующего маршрутизатора в mac-адрес с тем, чтобы сформировать заголовок канального уровня при выполнении хопа;

3) если пакет передается из сети с большим значением МТИ в сеть с меньшим значением (Ethernet→Token Ring), то маршрутизатор фрагментирует пакет, т.е. разбивает его на меньшие блоки.

На сетевом уровне работают, по крайней мере, два вида протоколов:

1) Сетевые протоколы, которые непосредственно продвигают пакеты в сложной сети

IP – Internet Protocol

IPX – Internet Protocol фирмы Novell

2) Протоколы маршрутизации, которые перед отправкой пакетов собирают информацию о связях в сети и строят в итоге таблицу маршрутизации, по которой и работают сетевые протоколы.

RIP – Routing Internet Protocol; OSPF, RIP

Канальный уровень

Осуществляет передачу кадров данных от Сетевого уровня к Физическому. Кадр – это логически организованная структура, в которые можно помещать данные (см рис.9.10). Канальный уровень компьютера получателя упаковывает «сырой» поток битов, поступающих от Физического уровня, в кадры данных. Данный уровень решает задачи доступа к каналу связи, обнаруживает и корректирует ошибки с помощью CRC (остаток избыточной циклической суммы), руководит повтором передачи (в случае повреждения или потери кадров), проверкой mac – адреса. Примеры протоколов, работающих на канальном уровне: Token Ring, FDDI, Ethernet, Fast Ethernet, Gigabit Ethernet, ATM которые реализуются в персональных компьютерах, коммутаторах, маршрутизаторах, сетевых адаптерах.

Рис. 9.10 Структура кадра

Физический уровень

Этот уровень осуществляет передачу неструктурированного, «сырого» потока битов по физической среде (например, сетевому кабелю). Здесь реализуются электрический, оптический, механический и функциональный интерфейсы с кабелем. Физический уровень также формирует сигналы, которые переносят данные, поступившие от вышележащих уровней. На этом уровне определяется тип сетевого кабеля и способ его соединения с платой сетевого адаптера, в частности, количество контактов в разъемах и их функции. Кроме того, здесь определяется способ передачи данных по сетевому кабелю (Ethernet и Token Ring). Физический уровень предназначен для передачи битов (нулей и единиц) от одного компьютера к другому. Содержание самих битов на данном уровне значения не имеет. Этот уровень отвечает за кодирование данных и синхронизацию битов, гарантируя, что переданная единица будет воспринята именно как единица, а не как ноль. Данный уровень устанавливает длительность каждого бита и способ перевода бита в соответствующие электрические или оптические импульсы, передаваемые по сетевому кабелю. На физическом уровне также определяют, используется ли для передачи данных симплексный, полудуплексный или дуплексный режим связи. Он содержит подробности о сетевой топологии.

Для определения задач, поставленных перед сложным объектом, а также для выделения главных характеристик и параметров, которыми он должен обладать, создаются общие мо­дели таких объектов. Общая модель вычислительной сети определяет характеристики сети в целом и характеристики и функции входящих в нее основных компонентов.

Архитектура вычислительной сети - описание ее общей модели.____

Многообразие производителей вычислительных сетей и сетевых программных про­дуктов поставило проблему объединения сетей различных архитектур. Для ее решения МОС разработала модель архитектуры открытых систем.

Открытая система - система, взаимодействующая с другими системами в соответствии с принятыми стандартами.

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

В настоящее время модель взаимодействия открытых систем (ВОС) является наиболее популярной сетевой архитектурной моделью. Модель рассматривает общие функции, а не специальные решения, поэтому не все реальные сети абсолютно точно ей следуют. Модель взаимодействия открытых систем состоит из семи уровней (рис. 6.15).

7-й уровень - прикладной - обеспечивает поддержку прикладных процес­сов конечных пользователей. Этот уровень определяет круг прикладных задач, реализуе­мых в данной вычислительной сети. Он также содержит все необходимые элементы сервиса для прикладных программ пользователя. На прикладной уровень могут быть вынесены некоторые задачи сетевой операционной системы.

6-й уровень - представительный - определяет синтаксис данных в модели, т.е. представление данных. Он гарантирует представление данных в кодах и форма­тах, принятых в данной системе. В некоторых системах этот уровень может быть объединен с прикладным.

5-й уровень - сеансовый - реализует установление и поддержку сеанса связи между двумя абонентами через коммуникационную сеть. Он позволяет производить обмен данными в режиме, определенном прикладной программой, или предоставляет воз­можность выбора режима обмена. Сеансовый уровень поддерживает и завершает сеанс связи.

Три верхних уровня объединяются под общим названием - процесс или прикладной процесс . Эти уровни определяют функциональные особенности вычислительной сети как прикладной системы.

4-й уровень - транспортный - обеспечивает интерфейс между процесса­ми и сетью. Он устанавливает логические каналы между процессами и обеспечивает пере­дачу по этим каналам информационных пакетов, которыми обмениваются процессы. Логические каналы, устанавливаемые транспортным уровнем, называются транспортными каналами .

Пакет - группа байтов, передаваемых абонентами сети друг другу.

3-й уровень - сетевой - определяет интерфейс оконечного оборудования данных пользователя с сетью коммутации пакетов. Он также отвечает за маршрутизацию пакетов в коммуникационной сети и за связь между сетями - реализует межсетевое взаи­модействие.

Рис. 6.16. Обработка сообщений уровнями модели ВОС

Примечание. В технике коммуникаций используется термин оконечное обору­дование данных. Он определяет любую аппаратуру, подключенную к каналу связи, в системе обработки данных (компьютер, терминал, специальная аппара­тура).

2-й уровень - канальный - уровень звена данных - реализует процесс передачи информации по информационному каналу. Информационный канал - логичес­кий канал, он устанавливается между двумя ЭВМ, соединенными физическим каналом. Канальный уровень обеспечивает управление потоком данных в виде кадров, в которые упаковываются информационные пакеты, обнаруживает ошибки передачи и реализует алго­ритм восстановления информации в случае обнаружения сбоев или потерь данных.

1-й уровень - физический - выполняет все необходимые процедуры в канале связи. Его основная задача - управление аппаратурой передачи данных и подклю­ченным к ней каналом связи.

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

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

При этом в абонентской ЭВМ происходит обратный процесс - чтение и отсечение за­головков уровнями модели взаимодействия открытых систем. Каждый уровень реагирует только на свой заголовок. Заголовки верхних уровней нижними уровнями не воспринима­ются и не изменяются - они "прозрачны " для нижних уровней. Так, перемещаясь по уров­ням модели ВОС, информация, наконец, поступает к процессу, которому она была адресована.

Внимание! Каждый уровень модели взаимодействия открытых систем реагирует только на свой заголовок.

Примечание. На рис. 6.16 показан процесс прохождения данных через уровни модели. Каждый уровень добавляет свой заголовок - 3.

В чем же основное достоинство семиуровневой модели ВОС? В процессе развития и совершенствования любой системы возникает потребность изменять ее отдельные компо­ненты. Иногда это вызывает необходимость изменять и другие компоненты, что существен­но усложняет и затрудняет процесс модернизации системы.

Здесь и проявляются преимущества семиуровневой модели. Если между уровнями оп­ределены однозначно интерфейсы, то изменение одного из уровней не влечет за собой не­обходимости внесения изменений в другие уровни. Таким образом, существует относительная независимость уровней друг от друга.

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

Функции физического уровня всегда реализуются в аппаратуре. Это адаптеры, муль­типлексоры передачи данных, сетевые платы и т.д.

Функции остальных уровней реализуются в виде программных модулей - драйверов.

Понятие "система" носит двоякий характер. С одной стороны, по общему определению, система - это совокупность взаимодействующих элементов (компонентов), аппаратных и/или программных. С другой стороны, система может выступать в качестве компонента другой, более сложной системы, которая в свою очередь может быть компонентом системы следующего уровня.

В связи с этим нужно уточнить представление об архитектуре систем и средств, как внешнем их описании (reference model) с точки зрения того, кто ими пользуется. Архитектура открытой системы, таким образом, оказывается иерархическим описанием ее внешнего облика и каждого компонента с точки зрения:

  • пользователя (пользовательский интерфейс),
  • проектировщика системы (среда проектирования),
  • прикладного программиста (системы и инструментальные средства /среды программирования),
  • системного программиста (архитектура ЭВМ),
  • разработчика аппаратуры (интерфейсы оборудования).

Предлагаемый взгляд на архитектуру открытых систем вытекает из указанной выше необходимости комплексной реализации общих свойств открытости и является расширением принятого понятия об архитектуре ЭВМ по Г.Майерсу.

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

Иерархия представления архитектуры системы обработки данных

Уровень среды для конечного пользователя (user environment) характеризуется входными и выходными описаниями (генераторы форм и отчетов), языками проектирования информационной модели предметной области (языки 4GL), функциями утилит и библиотечных программ и прикладным уровнем среды коммуникаций, когда требуются услуги дистанционного обмена информацией. На этом же уровне определена среда (инструментарий) прикладного программирования (appliсation environment): языки и системы программирования, командные языки (оболочки операционных систем), языки запросов СУБД, уровни сессий и представительный среды коммуникаций.

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

На уровне оборудования легко видеть привычные разработчикам ЭВМ составляющие архитектуры аппаратных средств:

  • система команд процессора (процессоров),
  • организация памяти,
  • организация ввода-вывода и т.д.,

а также физическую реализацию в виде:

  • системных шин,
  • шин массовой памяти,
  • интерфейсов периферийных устройств,
  • уровня передачи данных,
  • физического уровня среды хранения.

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

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

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

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

Понятие «система» носит двоякий характер. С одной стороны, по общему определению, система - это совокупность взаимодействующих элементов (компонентов), аппаратных и/или программных. С другой стороны, система может выступать в качестве компонента другой, более сложной системы, которая в свою очередь может быть компонентом системы следующего уровня.

В связи с этим нужно уточнить представление об архитектуре систем и средств, как внешнем их описании (reference model) с точки зрения того, кто ими пользуется. Архитектура открытой системы, таким образом, оказывается иерархическим описанием ее внешнего облика и каждого компонента с точки зрения:

пользователя (пользовательский интерфейс),

проектировщика системы (среда проектирования),

прикладного программиста (системы и инструментальные средства /среды программирования),

системного программиста (архитектура ЭВМ),

разработчика аппаратуры (интерфейсы оборудования).

Предлагаемый взгляд на архитектуру открытых систем вытекает из указанной выше необходимости комплексной реализации общих свойств открытости и является расширением принятого понятия об архитектуре ЭВМ по Г. Майерсу.

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

Таблица 1

Иерархия представления архитектуры системы обработки данных

Уровень архитектуры системы обработки данных

Компоненты системы обработки данных

Интерфейсы

Средства обработки данных

Представление и хранение данных

Коммуникации

Среда для конечного пользователя и инструментарий прикладного программиста

Генераторы форм и отчетов

Утилиты и библиотеки

Языки программирования 4GL

OSI. Прикладной уровень

Языки программные и командные языки (оболочки)

Прикладные программы

Языки запросов СУБД

OSI. Уровни сессий и представительный

Операционная система

Средства оконного интерфейса

Верхний уровень ОС (организация процесса обработки)

Средства доступа к среде хранения

OSI. Транспортный уровень

Драйверы

Ядро операционной системы

Файловая система

OSI. Сетевой уровень

Оборудование

Системные интерфейсы (в т. ч. организация ввода-вывода)

Процессоры (система команд)

Организация памяти

OSI. Уровень передачи данных

Периферийные устройства

Системная шина

Шины (интерфейс) массовой памяти

OSI. Физический уровень

Уровень среды для конечного пользователя (user environment) характеризуется входными и выходными описаниями (генераторы форм и отчетов), языками проектирования информационной модели предметной области (языки 4GL), функциями утилит и библиотечных программ и прикладным уровнем среды коммуникаций, когда требуются услуги дистанционного обмена информацией. На этом же уровне определена среда (инструментарий) прикладного программирования (appliсation environment) : языки и системы программирования, командные языки (оболочки операционных систем), языки запросов СУБД, уровни сессий и представительный среды коммуникаций.

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

На уровне оборудования легко видеть привычные разработчикам ЭВМ составляющие архитектуры аппаратных средств:

система команд процессора (процессоров),

организация памяти,

организация ввода-вывода и т. д.,

а также физическую реализацию в виде:

системных шин,

шин массовой памяти,

интерфейсов периферийных устройств,

уровня передачи данных,

физического уровня среды хранения.

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

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

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

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

Аннотация: Методологическое обоснование открытых систем как совокупности концепций и основанных на них эталонных моделей. Модель OSI.

2.1. Методологический базис открытых систем

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

Методологически базис открытых систем состоит из совокупности концепций и основанных на них эталонных моделей:

  • концептуальная основа и принципы построения открытых систем;
  • эталонная модель окружений открытых систем (Open System Environment Reference Model - OSE RM);
  • эталонная модель взаимосвязи открытых систем (Open Systems Interconnection Reference Model - OSI RM);
  • аппарат разработки и использования профилей ИТ/ИС, предназначенный для создания открытых систем в пространстве стандартизованных решений;
  • таксономия профилей;
  • концепция тестирования конформности систем ИТ исходным стандартам и профилям.

Наиболее весомыми результатами в становлении методологии базиса открытых систем сегодня являются:

  • создание системы специализированных международных организаций по целостной разработке и стандартизации открытых систем;
  • разработка эталонных моделей и соответствующих им базовых спецификаций для важнейших разделов области ИТ, что позволило сформировать концептуальный и функциональный базис пространства для создания информационных технологий и систем (ИТ/ИС);
  • разработка и широкое использование концепции профиля, предоставляющей аппарат для специфицирования и документирования сложных и многопрофильных открытых ИТ/ИС, задающих функциональности базовых спецификаций и/или профилей;
  • разработка таксономии профилей, представляющей собой классификационную систему ИТ/ИС и обеспечивающую систематическую идентификацию профилей в пространстве ИТ/ИС;
  • разработка концепции и методологии соответствия реализаций ИТ/ИС тем спецификациям, которые ими реализуются.

Методологический базис информационных технологий , основную часть которого составляют спецификации ИТ различных уровней абстракции, формируется на основе иерархического подхода, что способствует анализу его структуры с помощью некоторой многоуровневой модели.


Рис. 2.1.

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

  • системы реального времени (Real Time System - RTS) и встроенные системы (Embedded System - ES);
  • системы обработки транзакций (Transaction Processing System - TPS);
  • системы управления базами данных (DataBase Management System - DBMS);
  • разнообразные системы поддержки принятия решения (Decision Support System - DSS);
  • управленческие информационные системы административного (Executive Information System - EIS) и производственного (Enterprise Resource Planning - ERP) назначения;
  • географические информационные системы (Geographic Information System - GIS);
  • другие специализированные системы, в которых могут применяться спецификации, рекомендуемые международными организациями.

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

  • выполняются на любой используемой платформе поставщика или пользователя;
  • используют любую операционную систему;
  • обеспечивают доступ к базе данных и управление данными;
  • обмениваются данными и взаимодействуют через сети любых поставщиков и в локальных сетях потребителей;
  • взаимодействуют с пользователями через стандартные интерфейсы в системе общего интерфейса "пользователь - компьютер".

Таким образом, среда OSE поддерживает "переносимые, масштабируемые и взаимодействующие прикладные компьютерные программы через стандартные функциональности, интерфейсы, форматы данных, протоколы обмена и доступа".

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

переносимы , если они реализованы на стандартных платформах и написаны на стандартизованных языках программирования. Они работают со стандартными интерфейсами, которые связывают их с вычислительной средой, читают и создают данные в стандартных форматах и передают их в соответствии со стандартными протоколами, выполняющимися в различных вычислительных средах.

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

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

Рабочая группа 1003.0 POSIX IEEE разработала эталонную модель OSE (Open Systems Environment / Reference Model - OSE/RM). Эта модель описана на международном уровне в техническом отчете TR 14250 комитета JTC1 ( рис. 2.2).

В описании модели используется два типа элементов:

  • логические объекты , включающие в себя прикладное программное обеспечение (ППО), прикладные платформы и внешнюю функциональную среду;
  • интерфейсы , содержащие интерфейс прикладной системы и интерфейс обмена с внешней средой.

Логические объекты представлены тремя классами, интерфейсы - двумя. В контексте эталонной модели OSE прикладное программное обеспечение включает в себя непосредственно коды программ, данные, документацию, тестирующие, вспомогательные и обучающие средства ( рис. 2.3).


Рис. 2.3.

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

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

Интерфейс прикладной программы (Application Program Interface - API) является интерфейсом между ППО и прикладной платформой. Основная функция API - поддержка переносимости ППО. Классификация API производится в зависимости от типа реализуемых услуг: взаимодействие в системе "пользователь - компьютер", обмен информацией между приложениями, внутренние услуги системы, коммуникационные услуги.

Интерфейс обмена с внешней средой (External Environment Interface - EEI) обеспечивает передачу информации между прикладной платформой и внешней средой, а также между прикладными программами, которые выполняются на одной платформе.


Рис. 2.4.

Эталонная модель OSE/RM реализует и регулирует взаимоотношения "поставщик - пользователь". Логические объекты прикладной платформы и внешней среды являются поставщиком услуг, ППО - пользователем. Они взаимодействуют с помощью набора API и EEI интерфейсов, определенных моделью POSIX OSE ( рис. 2.4) .

Интерфейс EEI представляет собой совокупность всех трёх интерфейсов (CSI, HCI, ISI), каждый из которых имеет характеристики, определяемые внешним устройством ( рис. 2.5):

  • интерфейс коммуникационных сервисов (Communication Service Interface - CSI) - интерфейс, который обеспечивает сервис для реализации взаимодействия с внешними системами. Реализация взаимодействия осуществляется с помощью стандартизации протоколов и форматов данных, которыми можно обмениваться по установленным протоколам
  • человеко-машинный интерфейс (Human Computer Interface - HCI) - интерфейс, через который осуществляется физическое взаимодействие пользователя и системы программного обеспечения
  • интерфейс информационных сервисов (Information Service Interface - ISI) - граница взаимодействия с внешней памятью долговременного хранения данных. Обеспечивается стандартизацией форматов и синтаксиса представления данных.


Рис. 2.5.

Прикладная платформа через оба основных интерфейса к платформе предоставляет сервисы для различных применений.

Среда OSE обеспечивает функционирование ППО, используя определенные правила, компоненты, методы сопряжения элементов системы (Plug Compatibility) и модульный подход к разработке программных и информационных систем. Достоинствами модели являются выделение внешней среды в самостоятельный элемент, имеющий определенные функции и соответствующий интерфейс, и возможность ее применения для описания систем, построенных на основе архитектуры "клиент-сервер". Относительный недостаток - еще не все требуемые спецификации представлены на уровне международных гармонизированных стандартов.