Введение
Структура среды информационной системы
Концептуальная модель открытых систем
Архитектура клиент/сервер
Обработка транзакций
Учет специфики предметной области
Объектно-ориентированный подход
Модель проектирования информационных систем
Заключение

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

Введение

Общие свойства открытых информационных систем можно сформулировать следующим образом:

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

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

    Структура среды информационной системы

    Обобщенная структура любой ИС представляется состоящей из двух взаимодействующих частей:

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

  • стандарты интерфейсов взаимодействия прикладных программ со средой ИС (Application Program Interface - API);
  • стандарты интерфейсов взаимодействия самой ИС с внешней для нее средой (External Environment Interface - EEI).
  • Эти две группы интерфейсов определяют спецификации внешнего описания среды ИС - архитектуру с точки зрения конечного пользователя, проектировщика ИС, прикладного программиста, разрабатывающего функциональные части ИС.

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

    Концептуальная модель открытых систем

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

    MUSIC (ССТА, Великобритания),

    MIC (AFUU, Франция),

    OSE/RM (IEEE, США).

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

    Уровни описания в предлагаемой модели вместе с их подуровням:

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

  • компоненты, обслуживающие интерфейс с пользователем (User - "U");
  • компоненты, обеспечивающие системные функции среды по организации процессов обработки данных (System - "S");
  • компоненты, обеспечивающие представление и хранение данных (Information - "I");
  • компоненты среды телекоммуникаций (Communication - "C").
  • Рассмотрим сначала модель среды ИС, поддерживающей технологию обработки данных в одномашинной конфигурации. Это может быть, например, автоматизированное рабочее место или многотерминальная система какого-либо подразделения.

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

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

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

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

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

  • драйверы ввода/вывода;
  • ядро операционной системы;
  • файловую систему;
  • средства сетевого уровня эталонной модели ВОС.
  • Выбор стандартов этого уровня определяется типами аппаратно-программных платформ: UNIX, Windows NT и т.д.

    Нижний уровень предлагаемой модели среды ИС образуют спецификации аппаратуры. Здесь легко увидеть привычные разработчикам ЭВМ и системным программистам характеристики архитектуры технических средств:

  • организация ввода/вывода;
  • система команд и управление прерываниями;
  • организация памяти;
  • канальный уровень (звено данных) эталонной модели ВОС.
  • Наконец, замыкают эту модель аппаратные интерфейсы:

  • интерфейсы периферийных устройств;
  • системная шина;
  • интерфейс (шины) массовой памяти;
  • физический уровень эталонной модели ВОС.
  • Предлагаемая модель позволяет систематизировать известные международные и национальные стандарты, действующие в данной области, а также стандарты де-факто по ряду технических решений, которые будет целесообразно рекомендовать для построения профилей. Эта модель дает также предпосылки для формирования таксономии профилей среды ИС, подобно таксономии профилей ВОС, установленной стандартом ГОСТ Р ИСО/МЭК/СТК1 10000.

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

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

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

    Архитектура клиент/сервер

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

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

    Здесь над уровнем операционных систем клиента и сервера введен промежуточный слой, реализующий:

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

    Обработка транзакций

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

    Функции монитора транзакций разделяются между локальным сервером управления транзакциями и серверами, реализующими необходимые для этих транзакций службы, например, серверами баз данных. Предлагаемая для этого случая модель среды ИС по своим принципам соответствует модели DTP (Distributed Transaction Processing), разработанной консорциумом X/Open.

    Дополнительно введенные в модель среды локального сервера управления транзакциями:

  • средства монитора транзакций;
  • сервисные оболочки обслуживания вызовов (запросов клиентов) различных типов, например, синхронных или асинхронных.
  • В модели среды сервера базы данных введены средства монитора транзакций, обеспечивающие обращения к базе данных, соответствующие запросам. При этом имеется в виду, что среда ИС обеспечивает для приложений:

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

    Учет специфики предметной области

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

    В частности, должно быть уделено внимание:

  • интерфейсам операционной системы Windows NT для автоматизированных рабочих мест;
  • стандартам POSIX на ОС типа UNIX для серверов в локальных сетях, а также предложениям по унификации интерфейса прикладных программ (API) этих систем, разработанным совместно Open Software Foundation (OSF), Unix International (UI) и Х/Open;
  • интерфейсам сетевой операционной системы NetWare фирмы Novell;
  • стандартизованным профилям взаимосвязи открытых систем (проект государственного стандарта РФ ПРОВОС).
  • Объектно-ориентированный подход

    В связи с развитием и расширением сфер применения открытых систем весьма перспективным направлением представляется объектно-ориентированный стиль проектирования и программирования ИС, основанный на следующих основных принципах:

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

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

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

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

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

    Дружественность взаимодействия пользователей с ИС требует от системы наличия всех трех качеств открытых систем. Мобильность программ необходима в связи с быстрой сменой старых и появлением новых устройств, в частности, средств мультимедиа. Расширяемость требуется для введения новых технологий общения человека с ИС. Интероперабельность позволяет рассматривать человека как другую систему, с которой данная открытая ИС должна уметь взаимодействовать.

    При сохранении двух нижних уровней рассмотренных моделей, в объектно-ориентированной вводятся следующие компоненты:

  • интерфейса (например, по типу NeXT);
  • языки объектно-ориентированного программирования (в частности, стандарт языка C++);
  • распределенная система управления объектами (Distributed Object Management System) и брокер запросов объектов (Object Request Broker) в соответствии с архитектурой CORBA, предложенной консорциумом OMG;
  • средства проектирования информационной базы ИС с использованием моделей сущность-связь" (Е-В моделей);
  • объектно-ориентированные системы управления базами данных.
  • Коммуникационные средства в этой модели сохраняются те же, что и в предыдущих (по эталонной модели ВОС). Однако предполагается проанализировать результаты ведущихся сейчас обсуждений способов включения в объектную среду ИС серверов World Wide Web (WWW) сети Internet.

    Модель проектирования информационных систем

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

    На стадии анализа требований к проектируемой системе здесь введены:

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

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

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

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

    Заключение

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