Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архитектура информационных систем. Часть 1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
761 Кб
Скачать

копирует сообщение в адресное пространство ядра;

определяет адрес назначения и помещает его в заголовок сообщения;

передаёт сообщение-вызов, используя сетевой интерфейс. Сервер принимает сообщение-вызов и осуществляет его обра-

ботку. Ядро сервера:

вызывает обработчик прерывания, который проверяет правильность данных полученного пакета;

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

копирует сообщение серверному стабу;

выполняет переключение на контекст серверного стаба (восстанавливает содержимое регистров процессора и

карту памяти).

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

8.2. Использование удаленных объектов

8.2.1. Объектно-ориентированная концепция распределённых систем

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

ных систем. Данная концепция обеспечивает следующие достоинства:

упрощение процесса разработки распределённых приложений относительно традиционного клиент-серверного подхода;

81

обеспечение возможности разработки приложений для неоднородных вычислительных систем (за счёт использования виртуальных машин);

обеспечение возможности отделения интерфейса объекта

от его внутренней реализации.

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

8.2.2. Схема использования удаленных объектов

Схема использования удалённых объектов приведена на рис. 25. При этом, аналогично вызову удалённых процедур, создаётся клиентская заглушка, которая в данном случае называется посредником (англ. proxy – доверенное лицо, посредник). Причём интерфейс посредника полностью идентичен интерфейсу удалённого объекта.

компьютер-клиент

Процесс-клиент

Ссылка на

посредника

Интерфейс

объекта

Посредник

Промежуточное ПО

ОС (сеть)

канал

связи

компьютер-сервер

Процесс-сервер

Объект

Интерфейс

объекта

Каркас

Промежуточное ПО

ОС (сеть)

Рис. 25. Схема использования удалённых объектов

82

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

Удалённые объекты могут находиться в одном из следующих состояний:

активированное – объект обслуживает удалённые вызовы, т.е. может связываться с каркасом и посредником;

дезактивированное – объект не может обслуживать удалённые вызовы.

8.2.3. Технология JAVA RMI

Технология Java RMI (Remote Method Invocation – вызов уда-

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

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

Преимущества технологии Java RMI:

предоставление возможности использования объектноориентированной концепции разработки распределённых приложений и механизм взаимодействия между его компонентами;

кроссплатформенность, которая обеспечивается виртуальной машиной Java.

Ограничения данной технологии:

ориентация только на платформу Java;

83

необходимость установления соединений между компонентами распределённого приложения.

8.3. Технология CORBA

8.3.1. Введение в CORBA

CORBA (Common Object Request Broker Architecture – общая ар-

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

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

ское объединение OMG (Object Management Group), в основании которого приняли участие такие компании, как Hewlett-Packard,

Phillips Telecommunications, Sun Microsystems, American Airlines и

др. Основной задачей OMG стало создание и продвижение среды разработки распределённых приложений на основе объектноориентированной концепции, а также соответствующих рекомендаций, спецификаций и стандартов.

Прежде всего, OMG представила общую концепцию архитек-

туры управления объектами (OMA – Object Management Architecture). Данная архитектура включает следующие компоненты:

язык описания интерфейсов распределённых объектов

IDL (Interface Definition Language);

реализации IDL для различных языков программирования;

программные шаблоны и стандартные сервисы;

объектная модель CORBA.

Впервые спецификация CORBA 1.0 была представлена в 1991 г.

8.3.2. Основы технологии CORBA

Язык описания интерфейсов IDL позволяет создать универсальное описание интерфейса распределённых объектов и, соответственно, системы в целом. Для каждого объекта интерфейс состоит

84

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

ка IDL на языки Ada, C, C++, Java, Python, Lisp, Smalltalk и др.,

реализуемые соответствующими компиляторами.

Технология CORBA основана на использовании так называемо-

го брокера объектных запросов ORB (Object Request Broker). Дан-

ный компонент обеспечивает создание экземпляров объектов и вызов их методов. При этом допускаются статические19 и динамические20 вызовы методов.

Таким образом, ORB является промежуточным звеном между приложением и остальными средствами CORBA.

Для организации взаимодействия между ORB отдельных при-

ложений применяется протокол GIOP (General Inter-ORB Protocol).

Наиболее широкое распространение получила реализация данного протокола для сети Internet, которая использует стек протоколов

TCP/IP и получила название IIOP (Internet Inter-ORB Protocol).

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

На рис. 26 показан принцип построения архитектуры CORBA.

Приложение

 

Приложение

 

клиент

 

 

сервер

 

 

 

 

 

 

 

 

 

Ссылка

 

 

 

Объект

 

 

 

 

 

 

 

 

 

 

 

 

 

на объект

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Посредник

 

 

 

Каркас

 

 

 

 

канал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

связи

 

 

 

 

 

ORB

ORB

 

(GIOP)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 26. Принцип построения архитектуры CORBA

Технология CORBA также предусматривает разработку и включение в состав информационных систем стандартных объектных

сервисов (CORBA Services) и общих средств (Common Facilities).

19Статические вызовы методов определяются во время компиляции, в связи с чем позволяют выполнять контроль типов и обеспечивают высокую скорость работы.

20Динамические вызовы методов определяются во время выполенния и, таким образом, повышают гибкость.

85

Примерами сервисов являются сервис имен, сервис транзакций, сервис запросов, сервис безопасности и т.д. (всего 15 сервисов).

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

ит.д. [14].

8.3.3.Общий порядок разработки приложений на базе CORBA

Порядок разработки приложений на базе CORBA может быть представлен следующим образом:

создание описания интерфейса системы на языке IDL;

обработка полученного описания и генерация кодов посредника и скелетона на заданном языке программирования;

создание серверной части приложения (кода реализации объекта);

создание клиентской части приложения (кода использова-

ния объекта).

Использование технологии CORBA предоставляет ряд преимуществ относительно использования традиционного клиентсерверного подхода:

независимость от используемых программно-аппаратных платформ и языков программирования благодаря использованию языка IDL;

прозрачность относительно расположения объектов, что позволяет взаимодействовать объектам независимо от их принадлежности одному процессу, машине или сети;

наличие развитой инфраструктуры распределённых объектов;

самодокументируемость системы (метаданные), за счёт чего клиенты могут определить, каким образом вызывать методы во время выполнения.

86

Недостатками технологии CORBA являются:

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

наличие сложностей взаимодействия отдельных частей приложений посредством сети Internet;

не предусмотрено использование компонентной модели.

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

Контрольные вопросы

1.Поясните технологию вызова удалённых процедур.

2.Дайте понятие объектно-ориентированной концепции распределённых систем.

3.Поясните технологию использования удалённых объектов.

4.Поясните технологию Java RMI.

5.Поясните основы технологии CORBA.

6.Каков общий порядок разработки приложений на базе

CORBA?

7.В чём заключаются преимущества и недостатки технологии

CORBA?

87

Список сокращений

ПО – программное обеспечение ОС – операционная система

IDE – Integrated development environment (интегрированная сре-

да́разработки)

88

Библиографический список

1. Когаловский М.Р. Перспективные технологии информационных систем / М.Р. Когаловский.– М.: ДМК Пресс; Компания АйТи,

2003.–288 с.

2. Когаловский М.Р. Энциклопедия технологий баз данных / М.Р.Когаловский.–М.: Финансы и статистика, 2002.– 800 с.

3. https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0% B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B

0.[Электронный ресурс].

4.Архитектура информационных систем: учебник / Б.Я. Советов, А.И. Водяхо, В.А. Дубенецкий, В.В. Цехановский.– М.: Ака-

демия, 2012.–288 с.

5.Foster I., Kesselman C., Nick J., Tuecke S. The Physiology of the Grid: An Open Grid Service Architecture for Distributed Systems Integration. / Global Grid Forum. 2002. URL: http://www.globus.org/ogsa/.

6.Lamport L. Distributin. URL: http://research.microsoft.com/enus/

um/people/lamport/pubs/distributed-system.txt.

7.Таненбаум Э., Ван-Стеен М. Распределенные системы. Принципы и парадигмы. – СПб.: Питер, 2003.– 877 с.

8.Радченко Г.И. Распределенные вычислительные системы / Г.И. Радченко. – Челябинск: Фотохудожник, 2012. – 184 с.

9.Стелтинг С. Применение шаблонов Java. Библиотека профессионала / C. Селтинг, О. Маасен. – М.: Вильямс, 2002.– 576 с.

10.Гамма Э. Приёмы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон,

Дж. Влиссидес. – СПб.: Питер, 2001.– 368 с.

11. AntiPatterns / W. Brown, К. R. Malveau, H.I. McCormick,

T.Mowbray. – N.Y.: John Wiley, 1998.–156 pp.

12.https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D1%82%-

D0%B8%D0%BF%D0%B0%D1%82%D1%82%D0%B5%D1%80%D 0%BD. [Электронный ресурс].

13. The Zachman International e-Commerce Site [Электронный ре-

сурс]: http://www.zachmaninternational.com.

14. Орфали Р. Java и CORBA в приложениях клиент-сервер / Р. Орфали, Д. Харки.– М.: Лори, 2000.– 712 с.

89

ОГЛАВЛЕНИЕ

 

Введение ......................................................................................................................................

3

1. Основные понятия ..................................................................................................................

3

1.1. Информационные системы..............................................................................................

3

1.2. Архитектура информационных систем..........................................................................

4

1.3. Уровни архитектуры информационных систем ............................................................

5

2. Классификация ИС .................................................................................................................

7

3. Базовые структуры ИС.........................................................................................................

10

3.1. Информационно-управляющие системы (ИУС) .........................................................

11

3.2. Системы мониторинга и управления ресурсами (СМУР) ..........................................

13

3.3. Управляющие системы (УС) .........................................................................................

13

3.4. Системы управления производством (СУП) ...............................................................

15

3.5. Системы управления доступом (СУД) .........................................................................

17

4. Проектирование информационных систем........................................................................

20

4.1. Стили проектирования ИС ............................................................................................

20

4.2. Атрибуты качества ИС...................................................................................................

22

5. Архитектуры вычислительных платформ информационных систем..............................

28

5.1. Централизованная архитектура.....................................................................................

29

5.2. Автономная архитектура ...............................................................................................

30

5.3. Распределённая архитектура.........................................................................................

31

5.3.1. Понятие распределённой вычислительной системы...........................................

31

5.3.2. Промежуточное программное обеспечение .........................................................

32

5.3.3. Модель «Клиент-Сервер» ........................................................................................

33

6. Архитектурные стили...........................................................................................................

42

6.1. Понятие и разновидности архитектурных стилей.......................................................

42

6.2. Системы, основанные на потоках данных ...................................................................

43

6.2.1. Системы пакетно-последовательной обработки................................................

43

6.2.2. Системы типа «конвейеры и фильтры»...............................................................

44

6.3. Системы, использующие вызов с возвратом ...............................................................

44

6.3.1. Системы типа программа-подпрограммы...........................................................

45

6.3.2. Клиент-серверные системы ...................................................................................

45

6.3.3. Объектно-ориентированные системы..................................................................

46

6.3.4. Иерархические многоуровневые системы .............................................................

46

6.4. Системы, использующие принцип независимых компонент.....................................

47

6.4.1. Системы взаимодействующих процессов.............................................................

47

6.4.2. Системы, управляемые событиями.......................................................................

48

6.5. Системы, использующие принцип централизованных данных.................................

49

6.5.1. Системы, основанные на использовании централизованной базы данных .......

50

6.5.2. Системы, использующие принцип классной доски ...............................................

50

6.6. Виртуальные машины....................................................................................................

51

6.6.1 Интерпретаторы.....................................................................................................

52

6.6.2. Системы, основанные на правилах ........................................................................

53

6.7. Рекомендации по использованию стилей ....................................................................

54

7. Паттерны и фреймворки в архитектуре ИС .......................................................................

57

7.1. Паттерны .........................................................................................................................

57

7.2. Антипаттерны .................................................................................................................

64

7.3. Фреймворки.....................................................................................................................

71

7.3.1.Фреймворк Захмана ..................................................................................................

72

8. Объектные распределённые системы .................................................................................

79

8.1. Вызов удаленных процедур...........................................................................................

79

8.1.1. Основы технологии RPC .........................................................................................

79

8.1.2. Схема выполнения RPC............................................................................................

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]