Рис. 16. Структура Windows DNA
Кроме технологий, «привязанных» к уровням, применяются и технологии, представляющие общие сервисы и «склеивающие» технологии. В программном обеспечении Microsoft роль «склеивающих» техно-
логий играют COM и COM+. COM (Component Object Model, архитек-
тура компонентных объектов) – это объектно-ориентированная технология. С компонентной организацией приложение конструируется из COM-объектов, используя готовые наборы этих объектов.
Слои Windows DNA. Технологии Microsoft и относящийся к ним инструментарий предназначены для разработки и реализации трехуровневых приложений.
Уровень представления. Есть два обширных вида клиентов: «бед-
ный» (thin) и «богатый» (rich).
«Богатый» клиент в большей степени ссылается на используемые при создании пользовательского интерфейса технологии, чем на то, какое количество кода выполняется на стороне клиента. «Богатые» клиенты похожи на обычные приложения Win32, но они представляют собой клиентскую часть трехуровневого приложения.
«Бедные» клиенты не одинаково бедны. Примером «бедного» клиента служит давно известный терминал. Microsoft предложил технологию Windows Terminal Server, в которой приложение Windows работает на центральном сервере и передает графический интерфейс пользовате- лю-клиенту.
Но при этом требуется дорогостоящий сервер, широкая полоса пропускания между клиентом и сервером. Чаще всего понятие «бедный» клиент обозначает приложение, работающее на Web-сервере и пе-
71
редающее пользовательский интерфейс с помощью HTML-страниц на Web-броузер.
Далее появилась идея обогащения Web-приложений различными компонентами, которые могут использоваться браузером – управляющие элементы ActiveX, апплеты Java и т.д. Различной оснащенности «бедные» клиенты предлагаются и компаниями-поставщиками SCADAсистем.
Уровень бизнес-логики. Три сервиса свойственны этому уровню:
сервисы компонентов (COM), Microsoft Message Queue (MSMQ) и Internet Information Server (IIS). IIS – полнофункциональный Web-сервер Microsoft, интегрированный в Windows 2000 Server. IIS является серве-
ром приложений, поддерживающим «бедных» клиентов, которые подключаются к нему через протокол HTTP.
Microsoft Transaction Server и COM+. Транзакция является фун-
даментальной структурной концепцией, которая обеспечивает разработку сложных многопользовательских приложений для работы с данными. Главное свойство транзакции в атомарности, т.е. каждая операция обмена данными в одном направлении рассматривается как уникальная и называется транзакцией.
Именно концепция транзакции обеспечивает выполнение ряда операций получения данных из разных СУБД и позволяет рассматривать их как единую операцию (рис.17).
Рис. 17. Трехуровневое приложение
72
Microsoft Message Queue – асинхронная однонаправленная связь, ориентированная на сообщения. Как DCOM, так и HTTP – синхронные протоколы, которые возвращают результат, до получения ответа от сервера работа клиента блокируется. В случае асинхронного MSMQ вызов сервиса осуществляется помещением сообщения в очередь.
При этом возврат клиенту происходит немедленно (и возврат свидетельствует о постановке в очередь) и клиент продолжает работать (нет блокировки).
Уровень доступа к данным. Фундаментальной технологией доступа к данным является OLE DB – гибкий низкоуровневый интерфейс COM. Структура Windows DNA, особенно уровня представления данных, является основой клиентских приложений, предлагаемых поставщиками SCADA-систем.
Новая реализация клиентского приложения в режиме сер-
вер/терминал. С появлением Windows NT/2000 Terminal Services вновь стала доступной организация клиентских сессий, когда каждый клиент функционирует независимо от других. В этом случае каждый пользователь получает свой ресурс: память, время центрального процессора, доступ к дискам сервера и приложениям.
Когда клиент запускается, терминальный сервер регистрирует его, предоставляя доступ к ресурсам сервера. Windows создает также виртуальный дисплей. Затем он передается клиенту и отображается на локальном мониторе.
Операции ввода, активизируемые клиентом с клавиатуры, мыши также обслуживаются сервером. Добавление новых клиентов сводится к встраиванию нового терминала.
Для организации взаимодействия между сервером и клиентом используются стандартные протоколы Microsoft RDP (Remote Desktop Protocol) и Citrix ICA (Independent Computing Achitecture), что допускает реализацию клиентов в виде супертонких бездисковых рабочих станций на платформах Linux/CE от Windows 3.11, 95, 98 и XP до рабочих станций Windows NT или 2000. Используя новые архитектурные возможности, компании-разработчики SCADA-систем имеют возможность предложить терминальные сервисы, поддерживающие выполнение SCADAприложений в режиме сессии.
Так, компания Wonderware уже поставляет Terminal Services (тер-
минальные сервисы) для SCADA-системы InTouch версии 7.1, что позволяет установить исполняющую систему InTouch один раз на цен-
73
тральном сервере и затем запускать InTouch-приложения много раз. Клиентские узлы необходимо подключать в режиме терминальной сессии InTouch. Бедный клиент может быть в этом случае терминалом персонального компьютера или встроенным терминальным устройством с вышеперечисленными операционными системами (рис.18).
Терминальные пользователи имеют доступ к данным, графическим мнемосхемам с возможностью обмена информации в реальном времени без необходимости установки InTouch на локальном клиентском компьютере.
Применение терминал/серверной модели позволяет создавать более экономичные решения за счет того, что приложение устанавливается и поддерживается инженерами только на сервере, клиентские же узлы могут быть реализованы на различных платформах, в том числе бесплатных. Следует заметить, что на различных клиентских узлах можно просматривать как одно и то же, так и различные приложения одновременно, с перекрещиванием и без перекрещивания доступа.
Рис. 18. Архитектура «терминал сервер»
Контрольные вопросы
1.Охарактеризуйте стандартное решение организации сети в системе контроля и управления.
2.Поясните суть структуры Windows DNA.
3.Дайте понятие «богатого» (rich) клиента сети.
4.Дайте понятие «бедного» (thin) клиента сети.
74
5.Какие сервисы свойственны уровню бизнес-логики в сети системы контроля и управления?
6.Поясните концепцию транзакций в сети.
7.Что такое Microsoft Message Queue? поясните суть и особенности ее работы. чем она отличается от DCOM- и HTTP-протоколов?
8.Охарактеризуйте архитектуру сети «терминал сервер».
4.10. Стратегия клиентских приложений от Wonderware
«Бедные» и «богатые» Internet/Intranet-клиенты. В
Internet/Intranet решениях в обмене данными, кроме технологического сервера как поставщика данных и клиента как получателя информации задействован Web-сервер (рис.19). Информация на сервере хранится в виде страниц, на которых кроме текста могут находиться разные объекты: графические изображения, аудио- и видеоролики, формы для ввода данных, интерактивные приложения и т.д.
Рис. 19. Клиенты и серверы Web
Страницы сервера WWW могут содержать не только статическую, но и динамическую информацию. Страница может содержать формы для выполнения запросов к базе данных. Результат такого запроса будет динамически сформирован в виде страницы, которая появится на экране пользователя. Сервер WWW может решать любую задачу, принимая любые данные от удаленного пользователя, обрабатывая их и передавая обратно. Для обработки на сервере WWW запросов, поступающих от клиентских приложений SCADA и требующих получения данных из БД
75