Процесс стандартизации информационных технологий (ИТ) должен иметь методологическую базу, которая позволила бы обоснованно определять обьекты стандартизации. Эта методологическая база связана прежде всего с принципами построения информационных систем (ИС), применяемых для автоматизации прикладных задач. Сформулированные е определении открытых систем вопросы стандартизации среды для выполнения приложений составляют основное содержание этой статьи. Сегодня назрело необходимость введения достаточно строгой и ориентированной на соответствующие приложения структуры стандортов, что обеспечит более простое и естественное применение стандартов открытых систем во всех прикладных областях.
Введение
Общие свойства открытых информационных систем можно сформулировать следующим образом:
Все эти общепринятые свойства современных открытых систем, взятые по отдельности, были характерны и для предыдущих поколений ИС и средств вычислительной техники. Новый взгляд на открытые системы определяется тем, что эти черты рассматриваются в совокупности, как взаимосвязанные, и реализуются в комплексе, что вполне естественно, поскольку все указанные выше свойства дополняют друг друга. Только в совокупности возможности открытых систем позволяют решать проблемы современных ИС.
Термин "Открытая система" сегодня можно определить как "исчерпывающий и согласованный набор международных стандартов информационных технологий и профилей функциональных стандартов, которые специфицируют интерфейсы, службы и поддерживающие их форматы, чтобы обеспечить интероперабельность и мобильность приложений, данных и персонала". Это определение, сформулированное специалистами IEEE, подчеркивает аспект среды, которую предоставляет открытая система для ее использования.
Структура среды информационной системы
Обобщенная структура любой ИС представляется состоящей из двух взаимодействующих частей:
С этим разделением тесно связаны две группы вопросов стандартизации:
Эти две группы интерфейсов определяют спецификации внешнего описания среды ИС - архитектуру с точки зрения конечного пользователя, проектировщика ИС, прикладного программиста, разрабатывающего функциональные части ИС.
Спецификации внешних интерфейсов среды ИС и, как будет видно далее, спецификации интерфейсов взаимодействия между компонентами самой среды, - это точные описания всех необходимых функций, служб и форматов определенного интерфейса. Совокупность таких описаний составляет модель открытых систем (Reference model).
Концептуальная модель открытых систем
Предлагаемая концептуальная модель среды открытых систем получена на основе анализа и обобщения известных общих моделей:
MUSIC (ССТА, Великобритания),
MIC (AFUU, Франция),
OSE/RM (IEEE, США).
Модель среды ИС представляется в виде матрицы типов компонентов этой среды, включаю щей три уровня, разделенных для удобства рассмотрения на два подуровня, и четыре функциональные группы каждый.
Уровни описания в предлагаемой модели вместе с их подуровням:
Функциональные группы компонентов в предлагаемой модели составляют:
Рассмотрим сначала модель среды ИС, поддерживающей технологию обработки данных в одномашинной конфигурации. Это может быть, например, автоматизированное рабочее место или многотерминальная система какого-либо подразделения.
В соответствии с предложенным разделением компонентов на четыре функциональные группы на верхнем уровне, образующем собственно среду ИС, имеются:
Второй подуровень среды включает такие традиционные средства поддержки исполнения прикладных программ и работы пользователей как:
Спецификации интерфейсов приведенных компонентов или систем представляют архитектурный облик среды ИС с точки зрения ее интерфейса с приложениями.
С другой стороны, эти компоненты или системы работают в среде операционной системы, составляющей второй уровень предлагаемой модели. На этом уровне присутствуют:
Второй подуровень уровня операционной системы включает традиционные системные программы:
Выбор стандартов этого уровня определяется типами аппаратно-программных платформ: UNIX, Windows NT и т.д.
Нижний уровень предлагаемой модели среды ИС образуют спецификации аппаратуры. Здесь легко увидеть привычные разработчикам ЭВМ и системным программистам характеристики архитектуры технических средств:
Наконец, замыкают эту модель аппаратные интерфейсы:
Предлагаемая модель позволяет систематизировать известные международные и национальные стандарты, действующие в данной области, а также стандарты де-факто по ряду технических решений, которые будет целесообразно рекомендовать для построения профилей. Эта модель дает также предпосылки для формирования таксономии профилей среды ИС, подобно таксономии профилей ВОС, установленной стандартом ГОСТ Р ИСО/МЭК/СТК1 10000.
Важно отметить, что современные тенденции в идеологии открытых систем направлены на освобождение потребителя от зависимости от одного определенного поставщика технических или программных средств. Прежде всего это касается обеспечения переносимости (мобильности) программного обеспечения между разными аппаратными платформами. С этим связано постепенное смещение стандартизованных решений архитектуры от нижнего к верхним уровням модели среды ИС, хотя необходимость стандартизации ряда общих вопросов аппаратуры сохранится.
Для сложных и ответственных ИС, даже в рассматриваемом случае одномашинной конфигурации, важно предусмотреть наличие в модели следующих средств:
Эти три группы функций могут относиться к разным функциональным группам компонентов, указанным выше, и поэтому они представляются третьим измерением пр.едлагаемой модели.
Архитектура клиент/сервер
В последние годы значительное внимание уделяется информационным системам с архитектурой клиент/сервер, использующим локальные сети и многомашинные комплексы.
Модель среды ИС для этого случая получается в результате обобщения рассмотренной выше модели среды одномашинной конфигурации. Нужно ввести в модель слой системных средств организации распределенной обработки и обмена данными между клиентом и сервером в сети.
Здесь над уровнем операционных систем клиента и сервера введен промежуточный слой, реализующий:
Операционные системы клиента и сервера должны иметь функции, необходимые для обмена данными в локальной сети. В остальном представления среды клиента и сервера сохраняются от одномашинного варианта.
Обработка транзакций
Для различных применений важной является среда распределенной обработки транзакций в архитектуре клиент/сервер. С этой целью в модель среды на уровне средств поддержки сетевой обработки данных вводится монитор транзакций.
Функции монитора транзакций разделяются между локальным сервером управления транзакциями и серверами, реализующими необходимые для этих транзакций службы, например, серверами баз данных. Предлагаемая для этого случая модель среды ИС по своим принципам соответствует модели DTP (Distributed Transaction Processing), разработанной консорциумом X/Open.
Дополнительно введенные в модель среды локального сервера управления транзакциями:
В модели среды сервера базы данных введены средства монитора транзакций, обеспечивающие обращения к базе данных, соответствующие запросам. При этом имеется в виду, что среда ИС обеспечивает для приложений:
При таком подходе приложения разрабатываются с применением стандартных оболочек, предоставляемых средой. В приложениях предусматриваются функции контроля и обработки ошибок, а также средства оценки производительности при обработке транзакций. Функции монитора транзакций изолированы от функций самих приложений. Благодаря выделению стандартных оболочек, новые сервисы можно генерировать при изменении кодов оболочек, не затрагивая другие компоненты.
Учет специфики предметной области
Конкретизацию наполнения предложенных моделей среды ИС спецификациями стандартных интерфейсов (по международным стандартам или стандартам дефакто наиболее распространенных и применяемых ИС продуктов) предполагается проводить с учетом имеющейся информации, описывающей прикладную область.
В частности, должно быть уделено внимание:
Объектно-ориентированный подход
В связи с развитием и расширением сфер применения открытых систем весьма перспективным направлением представляется объектно-ориентированный стиль проектирования и программирования ИС, основанный на следующих основных принципах:
Объектно-ориентированные системы обладают свойствами инкапсуляции и полиморфизма. Инкапсуляция (скрытие реализации) скрывает данные и процедуры объекта от внешнего пользователя, ограничивая связь с объектом только набором сообщений, которые способен "понимать" объект. Полиморфизм (многозначность сообщений) - одинаковые сообщения понимаются по-разному объектами в зависимости от их класса.
Динамическое связывание, абстрактные типы данных и наследование также являются неотъемлемой частью объектно-ориентированных систем. Динамическое связывание - значение имени (область памяти для данных или текст программы для процедур) становится известным только во время выполнения программы. Абстрактные типы данных - объединение данных и операций для описания новых типов, а также использование новых типов наравне с уже существующими. Наследование - позволяет при создании новых объектов использовать свойства уже существующих объектов, описывая заново только новые свойства.
Инкапсуляция позволяет хорошо скрыть машиннозависимые части системы, которые должны быть реализованы заново при переходе на другую аппаратнопрограммную платформу. При этом остальная часть системы не потребует изменений. При реализации новых машинно-зависимых частей многое может быть взято из уже существующей системы благодаря механизму наследования. Кроме повторного использования увеличивается также надежность программ, поскольку используются уже отлаженные компоненты.
Возможность конструирования абстрактных типов данных обеспечивается самим понятием класса, объединяющего объекты с одинаковым набором операций.
Способность системы взаимодействовать с другими системами хорошо поддерживается принципом посылки сообщений и соответствующими понятиями полиморфизма и динамического связывания. В сообщении объекту (возможно, удаленному) передается имя действия, которое должно быть им выполнено, и некоторые дополнительные аргументы сообщения. Как это действие выполнять, знает и решает только сам объект-получатель сообщения, от него требуется только выдача результата в ответ на полученное сообщение. Очевидно, что разные объекты будут поразному реагировать на одинаковые сообщения (полиморфизм), а способ исполнения будет выбираться в последний момент, при ответе на сообщение в зависимости от текущего состояния системы (динамическое связывание). Для того, чтобы разные системы могли обмениваться сообщениями, необходимы либо единая трактовка всех типов данных, в том числе абстрактных, либо процедура преобразования сообщений, своя для каждой пары различных взаимодействующих систем. Простота понятия абстрактных типов данных в объектно-ориентированном программировании существенно облегчает разработку такой процедуры.
Дружественность взаимодействия пользователей с ИС требует от системы наличия всех трех качеств открытых систем. Мобильность программ необходима в связи с быстрой сменой старых и появлением новых устройств, в частности, средств мультимедиа. Расширяемость требуется для введения новых технологий общения человека с ИС. Интероперабельность позволяет рассматривать человека как другую систему, с которой данная открытая ИС должна уметь взаимодействовать.
При сохранении двух нижних уровней рассмотренных моделей, в объектно-ориентированной вводятся следующие компоненты:
Коммуникационные средства в этой модели сохраняются те же, что и в предыдущих (по эталонной модели ВОС). Однако предполагается проанализировать результаты ведущихся сейчас обсуждений способов включения в объектную среду ИС серверов World Wide Web (WWW) сети Internet.
Модель проектирования информационных систем
Методологически важно наряду с рассмотренными моделями среды ИС предложить модель проектирования ИС, которая имела бы те же аспекты функциональных групп компонентов (пользователи, функции, данные, коммуникации). Такой подход обеспечит сквозной процесс проектирования и сопровождения на всех стадиях эксплуатации ИС и возможность обоснованного выбора стандартов на разработку систем и документирование проектов.
На стадии анализа требований к проектируемой системе здесь введены:
На основе результатов системного анализа на стадии предварительного проекта разрабатываются:
Стадия предварительного проекта может предусматривать прототипирование фрагментов, важных с точки зрения пользователя для проверки их соответствия требованиям на ранней фазе разработки. На стадии детального проектирования разрабатываются:
Стадия реализации ИС предусматривает тестирование компонентов и комплексное тестирование системы.
Стадия эксплуатации и сопровождения предусматривает контроль функционирования, внесение требуемых изменений в информационную базу в процессе текущей работы и модернизацию функций ИС силами прикладных специалистов с помощью инструментальных средств, встроенных в систему.
Заключение
В предлагаемой статье вводятся предварительные предложения по архитектуре семейств стандартов открытых систем. Работа по классификации стандартов и выработке их профилей имеет большое практическое значение, поэтому имеет смысл продолжить рассмотрение этой темы на основе более конкретных и разработанных предложений.