Содержание
- 2. План Исторические сведения Клиенты и серверы Протоколы Серверы приложений WWW службы SOAP, XML RPC
- 3. Литература http://www.w3c.org http://hercules.xml.org/xml/resources_cover.shtml http://www.iks.inf.ethz.ch/education/ws04
- 4. Исторические сведения Сегодня WWW – «синоним» Интернет и распределенных приложений в пределах Интернет Начало 80-х годов
- 5. Недостатки классических RPC Рассчитывались на локальные сети с большой скоростью доступа и малыми задержками Не рассчитывались
- 6. WWW WWW – всемирная паутина Большое количество серверов и клиентов, которые работаю с использованием общих протоколов
- 7. URI URL – locator URN - name ftp://ftp.is.co.za/rfc/rfc1808.txt http://www.ietf.org/rfc/rfc2396.txt ldap://[2001:db8::7]/c=GB?objectClass?one mailto:John.Doe@example.com news:comp.infosystems.www.servers.unix tel:+1-816-555-1212 telnet://192.0.2.16:80/
- 8. Взаимодействие клиентов и серверов Клиент WWW браузер – система отображения информации и выполнения клиентских программ (аплетов)
- 9. Протоколы и сериализация Транспортные протоколы – TCP/IP Представление данных – HTTP hyper text transfer protocol Данные
- 10. Совместимость Для совместимости предпочтительно использовать текстовые форматы данных Данные в таком формате всем людям понятны 100000
- 11. HTML Таговая (tag, дескриптор) структура Разбивка потока байтов на блоки, каждый со своим типом интерпретации Блок
- 12. Пример HTML Назва документа … … . . . . . .
- 13. Языки гипертекстовой разметки SGML (Standard Generalized Markup Language ) – 1960-е года (IBM) широко используется в
- 14. XML Extensible Markup Language В отличие от HTML рассчитан не на то, как форматировать данные при
- 15. XML Широко используется в WWW технологии Форматирование документов Описания структур документов Описания интерфейсов, типов данных Описания
- 16. Синтаксис XML документа Каждый открывающий дескриптор должен иметь закрывающий, если в блоке есть вложенные данные имя
- 17. Синтаксис дескриптора блока Данные блока Пример …
- 18. Пространства имен (namespace) Разные пользователи могут использовать одинаковые имена дескрипторов, атрибутов, имен, но смысл у них
- 19. Определение пространства имен Введены для того, чтобы отличать одинаковые имена в разных контекстах Пространство имен –
- 20. Использование пространства имен Lomonosov Str. 80 0xc0048000 То же самое Lomonosov Str. 80 0xc0048000
- 21. Описания типов документов (DTD) Для того, чтобы четко указать какие элементы могут иметь какие атрибуты и
- 22. XML документ в соответствии с описанием NAME="cluster.univ.kiev.ua” LOCALTIME="1120060429" OWNER="National Taras Shevchenko University of Kyiv" LATLONG="50° 28'
- 23. Схемы Типизация помогает избежать ошибок Схемы – описание сложных структур данных (по аналогии со структурами и
- 24. Пример схемы C++ class person_t { string name; string surname; time_t birth_date; }; XML
- 25. Пример объектов (структур) C++ person_t person; person.name=“Olexandr ”; person.surname=“Sudakov ”; person.birth_date=“23-12-1973”; XML Olexandr Sudakov 23-12-1973
- 26. Document Object Model (DOM) Представление сложных объектов в виде XML документов Представление XML документов в виде
- 27. Пример function loadXML() { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("note.xml") to.innerText= xmlDoc.getElementsByTagName("to").item(0).text from.innerText= xmlDoc.getElementsByTagName("from").item(0).text header.innerText=
- 28. Сетевой протокол прикладного уровня HTTP – hypertext transfer protocol RFC 2616 HTTP/1.1 RFC 1945 HTTP/1.0 Работает
- 29. HTTP сеанс Клиент устанавливает соединение Клиент отправляет на сервер запрос Сервер обрабатывает запрос и отправляет ответ
- 30. Формат запроса Метод запроса, URI и протокол запроса Заголовок Опциональные параметры запроса Опциональные параметры команды Пустая
- 31. Формат ответа Протокол ответа, Код статуса Параметры заголовка ответа Пустая строка Данные ответа Разрыв соединения HTTP/1.1
- 32. Методы запроса GET – получить заданный URL PUT – поместить нижеследующие данные в заданный URL POST
- 33. Работа за брандмауэром и кэширование HTTP хорошо рассчитан на работу за брандмауэром Клиент является активным и
- 34. Основное использование WWW Серверы данных Возможность получить данные (документы, программы) с другой машины на свою машину
- 35. Серверы приложений Клиент обращается к серверу (пользователь «кликает») Сервер запускает приложение, связанное с URI, указанным клиентом
- 36. Основные подходы к созданию серверов приложений CGI – common gateway interface Клиент передает серверу URI и
- 37. Передача параметров на сервер (CGI) Метод GET Как часть URI GET http://cluster/ganglia/index?c=cluster.univ.kiev.ua&h=ss20-15.univ.kiev.ua HTTP/1.0 Пустая строка Метод
- 38. Ответ сервера HTTP/1.1 200 OK Date: Wed, 29 Jun 2005 16:17:40 GMT Server: Apache/2.0.51 (Fedora) X-Powered-By:
- 39. Обработка параметров при запуске CGI программы Метод GET – программе передается URL Через системную переменную Через
- 40. Недостатки CGI и их преодоление Необходимость запуска программы на каждый запрос При большом количестве запросов много
- 41. Сервлеты Играют ту же роль, что и CGI скрипт, но Написаны на Java и хорошо портируются
- 42. WWW службы Серверы приложений – результат получает пользователь WWW службы – части большой распределенной программы, которые
- 43. Определение WWW службы WWW служба – это программа, которая идентифицируется с помощью URI и все интерфейсы
- 44. Структура системы WWW служб Инициатор запроса - клиент Провайдер службы – сервер, где выполняется программа от
- 45. Стандарты для WWW служб SOAP – simple object access protocol UDDI – universal description and discovery
- 46. Протокол SOAP Инкапсуляция различных протоколов в XML и передача с помощью HTTP Состоит из оболочки, заголовка
- 47. SOAP – RPC в пределах Интернет
- 48. Оболочка – кодировка Заголовок – информация, которая не касается программы обработчика Тело – параметры запроса
- 49. Связь SOAP с транспортным протоколом Обычно HTTP Метод GET входные данные – URI Выходные данные –
- 50. XML RPC http://www.xmlrpc.com/ Простой протокол удаленных вызовов процедур через Интернет
- 51. WSDL – аналог IDL Описание WWW служб на языке XML Для работы достаточно знать только интерфейсы
- 52. WSDL – XML документ
- 53. Пример описания типов
- 54. Пример описания операций Операция – функция Сообщение – типы передаваемых аргументов и возвращаемых значений для операций
- 55. Порты Порт – набор всех операций службы, доступных по одному протоколу Порту соответствуют операции и типы
- 56. Привязки (binding) и службы Привязка связь портов с протоколом (soap) Служба Набор портов доступных по разным
- 57. UDDI Высокоуровневая инфраструктура для WWW служб Поиск WWW служб Регистрация WWW служб Обеспечение надежности Координация (балансировка
- 58. Примеры использования WWW GRID системы – распределенные системы для обеспечения совместного использования и координации вычислительных ресурсов,
- 60. Скачать презентацию