Санкт-Петербургский государственный университет
Опубликован: 05.09.2014 | Доступ: свободный | Студентов: 633 / 111 | Длительность: 06:58:00
Лекция 1:

Технологии и стандартизация открытых вычислительных и информационных систем

Лекция 1: 12 || Лекция 2 >
Аннотация: Понятие открытых систем. Международные структуры в области стандартизации открытых систем. Методологический базис открытых систем. Эталонные модели среды и взаимосвязи открытых систем. Профили открытых систем.
Ключевые слова: software, hardware, очередь, OPEN, system, unified, information, area, пространство, пользователь, программное обеспечение, IBM, корпорация, operation, ПО, переносимость, базы данных, digital, VAX, VMS, адресное пространство, САПР, СУБД, Интернет, TCP/IP, DARPA, фирма, network architecture, SNA, international, standardization, ISO, open systems, interconnection, OSI, определение, избыточность, информационные технологии, открытые спецификации, интероперабельность, IEEE, POSIX, environment, открытая система, plug, play, USB, Unix, Windows, ядро, MS-DOS, язык программирования, Java, SUN, затраты, интеграция, телекоммуникации, MPS, AND, development, technology, ESPRIT, OMI, microprocessor, infrastructure, Report, CoS, NASA, general, electric, программа, работ, значение, Глобализация, global, базис, поле, селекция, IEC, деятельность, joint, technical committee, отношение, SC, portable, interface, рабочая группа, Web, service, architecture, SOA, legacy, доступ, интерфейс, операции, language, WSDL, execution, negotiation, protocol, contract, WS-I, w3c, OASIS, IETF, Basic, UDDI, DESCRIPTION, discovery, SOAP, security, WSS, transaction, activity, XML, encryption, signature, XSL, extensible, XSLT, ссылка, место, адрес, идентификатор, URI, uniform, resource, identifier, префикс, FTP


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

Этот раздел знаний стал наукой об информационных технологиях (ИТ-наукой), основными чертами которой являются:

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

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

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

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

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

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

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

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

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

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

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

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

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

История концепции открытых систем начинается в конце 60-х - начале 70-х годов с того момента, когда возникла насущная проблема переносимости (мобильности) программ и данных между компьютерами с различной архитектурой [1].

Одним из первых шагов в этом направлении, оказавшим влияние на развитие вычислительной техники, явилось создание компьютеров серии IBM-360, обладающих единым набором команд и способных работать с одной и той же операционной системой. Корпорация IBM (США) предоставляла со скидкой лицензии на свою операционную систему (Operation System - OS) пользователям, которые предпочли купить компьютеры той же архитектуры у других производителей.

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

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

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

Конец 70-х годов характеризуется быстрым развитием сетевых технологий. Компания DIGITAL интенсивно внедряла свою архитектуру DECnet. Сети, использующие протоколы Интернет (TCP/IP), первоначально реализованные Агентством по перспективным исследованиям Министерства обороны США (DARPA), стали широко применяться для объединения различных систем. Фирма IBM разработала и применяла собственную сетевую архитектуру (System Network Architecture - SNA), которая впоследствии стала основой для предложенной Международной организацией по стандартизации (International Organization for Standardization - ISO) архитектуры взаимосвязи открытых систем (Open Systems Interconnection - OSI).

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

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

  • Ассоциация французских пользователей UNIX и открытых систем (AFUU): "Открытая система - это система, состоящая из элементов, которые взаимодействуют друг с другом через стандартные интерфейсы".
  • Корпорация Hewlett-Packard: "Открытая система - это совокупность разнородных компьютеров, объединенных сетью, которые могут работать как единое интегрированное целое независимо от того, как в них представлена информация, где они расположены, кем они изготовлены, под управлением какой операционной системы они работают".
  • Национальный институт стандартов и технологий США (National Institute of Standards and Technologies - NIST): "Открытая система - это система, которая способна взаимодействовать с другой системой посредством реализации международных стандартных протоколов. Открытыми системами являются как конечные, так и промежуточные системы. Однако открытая система не обязательно может быть доступна другим открытым системам. Эта изоляция может быть обеспечена или путем физического отделения, или путем использования технических возможностей, основанных на защите информации в компьютерах и средствах коммуникаций".

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

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

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

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

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

В качестве примеров использования технологии открытых систем можно привести технологии Intel Plug&Play и USB, а также операционные системы UNIX и (частично) ее основного конкурента - Windows NT. Одна из причин рассматривать систему UNIX в качестве базовой операционной системы (ОС) для использования в открытых системах состоит в том, что она практически целиком написана на языке высокого уровня, имеет модульное строение и относительно гибкая.

Композиционно OC UNIX составлена из небольшого числа основных компонентов - ядра, инструментальных утилит и оболочки. Ядро состоит из относительно маленького набора программ, предоставляющих системные ресурсы и непосредственно взаимодействующих с аппаратурой. Хотя OC UNIX в целом является аппаратно-независимой, программы, которые реализуют некоторые службы, и часть кода, тем не менее, зависят от аппаратуры. Точно также прикладные системы, использующие особенности конкретной версии UNIX, также как в MS-DOS, реализационно-зависимы. В настоящее время многие новые продукты сразу разрабатываются в соответствии с требованиями открытых систем - примером тому может служить широко используемый в настоящее время язык программирования Java компании Sun Microsystems.

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

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

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

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

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

Интеграция систем. Системы эволюционируют от простых, автономных подсистем к более сложным, интегрированным системам, основанным на требовании взаимодействия компонентов.
Реинжиниринг систем. Эволюция бизнес-процессов предприятия - непрерывный процесс, который является неотъемлемой составляющей деятельности организации. Создание информационной системы, ее развитие и реконструкция (реинжиниринг) в связи с перепроектированием процессов - непрерывный процесс уточнения требований, трансформации архитектуры и инфраструктуры системы. В связи с этим система изначально должна быть спроектирована так, чтобы ее ключевые составляющие могли быть реконструированы при сохранении целостности и работоспособности системы.
Трансформация унаследованных систем. Практически любая система после создания (приобретения) и внедрения быстро "консервирует" ИТ-ситуацию, противодействует изменениям и имеет тенденцию скорого превращения в бремя организации. Унаследованные системы (Legacy Systems), построенные на "уходящих" технологиях, архитектурах, платформах, а также программное и информационное обеспечение, при проектировании которых не были предусмотрены нужные меры для их постепенного перерастания в новые системы, требуют перестройки (Legacy Transformation) в соответствии с новыми требованиями бизнес-процессов и технологий. В процессе трансформации необходимо, чтобы новые модули системы и оставшиеся компоненты унаследованных систем сохраняли способность к взаимодействию.
Повторное использование неоднородных информационных ресурсов. Технология разработки информационных систем должна позволять крупномасштабно применять технологию повторного использования информационных ресурсов, которые могут быть "соединены" (т.е. образованы их интероперабельные сообщества) для производства серий стандартизованных продуктов в определенной прикладной области.
Продление жизненного цикла систем. В условиях исключительно быстрого технологического развития требуются специальные меры, обеспечивающие необходимую продолжительность жизненного цикла продукта, включающего в себя постоянное улучшение его потребительских свойств (сопровождение программной системы). При этом новые версии продукта обязательно должны поддерживать заявленные функциональности предыдущих версий.

Таким образом, основной принцип формирования открытых систем состоит в создании открытой среды (Open Environment), включающей в себя программные и аппаратурные средства, системы, службы и протоколы связи, интерфейсы, форматы данных. Такая среда в основе имеет развивающиеся доступные и общепризнанные международные стандарты и обеспечивает значительную степень взаимодействия (Interoperability), переносимости (Portability) и масштабирования (Scalability) приложений и данных.

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

В развитии и применении открытых систем заинтересованы все участники процесса информатизации: пользователи, проектировщики систем и системные интеграторы, производители технических и программных средств вычислительной техники и телекоммуникации. В частности, по встроенным микропроцессорным системам (MPS) в рамках специальной программы научных исследований и разработок ЕС в области информационных технологий ЭСПРИТ (European Strategic Programme for Research and Development in Information Technology - ESPRIT) существует проект OMI (Open Microprocessor Initiative), направленный на создание коллективной пользовательской библиотеки MPS в соответствии с принципами открытых систем.

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

Администрация Б.Клинтона, например, еще в 1993 году объявила о программе создания Национальной информационной инфраструктуры США на принципах открытых систем (National Information Infrastructure Initiative), отпустила на эту программу более 2-х миллиардов долларов и содействовала инвестициям со стороны бизнеса. Известные американские корпорации Intel и Sun Microsystems ежегодно тратят на научные изыскания в этой области десятки миллионов долларов.

Совет Европы в 1994 году в своих рекомендациях о путях перехода к информационному обществу (Bangemann Report) подчеркнул, что стандарты открытых систем должны играть важнейшую роль при создании информационной инфраструктуры общества. В настоящее время объединенными усилиями различных стран и международных организаций ведется активная работа по созданию глобальной информационной инфраструктуры, основанной на принципах открытых систем.

Эти принципы поддерживают крупные компании-производители программных средств, средств вычислительной техники и телекоммуникаций, компании-пользователи ИТ/ИС и компании-интеграторы, занимающиеся созданием, развитием и поддержкой ИС. В целях эффективного развития методологии открытых систем правительственные агентства и фирмы часто объединяются в различного рода консорциумы. Одно из наиболее известных объединений - Cooperation for Open Systems (COS), в которое входят такие известные организации и компании как NASA, McDonnel-Duglas, Boeing, General Electric, General Motors, нефтяные компании, крупнейшие банки.

В России программа развития открытых систем реализуется как межотраслевая Федеральная программа. По инициативе Совета по автоматизации научных исследований Российской академии наук был издан совместный документ (Постановление № 136/16 от 16 сентября 1993 г.) Министерства науки и технической политики Российской Федерации и Президиума Российской академии наук о мерах по обеспечению развития работ по научному направлению "Развитие и применение открытых систем" [3].

Лекция 1: 12 || Лекция 2 >