Часть V5.2. Эталонная модель POSIX OSE RMМетодологической основой для таксономии и разработки стандартов POSIX служит эталонная модель OSE RM (Open System Environment Reference Model), определяющая концептуальный базис и систематический подход к классификации интерфейсов и сервисов открытых систем. В эталонной модели определяется значительное число понятий концепции открытых систем, как, например: окружение открытой системы (OSE), свойства открытости систем (переносимость, интероперабельность, масштабируемость), прикладная платформа, прикладное программное обеспечение, интерфейс прикладной программы (API), интерфейс коммуникационных сервисов (CSI), человеко-машинный интерфейс (HCI) и др. Определения вышеперечисленных понятий нами уже вводились (см. главы 1 и 4) при изучении документа ISO 10000, концептуально согласованного с Руководством POSIX OSE. Дополним этот список еще двумя понятиями, а остальные будем вводить по мере необходимости. 22) Внешнее окружение (external environment - EE) - набор внешних для прикладной платформы сущностей, взаимодействие с которыми осуществляется через некоторые сервисы. 23) Интерфейс внешнего окружения (external environment interface - EEI) - интерфейс между прикладной платформой и внешним окружением, через который осуществляется взаимодействие с внешними по отношению к прикладной платформе сущностями посредством использования сервисов этого интерфейса. В модели OSE RM информационная система рассматривается как черный ящик, взаимодействие с которым стандартизовано и осуществляется только через ее интерфейсы, где под интерфейсами понимаются границы, разделяющие между собой некоторые функциональные сущности. Именно через эти интерфейсы система (платформа) может предоставлять сервисы пользователям (приложениям) и использовать сервисы, связанные с сущностями внешнего окружения. Поэтому центральным понятием данной модели является понятие окружения открытых систем (Open System Environment - OSE), под которым, напомним, понимается полный набор интерфейсов, сервисов, форматов, а также пользовательских аспектов, обеспечивающих интероперабельность и/или переносимость программ, данных, людей на основе использования базовых стандартов и профилей ИТ. Таким образом, под открытой системой подразумевается система ИТ, реализующая некоторое OSE. Данная модель обеспечивает связь между спецификациями требований и разработкой конкретной информационной системы. Эталонная модель вводит набор соглашений и понятий, которые используются как пользователями информационной системы, так и поставщиками ИТ. Подобный набор общих соглашений и понятий является ключом для достижения переносимости прикладного программного обеспечения, взаимосвязанности систем и возможного повторного использования в дальнейшем программного обеспечения. Данная модель позволяет создавать более компактные и корректные спецификации. Рассмотрим принципы построения OSE RM. Этот процесс выполняется с помощью следующих шагов.
Эталонная модель OSE/RM имеет несколько общих форм представления, отражающих различные архитектурные и функциональные аспекты модели. В дальнейшем общие представления модели конкретизируются для каждой категории сервисов с тем, чтобы полнее отразить их специфику. Наиболее общее представление данной эталонной модели иллюстрируется на рис. 5.1. Как видно на рис. 5.1, модель определяет три типа сущностей, а именно:
а также два типа интерфейсов между ними - API и EEI. Прикладная платформа предоставляет сервисы классов API и EEI через соответствующие интерфейсы. Данная модель является достаточно общей в том смысле, что она может быть использована для широкого спектра систем, как общего, так и специального назначения. Дальнейшая структуризация интерфейсов и классов сервисов (разбиение их на категории, подкатегории, конкретные элементы) позволяет построить варианты модели, учитывающие различные особенности применения систем и спектр системных архитектур. Данная эталонная модель не является иерархической. Каждая часть модели взаимодействует с остальными частями через интерфейсы. Все возможности системы могут быть доступны как локально, так и удаленно, если данная система является частью распределенной системы. На рис. 5.2 и рис. 5.3 показаны представления эталонной модели OSE/RM, расширяющие исходную модель, представленную на рис. 5.1. Представление на рис. 5.2 развивает исходную модель определением классов сущностей эталонной модели. На ней также демонстрируется различие между понятиями "сущность" и "интерфейс" (граница между сущностями). Сущность "прикладное программное обеспечение" состоит из одной или более компонент следующих типов:
Прикладная программа условно может быть разделена на две части:
Для повышения степени переносимости прикладного программного обеспечения необходимо использовать при его создании стандарты на API, а также минимизировать изменяемую часть. Это существенно облегчит перенос компонентов прикладного программного обеспечения между различными (но соответствующими стандартам на интерфейсы) прикладными платформами. На одной и той же прикладной платформе могут одновременно выполняться несколько приложений, как показано на рис. 5.2. Каждое приложение можно рассматривать как независимую прикладную сущность, которая при необходимости взаимодействует и синхронизируется с другими приложениями с помощью различных коммуникационных механизмов. Прикладная платформа определяется как набор ресурсов, предоставляемых сервисам, с помощью которых приложение выполняет свои функции. Рис.5.2. Сущности и элементы эталонной модели POSIX OSE Представление на рис.5.3 конкретизирует исходную модель в части структуризации интерфейсов. Для того чтобы обеспечить целостность и согласованность системы, все ресурсы должны быть доступны исключительно через API. Понятие прикладной платформы не включает в себя конкретную реализацию сервисов. Например, платформа может содержать единственный процессор, разделяемый несколькими приложениями, или являться большой распределенной системой. Внешнее окружение содержит внешние сущности, с которыми прикладная платформа обменивается информацией. Эти сущности могут быть разбиты на несколько категорий таких, как, например, конечные пользователи или сущности, обеспечивающие обмен информацией с долговременной памятью, или коммуникационные сущности. Как отмечалось выше, между сущностями общей модели существует два типа интерфейсов: API и EEI. Рис.5.3. Эталонная модель POSIX OSE - интерфейсы API определяет следующие типы сервисов:
Примером API-интерфейса может служить процедура создания окна:
Open_Window (x1, y1, x2, y2). EEI определяет следующие типы сервисов и, соответственно, интерфейсов:
Примером EEI-интерфейса может служить понятие окна ('window'), как сущности, связанной с некоторой областью на экране монитора. Сервисы API и EEI не имеют взаимно однозначного соответствия, хотя в большинстве случаев имеют похожие названия. Например, интерфейс сервиса хранения данных может обеспечивать приложению прозрачный доступ к удаленному файлу с помощью сетевых сервисов. В данном случае комплексный сервис хранения данных, предоставляемый API, зависит от коммуникационных сервисов, предоставляемых EEI. В общем случае прикладные программные сущности никогда не имеют доступа к EEI непосредственно, хотя выполнение API сервисов может вызывать выполнение EEI сервисов. Эталонная модель POSIX OSE разработана таким образом, чтобы с ее с помощью можно было адекватно специфицировать функциональности различных распределенных информационных систем. Представление на рис.5.4 расширяет исходную модель на случай распределенных систем. Рис. 5.4. Эталонная модель POSIX OSE - распределенные системы В распределенном окружении различные прикладные платформы могут взаимодействовать с помощью сервисов (коммуникационных механизмов) интерфейса внешнего окружения. Когда для некоторой сущности прикладного программного обеспечения требуется установить связь с некоторой сущностью на другой платформе, делается запрос через API. Конкретная реализация прикладной платформы транслирует API запросы в соответствующие действия на EEI. Связь между прикладными платформами устанавливается с помощью внешних сущностей, поэтому передача данных осуществляется коммуникационными сервисами EEI, обеспечивающими взаимодействие с такими внешними сущностями. В модели OSE RM также предусмотрены архитектурные решения и для распределенных прикладных платформ, состоящих из нескольких компонент, взаимодействующих через собственные внутриплатформенные интерфейсы. Теперь остановимся на способах спецификации API. В эталонной модели OSE RM рассматриваются следующие три вида спецификаций API:
Последние два способа спецификации API считаются наиболее предпочтительными для целей стандартизации. От общих архитектурных и понятийных моделей в Руководстве POSIX (эталонная модель OSE RM описана в третьем разделе) осуществляется переход к описанию собственно категорий сервисов, чему посвящен самый большой раздел Руководства, четвертый. При этом каждая категория сервисов описывается по следующей единой схеме: 4.__n.1 Overview and Rationale /Обзор и обоснование/4.__n.2 Scope /Область действия/4.__n.3 Reference Model /Эталонная модель применительно к данной категории сервисов/4.__n.4 Services /Сервисы/4.__n.5 Standards, Specifications, and Gaps /Стандарты, спецификации и белые пятна/4.__n.6 POSIX OSE Cross-Category Services /Межкатегориальные сервисы/4.__n.7 Related Standards /Связанные стандарты/4.__n.8 Open Issues /Открытые проблемы/ В качестве примера рассмотрим описание категории сервисов системного ядра (Core System Services). |