Технологии открытых систем

Открытые системы

Понятие открытых систем

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

Развитие систем и средств вычислительной техники, телекоммуникационных систем и быстрое расширение сфер их применения привели к необходимости объединения конкретных вычислительных устройств и реализованных на их основе ИС в единые информационно-вычислительные системы и среды для формирования единого информационного пространства (Unified Information Area – UIA). Формирование такого пространства стало насущной необходимостью для решения многих важнейших экономических и социальных задач в ходе становления и развития информационного общества.

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

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

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

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

История концепции открытых систем начинается в конце 1960-х – начале 1970-х гг. с того момента, когда возникла насущная проблема переносимости (мобильности) программ и данных между компьютерами с различной архитектурой [21, 27]. Одним из первых шагов в этом направлении, оказавшим влияние на развитие вычислительной техники, явилось создание компьютеров серии IBM-360, обладающих единым набором команд и способных работать с одной и той же операционной системой. Корпорация "IBM" предоставляла со скидкой лицензии на свою операционную систему пользователям, которые предпочли купить компьютеры той же архитектуры у других производителей.

Частичное решение проблемы мобильности для программ обеспечили ранние стандарты языков высокого уровня, например ФОРТРАН и КОБОЛ. Языки позволяли создавать переносимые программы, хотя часто ограничивали функциональные возможности. Позднее эти возможности были существенно увеличены при появлении новых стандартов (расширений) на эти языки. Мобильность обеспечивалась также за счет того, что эти стандарты были приняты многими разработчиками различных программных платформ. Когда языки программирования приобрели статус стандарта "де-факто", их разработкой и сопровождением начали заниматься национальные и международные организации по стандартизации.

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

Следующий этап в развитии концепции открытости – вторая половина 1970-х гг. Он связан с областью интерактивной обработки данных и увеличением объема информационных и программных продуктов, для которых требуется переносимость (пакеты для инженерной графики, системы автоматизации проектирования, базы данных и управление распределенными базами данных). Компания "Digital" начала выпуск мини-ЭВМ VAX, работающих под управлением операционной системы VMS. Машины этой серии имели уже 32-разрядную архитектуру, что обеспечило значительную эффективность программного кода и сократило издержки на работу с виртуальной памятью. Программисты получили возможность напрямую использовать адресное пространство объемом до 4 Гб, что практически снимало все ограничения на размеры решаемых в то время задач. Мини-ЭВМ VAX этого типа надолго стали стандартной платформой для систем проектирования, сбора и обработки данных, управления экспериментом и т.п. Именно они стимулировали создание мощных систем автоматизированного проектирования, СУБД, машинной графики, которые широко используются до настоящего времени.

Конец 1970-х гг. характеризуется быстрым развитием сетевых технологий. Компания "Digital" интенсивно внедряла свою архитектуру DECnet. Сети, использующие протоколы Internet (TCP/ IP), первоначально реализованные Агентством по перспективным исследованиям Министерства обороны США (DARPA), стали широко применяться для объединения различных систем. Фирма "IBM" разработала и применяла собственную сетевую архитектуру (System Network Architecture – SNA), которая впоследствии стала основой для предложенной ISO архитектуры OSI.

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

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

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

В Корпорации "Hewlett-Packard" считают, что открытая система – это совокупность разнородных компьютеров, объединенных сетью, которые могут работать как единое интегрированное целое независимо от того, как в них представлена информация, где они расположены, кем они изготовлены, под управлением какой операционной системы они работают.

По мнению специалистов Национального института стандартов и технологий США (National Institute of Standards and Technologies – NIST), открытая система – это система, которая способна взаимодействовать с другой системой посредством реализации международных стандартных протоколов. Открытыми системами являются как конечные, так и промежуточные системы. Однако открытая система не обязательно может быть доступна другим открытым системам. Эта изоляция может быть обеспечена или путем физического отделения, или путем использования технических возможностей, основанных на защите информации в компьютерах и средствах коммуникаций.

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

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

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

На современном этапе развития ИТ открытую систему определяют как программную или информационную систему, построенную на базе исчерпывающего и согласованного набора международных стандартов на ИТ и профилях функциональных стандартов, которые реализуют открытые спецификации на интерфейсы, службы и поддерживающие их форматы, чтобы обеспечить взаимодействие (интероперабельность) и мобильность программных приложений, данных и персонала (Комитет IEEE POSIX 1003.0 Института инженеров по электротехнике и электронике – IEЕЕ).

Это определение унифицирует содержание среды (Environment), которую предоставляет открытая система для широкого использования. Базовым в этом определении является термин "открытая спецификация", имеющий следующее толкование: это общедоступная спецификация, которая поддерживается открытым, гласным, согласительным процессом, направленным на постоянную адаптацию новой технологии, и которая соответствует стандартам. Таким образом, под открытыми системами следует понимать системы, обладающие стандартизованными интерфейсами – решение проблемы открытости основывается на стандартизации интерфейсов систем и протоколов взаимодействия между их компонентами.

В качестве примеров использования технологии открытых систем можно привести технологии Intel Plug&Play и USB, а также операционные системы UNIX и (частично) ее основного конкурента – Windows NT. Одна из причин рассматривать систему UNIX в качестве базовой операционной системы для использования в открытых системах состоит в том, что она практически целиком написана на языке высокого уровня, имеет модульное строение и относительно гибка. Композиционно ОС UNIX составлена из небольшого числа основных компонентов: ядро, инструментальные утилиты и оболочка. Ядро состоит из относительно маленького набора программ, предоставляющих системные ресурсы и непосредственно взаимодействующих с аппаратурой. Хотя ОС UNIX в целом является аппаратно независимой, программы, которые реализуют некоторые службы, и часть кода, тем не менее, зависят от аппаратуры. Прикладные системы, использующие особенности конкретной версии UNIX, так же как в MS-DOS, реализационно зависимы. В настоящее время многие новые продукты сразу разрабатываются в соответствии с требованиями открытых систем. Примером тому может служить широко используемый в настоящее время язык программирования Java компании "Sun Microsystems".

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

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

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

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

 
< Пред   СОДЕРЖАНИЕ     След >