- •Промежуточное программное обеспечение используется в многозвенных клиент-серверных приложениях для интеграции распределенных компонентов в единую информационную систему.
- •Аль Капоне от it
- •Ук рф. Глава 28. Преступления в сфере компьютерной информации
- •Ук рф. Глава 28. Преступления в сфере компьютерной информации
- •Ук рф. Глава 28. Преступления в сфере компьютерной информации
- •Европейская конвенция о киберпреступности
- •Интернет-радио
- •Интерфейс программы «Radiocent»
- •Прогнозы — дело неблагодарное?
- •Концепция xml-rpc
- •Модель "сервер приложений"
- •Мобильный софт
- •Архитектура виртуального интерфейса
- •Virtual Interface (VI) — это протокол связи в архитектуре Virtual Interface Architecture
- •«Тупые» (dumb) терминалы
- •«Тонкие клиенты»
- •Промежуточное программное обеспечение используется в многозвенных клиент-серверных приложениях для интеграции распределенных компонентов в единую информационную систему.
Концепция xml-rpc
XML-RPC — это "... спецификация и набор реализаций, которые позволяют программному обеспечению, работающему на разных операционных системах и в различных условиях, вызывать процедуры через Интернет. Это удаленный вызов процедуры с использованием HTTP как транспорта и XML как способа кодирования. XML-RPC разработан настолько простым, насколько это возможно для сложных структур данных, подлежащих передаче, обработке и приему". — [хmlrpc.com]
"Мы хотели, чистый, расширяемый и очень простой формат. Он должен представлять HTML-кодеру возможность заглянуть в файл, содержащий описание XML-RPC вызова, понять, что тот делает и быть в состоянии изменить его, чтоб он заработал с первой или второй попытки... Мы также хотели, чтобы это был легко реализуемый протокол, который может быть быстро адаптирован для работы в другой среде или на других операционных системах."- [xmlrpc.com]
WSDL
Язык описания веб-сервисов (Web services Description Language, WSDL) предназначен для унифицированного представления внешних интерфейсов веб-службы. Текущая версия протокола (на момент написания этой лекции) WSDL 2.0 и она имеет некоторые отличия от предыдущих версий (см.табл. 1 и рис. 3).
Таблица 1. Основные элементы протокола WSDL.
Элемент WSDL 1.1 |
Элемент WSDL 2.0 |
Краткое описание |
PortType |
Interface |
Представляет описание интерфейса веб-сервиса (список операций и их параметров). |
Service |
Service |
Список системных функций |
Binding |
Binding |
Специфицирует интерфейсы и задает параметры связывания с протоколом SOAP: стиль связывания (RPC/Document) и транспорт (SOAP). Эта секция доступна и для каждой из операций |
Operation |
Operation |
Определяет операцию, представляемую веб-сервером. WSDL-операция — это аналог традиционным функциям и процедурам. |
Message |
не использ. |
Сообщение, связанное с определенной операцией. Содержит информацию, необходимую для выполнения данной операции. Каждое сообщение может состоять из нескольких логических частей, описывающих типы данных и имена атрибутов. В версии 2.0 было исключено, т.к. была внедрена поддержка XML Schema для всех элементов. |
Types |
Types |
Описание данных в соответствии с XML Schema. |
Рис. 3. Структура протокола WSDL
В спецификации WSDL 1.1 было определено 4 шаблона обмена сообщениями (типы операций):
Однонаправленные операции (One-way): операция может принимать сообщение, но не будет возвращать ответ.
Запрос-ответ (Request-response): операция может принять запрос и должна вернуть ответ.
Вопрос-ответ (Solicit-response): операция может послать запрос и будет ждать ответ на него.
Извещение (Notification): операция может послать сообщение, но не будет ожидать ответ.
В версии WSDL 2.0 эти шаблоны изменены и расширены в сторону поддержки сообщений об ошибках (например, шаблон Robust-in-only), но для обратной совместимости поддерживаются типы WSDL 1.1
Пример описания веб-сервиса на языке WSDL (версия 2.0).
UDDI
Universal Description, Discovery and Integration (UDDI, универсальный интерфейс распознавания, описания и интеграции) — открытый стандарт, утвержденный OASIS, определяющий методы публикации и обнаружения сетевых программных компонентов сервис-ориентированной архитектуры (SOA). В практической реализации UDDI представляет собой сетевой реестр (службу каталогов), представляющий данные и метаданные о веб-сервисах и доступный по адресу http://uddi.xml.org/services.
UDDI опирается на отраслевые стандарты HTTP, XML, XML Schema (XSD), SOAP и WSDL. Концептуальная связь между UDDI и другими протоколами стека веб-сервисов показана на рисунке 4.
Рис. 4. Место UDDI в стеке протоколов веб-служб
Функциональное назначение реестра UDDI — представление данных и метаданных о веб-службах. Он может использоваться как в сети общего пользования, так и в пределах внутренней инфраструктуры организации. Реестр UDDI предлагает основанный на стандартах механизм классификации, каталогизации и управления веб-службами, позволяющий применять их (веб-сервисы) другими приложениями. Этот механизм включает средства для поиска сервиса, вызова этой службы, а также для управления метаданными об этой службе.
Ключевыми функциями UDDI являются публикация информации о службе в реестре и поиск этой информации сторонними приложениями. Наряду с этими, реализованы и типовые для службы каталогов функции: представление модели хранимых данных и структуры информационной базы, отношения между объектами реестра, репликация, обеспечение безопасности и т.д. —Все основные функции реестра представлены в виде веб-сервисов и доступны через API UDDI.
Веб-сервисы: Pro et Contra
Достоинства
Обеспечивают взаимодействие программных систем независимо от платформы.
Основаны на базе открытых стандартов и протоколов.
Использование HTTP позволяет приложениям взаимодействовать через межсетевой экран.
Недостатки
Меньшая производительность и больший объем сетевого трафика по сравнению с такими технологиями как CORBA или DCOM.
Серверы приложений
Вынесение прикладной логики в отдельный уровень представляет разработчикам дополнительную гибкость в создании распределенных информационных систем. Размещение и выполнение программ на стороне сервера снижает требования к аппаратному обеспечению клиентов и уменьшает проблемы обеспечения совместимости в гетерогенной сетевой среде.
Сервер приложений — это сервисная программа, которая обеспечивает доступ клиентов к прикладным программам, выполняющимся на сервере. Сервер приложений обычно выделяется как среднее звено (рис. 1) в трехуровневой клиент-серверной архитектуре (3-tier):
