4. Профили окружений открытых систем (OSE-профили). ISO/IEC/TR 10000-3 (Part 3: Principles and Taxonomy for OSE Profiles) Лаборатория Открытых информационных технологий Проф. В.А. Сухомлин 1. Назначение ISO/IEC/TR 10000-3 Развитие концепции профиля для окружений открытых систем (OSE). • Обеспечение методологической основы для описания окружений открытых систем в виде OSE-профилей • Разработка принципов построения классификационной схемы для OSE-профилей (таксономии профилей). • 2. Ссылки • ITU-T Recommendation X.290 (1995) | ISO/IEC 96461:1994: Information Technology - Open System Interconnection - Conformance Testing Methodology and Framework - Part 1: General Concepts • ISO/IEC TR 10000-1:1998, Information technology Framework and taxonomy of International Standardized Profiles - Part 1: General Principles and Documentation Framework. • ISO/IEC TR 10000-2:1998, Information technology Framework and taxonomy of International Standardized Profiles - Part 2: Principles and taxonomy for OSI Profiles. • ISO/IEC TR 10183-1:1993, Information Technology - Text and Office Systems - Office Document Architecture (ODA) and Interchange Formats - Technical Report on ISO 8613 Implementation Testing Part 1: Testing Methodology. 2. Ссылки (продолжение) • ISO/IEC 10641:1993, Computer Graphics and Image Processing - Conformance testing of implementations of graphics standards • ITU-T Recommendation X.902 (1995) | ISO/IEC 107462:1995, Information Technology - Open Distributed Processing - Reference Model: Foundations • ISO/IEC 13210:1994: Information Technology - Test Methods for Measuring Conformance to POSIX • ISO/IEC TR 14252: 1996, Guide to the POSIX Open System Environment (OSE) 3. Определения 3.1Terms defined in ISO/IEC TR 10000-3 3.1.1 OSE Profile 3.1.2 OSI Profile /OSE - исчерпывающий набор интерфейсов, сервисов, форматов и других аспектов, позволяющий достичь целей интероперабельности и/или переносимости приложений на основе применения базовых стандартов и профилей ИТ/ 3. Определения (продолжение) 3.2 Terms defined in ISO/IEC TR 14252, Guide to the POSIX (OSE) 3.2.1 Application Platform 3.2.2 Application Program Interface (API) 3.2.3 Application Software 3.2.4 Communication Services Interface (CSI) 3.2.5 Human/Computer Interface (HCI) 3.2.6 Information Services Interface (ISI) 3.2.7 Interoperability 3.2.8 Open System Environment (OSE) 3.2.9 Portability (of Application Software) 3. Определения (продолжение) 3.3 Terms defined in ITU-T Rec. X.902 | ISO/IEC 10746-2, Information Technology - Open Distributed Processing - Reference Model: Foundations 3.3.1 Interchange reference point ~ (ISI) 3.3.2 Interworking reference point ~ (CSI) 3.3.3 Perceptual reference point ~ (HCI) 3.3.4 Programmatic reference point ~ (API) Определение понятий 16) Прикладное программное обеспечение (Aplication Software). Специфическое для некоторого приложения программное обеспечение, состоящее из программ, данных и документации. 17) Прикладная платформа (Aplication Platform). Набор программно-аппаратных ресурсов, обеспечивающих сервис, необходимый для выполнения прикладного программного обеспечения. 18) API (Application Program Interface - Интерфейс прикладной программы). Интерфейс между прикладным программным обеспечением и прикладной платформой, через который обеспечивается сервис для прикладного программного обеспечения со стороны прикладной платформы. Определение понятий (продолжение) 19) CSI (Communication Services Interface - Интерфейс коммуникационных услуг). Граница, через которую обеспечивается доступ к сервисам, реализующим взаимодействие между внутренними сущностями программного обеспечения и внешними объектами по отношению к прикладной платформе. 20) HCI (Human/Computer Interface - Человеко-машинный интерфейс). Граница, через которую имеет место физическое взаимодействие между человеком и прикладной платформой. 21) ISI (Information Services Interface - Интерфейс информационного сервиса). Граница, через которую обеспечивается сервис внешнего, долговременного хранилища (external persistent storage) данных. 4. Используемые сокращения AEP API CSI EDI HCI ISI ISP IT OSE OSI AMI FMI Application Environment Profile Application Program Interface Communications Services Interface Electronic Data Interchange Human/Computer Interface Information Services Interface International Standardized Profile Information Technology Open System Environment Open Systems Interconnection Medical Image Interchange (Appl.) Medical Image Interchange (Format) Цели открытости • • • • • • 1) Переносимость прикладного программного обеспечения и его повторное использование на уровне исходного кода (Application Software Portability and Software Reuse at the Source Code Level) 2) Переносимость данных (Data Portability) 3) Интероперабельность прикладного программного обеспечения (Application Software Interoperability) 4) Интероперабельность управления и безопасности (Management and Security Interoperability) 5) Переносимость пользователей (User Portability) 6) Адаптация к изменениям стандартов (Accommodation of Standards) 5. Цели открытости (продолжение) • • • • • 7) Адаптация к новым технологиям информационных систем (Accommodation of New Information System Technology) /гибкость перехода к новым стандартам и новым технологиям/ 8) Масштабируемость прикладных платформ (Application Platform Scalability) 9) Масштабируемость распределенных систем (Distributed System Scalability) 10) Прозрачность реализаций (Implementation Transparency) /скрытие особенностей реализации за интерфейсами открытых систем / 11) Поддержка пользовательских требований (Support Clear Statement of User Requirements) /профили – язык пользователей, разработчиков, поставщиков/ 6. Общие принципы • • • OSE-профиль специфицирует полное или частичное поведение систем ИТ, наблюдаемое на их интерфейсах. Интерфейсы - границы систем, на которых может прослеживаться их функционирование со стороны внешнего наблюдателя (пользователя, приложения, тестовой системы, администратора и пр.). Наиболее важным результатом рассматриваемого документа является введение классификации интерфейсов систем ИТ, заимствованная из эталонной модели RM OSE POSIX (ISO/IEC TR 14252, Guide to the POSIX Open System Environment), но она представлена в более обобщенном, независящем от конкретных архитектурных решений контексте и согласована с классификацией эталонных точек (reference points) объектных распределенных систем (ITU-T Rec. X.902 | ISO/IEC 10746-2, Information Technology Open Distributed Processing - Reference Model: Foundations). Классификация OSE-профилей Определены четыре основных типа интерфейсов OSE: - API (Application Program Interface - Интерфейс прикладной программы); - CSI (Communication Services Interface - Интерфейс коммуникационных услуг); - HCI (Human/Computer Interface - Человекомашинный интерфейс); - ISI (Information Services Interface - Интерфейс информационных услуг). Возможны и другие типы интерфейсов, например, интерфейс управляемых объектов. Определения классов интерфейсов • • API - интерфейс между прикладным программным обеспечением и поставщиком необходимого для функционирования этого программного обеспечения сервиса, т.е. прикладной платформой. CSI трактуется как интерфейс, который обеспечивает сервис для реализации взаимодействия с внешними системами ИТ. Реализация такого взаимодействия осуществляется с помощью протоколов (процедур обмена), стандартизация которых вместе со стандартизацией форматов обмениваемых с помощью этих протоколов данных является основой обеспечения интероперабельности систем. Определения классов интерфейсов • • HCI - интерфейс, через который осуществляется физическое взаимодействие пользователя и системы ИТ (примерами HCI служат клавиатуры для ввода информации и оконные системы). ISI рассматривается как граница взаимодействия с внешней памятью долговременного хранения данных, для переносимости и интероперабельности которых необходима стандартизация форматов и синтаксиса представления данных. Свойства OSE-профилей • • • • • Профиль OSE определяет композицию функций или сервисов, реализуемых на интерфейсах определенных выше классов. Функциональность профиля специфицируется в терминах вызовов функций, протоколов взаимодействия, форматов данных. Требованием к профилю является согласованность используемых им спецификаций, относящихся к интерфейсам различных классов. В профиле OSE возможны ссылки на ISPs, определяющие способы представления данных, т.е. F-профили, которые могут относиться к любым типам интерфейсов. Классификация интерфейсов является основой для построения таксономии профилей. Модель концепции OSE-профилей APIs Application Software API(HCI) API(ISI) Application Software API(HCI) API(CSI) API(ISI) API(CSI) ISI CSI internetworking HCIs HCI ISI CSI HCI Application Platform Application Platform CSIs ISIs Свойства интерфейсов • • • Открытые системы могут иметь более одного экземпляра интерфейсов каждого класса. Например, конкретная система может включать одновременно CSI-интерфейс, соответствующий стеку протоколов TCP/IP, а также CSIинтерфейс, соответствующий стеку OSI. Интерфейсы разных классов могут взаимодействовать друг с другом. Примером такого взаимодействия может служить включение в API-интерфейс средств (библиотек), с помощью которых прикладная программа может взаимодействовать с элементами интерфейсов других классов. Зависимость интерфейсов показана на модели с помощью функциональной нотации (API(HCI), API(ISI), API(CSI)). Конформность OSE профилям • • • Единая для всех видов интерфейсов методология тестирования конформности еще не разработана. Наиболее продвинутыми подходами к тестированию конформности являются: - подход OSI (OSI Conformance Testing), т.е. тестирование реализаций сетевых протоколов и сервисов (CSIинтерфейсов); - подход POSIX (POSIX.1 Testing), т.е. тестирование реализаций API-интерфейсов. В связи с этим при разработке ИТ, таких, как, например, ODA, EDI, SGML, CGM, ODP, разрабатываются собственные методы, как правило, на основе модернизации методов OSI или POSIX. Конформность OSE профилям Общие принципы установления конформности систем ИТ OSE-профилям: • применение системного подхода к решению общей задачи; • декомпозиция общей задачи на частные решения, поддерживаемые технологиями конформности; • применение частных технологий для конкретных типов интерфейсов; • тщательное тестирование системообразующих связей или агрегаций системы; • реализация процесса установления конформности в лабораториях тестирования; • использование продуктов, сертифицированных другими аккредитованными лабораториями. Принципы разработки OSE-профилей Продемонстрируем методику разработки OSEпрофилей на основе следующего примера. Пример разработки OSE-профиля • • • • • Рассмотрим пример разработки OSE-профиля для класса распределенных офисных систем, содержащих в качестве своих компонент (подсистем) системы трех типов: A, B, C: Тип A представляет собой систему-клиента базы данных с некоторым прикладным программным обеспечением . Тип В - сервер баз данных, обслуживающий запросы клиентов к базе данных. Тип С - терминальный сервер, выполняющий семантику функций человеко-машинного интерфейса. Цель - разработка офисной системы, обладающей свойством переносимости прикладного программного обеспечения клиентской части и интероперабельностью. Пример разработки OSE-профиля Методологической основой создания такой системы является разработка соответствующего OSEпрофиля, специфицирующего поведение системы типа А на всех ее интерфейсах. • Специфицируемое профилем окружение должно определяться некоторым набором стандартизованных спецификаций (стандартов и ISPs), чтобы обеспечить разработку приложений клиентской системы А на основе принципов открытости, в частности, переносимости программного обеспечения. • Присвоим данному профилю рабочее наименование DOT (Distributed Office Technology). • Методика разработки OSE-профилей Для разработки профиля DOT будем применять некоторый систематический подход. Основными шагами данного подхода являются: 1) Идентификация области применения систем ИТ, соответствующих данному профилю, а также определения конечных целей и общих ограничений задачи проектирования профиля. Для профиля DOT область применения ограничена конкретным классом информационных систем и конкретной функциональной компонентой таких систем (прикладным программным обеспечением клиентской части). Также определены цели проектирования - переносимость прикладного программного обеспечения клиентской части. Методика разработки OSE-профилей Разработка сценария (типовой ситуации применения системы ИТ). Сценарий представляет собой графическое представление информационной модели систем и включает: - Основные функциональные элементы (системы, подсистемы) описываемой реализации; - Взаимосвязи между элементами (физические каналы, логические взаимодействия или протоколы); - Распределение функций ИТ по элементам модели. 2) Сценарий APIs ASW CSIs A client HCIs MOTIF, X-Windows, … LAN IEEE 802 ODBC X11RSWs TCP/IP RFC1042 IEEE 802 C Terminal server B DB Server DB Методика разработки OSE-профилей 3) Определение функциональности профиля в виде набора ссылок на актуальные стандарты и ISPs и формирование, таким образом, раздела нормативных ссылок. Для рассматриваемого примера состав нормативных ссылок удобно представить в виде таблицы, в которой спецификации сгруппированы по типам интерфейсов. Класс интерфе йса Спецификации API 1) ISO/IEC 9899:1999, Information Technology – Programming Language – C 2) ISO/IEC FDIS 14882: 1998, Programming language – C++ * 3) ISO/IEC 9075:1992 (ANSI X3.135-1992), Information technology – Database – Database Language – SQL (Structured Query Language) 4) ISO/IEC 9945-1 (IEEE Std 1003.1), Information technology-Portable Operating System Interface (POSIX)-Part 1: System Application Program Interface (API) [C Language] 5) ISO/IEC 9945-1 (IEEE Std 1003.2), Information technology-Portable Operating System Interface (POSIX)-Part 2: Shell and Utilities 6) IEEE Std 1003.1g, IEEE Standard for Information technology-Portable Operating System Interface (POSIX)-Part 1: ProtocolIndependent Network API 7) ODBC (Open Data Base Connectivity) (интерфейс доступа к базам данных для платформ Windows, Unix, OS/2) CSI HCI стек протоколов TCP/IP, включая: TCP – RFC 793 UDP – RFC 768 IP – RFC 791 ISO/IEC 8802 (IEEE Std 802), Information processing systems – Local area network 3) Standard for the transmission of IP datagrams over IEEE 802 networks (RFC 1042) 4) X Window System, Version 11, Realease 5, MIT X Consortium (протокол распределенной оконной системы X Window System) 1) 2) 1) OSF/MOTIF, Open Software Foundation, MOTIF Release 1.2 2) FIBS PUB 158-2: User Interface Component of Application Portability Profile (MIT X Window System) - X library API specification. Методика разработки OSE-профилей • • 4. Анализ спецификаций на совместимость производится тщательный анализ непротиворечивости спецификаций, входящих в состав профиля. В результате этого шага могут быть определены дополнительные требования конформности реализаций профилю, исключающие случаи потенциального конфликта между спецификациями. 5. Определение концептуальной части профиля – введение новых понятий в раздел Definitions, дополняющих систему понятий цитируемых базовых спецификаций, а также введение используемых в профиле сокращений (раздел Abbreviations). Методика разработки OSE-профилей Анализ требуемой функциональности для каждого цитируемого базового стандарта или ISPs, обоснование и выбор классов сервиса, тестовых поднаборов, опций, диапазонов значений параметров. 7. Разработка требований конформности, учитывающих специфику применения профиля для каждой спецификации, упомянутой в разделе нормативных ссылок (раздел Conformance). 8. Разработка табличных приложений для точной спецификации утверждений конформности. 9. Разработка информативных материалов. 6. Принципы таксономии профилей OSE Таксономия - это классификационная схема профилей ИТ, предназначенная для недвусмысленной ссылки на профили и группы профилей. Она позволяет формировать уникальные идентификаторы профилей, отражающие также взаимосвязь профилей и групп профилей между собой. Классификация основывается на разбиении профилей по областям, соответствующим содержанию определенных или предполагаемых эталонных моделей. Представленная структура классификации является динамической по своей природе и легко адаптируется к эволюции системы стандартов и технологий. Для построения классификационной схемы применяется метод структурированных идентификаторов. Принципы таксономии профилей OSE Структурированный идентификатор состоит из: 1) Корневой мнемоники или корня (root mnemonic) - короткой символьной строки, обозначающей область использования OSE-профиля. Например, EDI (для Electronic Data Interchange) или MED (для медицинских приложений). 2) Числовой строки, следующей за корнем и используемой для разбиения области использования профилей на подразделы. 3) Характеристики специфицируемых интерфейсов (суффикса), состоящей от одной до четырех указанных ниже букв, следующих в алфавитном порядке: C - для CSI (в профилях до 1995г., обычно опускается) I - для ISI H - для HCI P - для API Примеры структурированных идентификаторов идентификатор AMHnnn-C AFTkkk-CP WINaaa-H MEDkkk-CHP область OSEпрофиля Messaging functions File function Windows functions Medical functions тип интерфейсов CSI CSI/API HCI CSI/HCI/API Возможно указание профилей с помощью функциональной формы записи: MEDkkk-CHP (FTmmm-CP, WINiii-H) Таксономии профилей OSE POSIX PSEab-HIP High Performance Application Environments ab Substructure 10 Supercomputing Application Environment 11 Multiprocessor Application Environment PSEab-P Realtime Application Environment ab Substructure 51 Minimal Realtime System Profile 52 Realtime Controller System Profile 53 Dedicated Realtime System Profile PSEab-IP Realtime Application Environment ab Substructure 54 Multipurpose Realtime System Profile