- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
Web-сервис XML — это компонент, реализующий некоторый алгоритм и предоставляющий определенную функциональность различным приложениям, которые получают к ней доступ по стандартным протоколам, таким как HTTP, XML и SOAP. Для обмена данными Web-сервисы используют сообщения в формате XML, что позволяет им взаимодействовать с самыми разными приложениями. Web-сервисы XML применяются для интеграции приложений, написанных на разных языках программирования и работающих на разных платформах. Они пригодны для развертывания и в Интернете, где они облегчают доступ к ресурсам организации, и в интрасетях для интеграции корпоративного ПО.
Важной особенностью модели вычислений, основанной на Web-сервисах XML, является то, что их клиентам не требуется знать язык, на котором написан Web-сервис; достаточно знать адрес Web-сервиса и методы, которые он поддерживает.
Простейший Web-сервис XML состоит из кода, реализующего некоторую функциональность, например расчет суммы налога на прибыль. Такому Web-сервису требуется клиентское приложение, предоставляющее входные данные (размер годовой прибыли, издержек и вычетов). Клиентское приложение способно вызывать метод этого сервиса, передавая ему необходимые данные как аргументы. Вызов вместе с аргументами в формате XML передается Web-сервису через HTTP-канал с использованием протокола SOAP. Возможно использование Web-сервисов XML для интеграции приложений: с помощью такого сервиса можно наделить приложение для формирования платежных ведомостей, написанное на одном языке (скажем, на COBOL), способностью пересылать данные компоненту, написанному на другом языке (допустим, на Visual Basic).
Инфраструктура Web-сервисов xml
Другое важное свойство модели вычислений, основанной на Web-сервисах XML, в том, что ни клиент, ни сам сервис не «знают», как реализован компонент, с которым приходится взаимодействовать. Инфраструктура Web-сервисов XML предоставляет следующие компоненты, при помощи которых клиентские приложения обнаруживают и вызывают Web-сервисы:
каталоги — являются централизованным хранилищем сведений о опубликованных Web-сервисах XML. Эти каталоги сами могут быть Web-сервисами XML, которые обеспечивают поддержку программного поиска сведений о других Web-сервисах. Спецификации UDDI (Universal Description, Discovery, and Integration) определяют правила публикации сведений о Web-сервисах XML. Схемы XML, связанные с UDDI,определяют данные, которые необходимо опубликовать, чтобы сделать Web-сервис общедоступным: бизнес-информация, описание сервиса, сведения о привязках и спецификация сервиса. Подобный сервис-каталог есть у Microsoft по, адресу http://uddi.microsoft.com;
обнаружение — механизм, при помощи которого клиенты находят документы с описанием Web-сервиса XML на языке WSDL; позволяет клиентам узнать о наличии Web-сервиса и определить его адрес;
описание — позволяет узнать, как работать с Web-сервисом XML. Это XML-документ, который определяет формат сообщений, «понятный» Web-сервису; может содержать описание схемы сообщений SOAP, применяемых для вызова методов Web-сервиса XML;
форматы для передачи данных — для взаимодействия с разнородными системами Web-сервисы XML передают данные в одном из открытых форматов. Открытый формат — это протокол, «понятный» любой системе, поддерживающей принятые в Web стандарты, такие как HTTP и SOAP. Так, HTTP-GET и HTTP-POST являются стандартными Web-протоколами, позволяющими пересылать параметры в виде пар «имя — значение». Протокол HTTP-GET позволяет передавать Web-сервисам параметры в URL-кодировке, то есть в виде пар «имя — значение»; HTTP-GET требует добавлять эти пары к URL Web-сервиса. Протокол HTTP-POST позволяет делать то же самое, но передает параметры в сообщении запроса, не включая их в URL Web-сервиса. Протокол SOAP позволяет приложениям обмениваться структурированной и типизированной информацией через Интернет и состоит из четырех частей. Первая (обязательная) определяет конверт (envelope), в который помещается сообщение. Конверт SOAP — основная единица обмена данными между обработчиками сообщений SOAP. Вторая часть определяет необязательные правила кодирования типов данных, специфичных для приложения. Третья часть определяет правила запроса и отклика при обмене сообщениями между Web-сервисами XML. Четвертая часть, также необязательная, определяет привязки протоколов между SOAP и HTTP.
Чтобы найти Web-сервис XML, клиент вызывает службу UDDI, которая возвращает ему URL документа, позволяющего обнаружить искомый Web-сервис, или документ обнаружения (discovery document). Этот документ представляет собой файл с расширением .disco и содержит ссылку на ресурсы с описанием Web-сервиса XML, необходимые для программного обнаружения Web-сервиса. Получив URL .disco-файла, клиент запрашивает его у сервера, а тот возвращает его клиенту.
Пример содержимого .disco-файла:
XML
<? xml version="1.0" ?>
<disco:discovery xmlns:disco=http://schemas.xmlsoap.org/disco
xmlns:wsdl="http://schemas.xmlsoap.org/disco/wsdl">
<wsdl:contractRef ref="http://www.contoso.com/MyWebService.asmx?WSDL"/>
</disco:discovery>
Клиент использует информацию из документа обнаружения для запроса у сервера описания Web-сервиса XML. Оно представляет собой .wsdl-файл и позволяет клиенту взаимодействовать с Web-сервисом XML.