- •1. Классификация компьютерных сетей
- •2. Четырехслойная модель компьютерных сетей
- •3. Поколения сетевых адаптеров
- •4. Физическая и логическая структуризация компьютерных сетей
- •5. Протоколы tcp, udp
- •6. Протокол ftp, команды протокола
- •8,9 Схема сокетных функций Клиента по протоколу udp/tcp
- •16. Установление связи Клиента с Сервером – «трехэтапное рукопожатие».
- •17. Характеристика и возможности xml.
- •18. Стандарты платформы xml.
- •19. Xml документ. Описание структуры документа с помощью dtd.
- •21. Стандарт языка xml xLink. Пример.
- •22. Web сервисы.
- •23. Серверы приложений.
- •24. Стек веб-сервисов.
- •26. Архитектура клиент-сервер
- •27ЮТиповая архитектура j2ee.
- •28. Схема работы по протоколу rmi.
- •29. Инструментальные средства создания серверных web приложений
- •30. Инструментальные средства создания клиентских web приложений
- •31. Разработка клиентской части сетевых приложений с помощью Java апплетов.
- •32. Разработка клиентской части сетевых приложений с помощью JavaScript.
- •33. Денвер
- •34. Применение инструментального средства создания серверных приложений php.
- •35. Синтаксис php
- •36. Переменные и константы php. Типы данных
- •37. Операторы php
- •38. Основные функции php: if, while, for, swich, case
- •39. Массивы в php
- •40. Работа со строками в php
- •42. Включение файлов php(include())
- •43. Комментарии в php
- •44. Классы и ооп в php
- •45. Формы. Кнопки и другие управляющие элементы
- •46. Работа с файлами в php
23. Серверы приложений.
Сервер приложений — сервер, исполняющий некоторые прикладные программы. Термин также относится и к программному обеспечению, установленному на таком сервере и обеспечивающему выполнение прикладного ПО. Сервер приложений - сервер, предназначенный для выполнения прикладных процессов. Сервер приложений:
- взаимодействует с клиентами, получая задания; и
- взаимодействует с базами данных, выбирая данные, необходимые для обработки.
24. Стек веб-сервисов.
Стек технологий веб-сервисов принципиально разбивается на следующие две составляющие:
- технологии, обеспечивающие функциональность веб-сервисов (Functions);
- технологии, обеспечивающие качество сервиса веб-сервисов (Quality of service).
Эти составляющие в свою очередь образуются несколькими слоями (layers):
- технологии, обеспечивающие функциональность веб-сервисов:
- транспортный слой (transport layer);
- коммуникационный слой (service communication layer);
- слой описаний сервисов (service description layer);
- сервисный слой (service layer);
- слой бизнес-процессов (business process layer);
- слой реестров сервисов (service registry layer).
- технологии, обеспечивающие качество сервиса веб-сервисов:
- слой политик (policy layer);
- слой безопасности (security layer);
- слой транзакций (transaction layer);
- слой управления (management layer).
Ответ на вопрос №24
Стек протоколов веб-сервисов
Итак, концепция сервисно-ориентированной архитектуры подразумевает реализацию бизнес-процессов предприятия в виде совокупности сервисов, взаимодействующих друг с другом либо с пользователями в определенной последовательности и в соответствии с определенными правилами. Отметим, что, вообще говоря, это весьма нетривиальная задача - определить эту "определенную последовательность" и "определенные правила" таким стандартным для разработки бизнес-приложений образом, чтобы покрыть весь спектр существующих сценариев взаимодействия бизнес-объектов, учитывая исторически сложившееся многообразие технической и технологической реализации этого взаимодействия и самих бизнес-объектов. Решить эту задачу в рамках какой-либо единой технологии пока не удалось. И хотя тенденция консолидации существующего множества технологий веб-сервисов в настоящее время налицо, для реализации сервисно-ориентированных архитектур с помощью веб-сервисов сейчас применяется совокупность технологий, образующих так называемый стек технологий веб-сервисов (см. Рис. 2).
Стек технологий веб-сервисов принципиально разбивается на следующие две составляющие:
технологии, обеспечивающие функциональность веб-сервисов (Functions);
технологии, обеспечивающие качество сервиса веб-сервисов (Quality of service).
Эти составляющие в свою очередь образуются несколькими слоями (layers):
технологии, обеспечивающие функциональность веб-сервисов:
транспортный слой (transport layer);
коммуникационный слой (service communication layer);
слой описаний сервисов (service description layer);
сервисный слой (service layer);
слой бизнес-процессов (business process layer);
слой реестров сервисов (service registry layer).
технологии, обеспечивающие качество сервиса веб-сервисов:
слой политик (policy layer);
слой безопасности (security layer);
слой транзакций (transaction layer);
слой управления (management layer).
В целях понимания назначения слоев, дадим краткое описание каждого из них.
Таблица 1: Стек протоколов веб-сервисов
№ |
Наименование слоя |
Назначение слоя |
Технологии, реализующие слой |
|
Функциональность (Functions) |
||||
1 |
Транспортный слой (Transport layer) |
Описывает средства обмена данными между веб-сервисами |
Стандартные: HTTP, HTTPS, JMS (для Java-приложений), SMTP Нарождающиеся: WS-ReliableMessaging, BEEP |
|
2 |
Коммуникационный слой (Service communication layer) |
Описывает средства формализации механизмов использования транспортных протоколов веб-сервисами. Используя метафоры, можно отождествить транспортный протокол с дорогой между веб-сервисами, а механизмы его использования, определяемые коммуникационным слоем, с грузовыми машинами, перевозящими по ней от сервиса к сервису сообщения |
Стандартные: SOAP Нарождающиеся:REST |
|
3 |
Слой описаний сервисов (Service description layer) |
Описывает средства формализации интерфейсов веб-сервисов с целью обеспечения их функционирования независимо от программно-аппаратной платформы реализации или языка программирования. Различают два вида описаний сервиса: операционное (operational); полное (complete) |
Стандартные: XML, WSDL Нарождающиеся: ebXML |
|
4 |
Сервисный слой (Service layer) |
Описывает программное обеспечение, вызываемое с помощью WSDL-описаний интерфейсов веб-сервисов. В частности, это сами веб-сервисы |
|
|
5 |
Слой бизнес-процессов (Business process layer) |
Описывает возможности организации веб-сервисов для реализации бизнес-процессов и потоков работ. При этом определяются правила, задающие последовательность взаимодействия веб-сервисов с целью удовлетворения бизнес-требованиям |
Стандартные: в настоящее время нет Нарождающиеся: BPEL4WS |
|
6 |
Слой реестров сервисов (Service registry layer) |
Описывает возможности организации веб-сервисов в иерархические библиотеки, позволяющие публикацию, поиск и вызов веб-сервисов по их WSDL-описаниям интерфейсов |
Стандартные: UDDI Нарождающиеся: WS-Inspection |
|
Качество сервиса (Quality of service) |
||||
7 |
Слой политик (Policy layer) |
Описывает правила и условия, согласно которым веб-сервисы могут быть использованы. Поскольку данные правила и условия относятся как к функциональному аспекту веб-сервисов, так и к аспекту обеспечения качества сервиса на Рис. 2, данный слой является общим для обоих аспектов |
Стандартные: в настоящее время нет Нарождающиеся: WS-Policy, WS-PolicyAssertions и WS-PolicyAttachment |
|
8 |
Слой безопасности (Security layer) |
Описывает возможности обеспечения безопасности веб-сервисов и безопасности их функционирования (авторизация, аутентификация и разделение доступа) |
Стандартные: WS-Security Нарождающиеся: WS-SecureConversation, WS-Federation, WS-Authorization, WS-Trust и WS-Privacy |
|
9 |
Слой транзакций (Transaction layer) |
Описывает свойство транзакционности распределенных систем на основе веб-сервисов для обеспечения надежности их функционирования |
Стандартные: в настоящее время нет Нарождающиеся: WS-Transaction и WS-Coordination |
|
10 |
Слой управления (Management layer) |
Описывает возможности управления веб-сервисами и характеристиками их функционирования |
|
Представленный выше стек технологий веб-сервисов вводит иерархию во множество технологий веб-сервисов в соответствии с их функциональным назначением. При этом в таблице указаны лишь наиболее широко применяемые и устоявшиеся технологии. Стандартными названы технологии, получившие официальный статус стандартов международных консорциумов по разработке IT-стандартов (W3C, OASIS либо WS-I).
25. Веб-сервисы и SOAP
Веб-сервисы и SOAP призваны решить проблемы кросс-платформенного взаимодействия приложений. Статья поможет получить представление об этих новых перспективных технологиях.
Что такое SOAP
В настоящее время используемые технологии удаленного вызова методов (DCOM, CORBA/IIOP и RMI) довольно сложны в настройке и организации взаимодействия. Это влечет за собой проблемы в эксплуатации и функционировании распределенных систем (проблемы безопасности, транспорт через брандмауэры и т.д.). Существующие проблемы успешно решены созданием SOAP (Simple Object Access Protocol), простого протокола, основанного на XML, для обмена сообщениями в распределенных средах (WWW). Он предназначен для создания веб-сервисов и удаленного вызова методов. SOAP можно использовать с разными транспортными протоколами, включая HTTP, SMTP и т.д.
Что такое веб-сервисы
Веб-сервисы - это функциональность и данные, предоставляемые для использования внешними приложениями, которые работают с сервисами посредством стандартных протоколов и форматов данных. Веб-сервисы полностью независимы от языка и платформы реализации. Технология веб-сервисов является краеугольным камнем программной модели Microsoft .NET.
Для демонстрации возможностей SOAP я использовал недавно вышедшую реализацию SOAP Toolkit версии 2.0 от Microsoft. Следует заметить, что текущая версия Toolkit заметно отличается от предыдущей (Microsoft SOAP Toolkit for Visual Studio 6.0) и от бета версии SOAP Toolkit 2.0.
SOAP обеспечивает механизм подключения к веб-сервисам. Спецификация протокола SOAP определяет структуру сообщения, используемого для обмена форматированными XML-данными посредством сети Интернет
SOAP - это базовая однонаправленная модель соединения, обеспечивающая согласованную передачу сообщения от отправителя к получателю, потенциально допускающая наличие посредников, которые могут обрабатывать часть сообщения или добавлять к нему дополнительные элементы. Спецификация SOAP содержит соглашения по преобразованию однонаправленного обмена сообщениями в соответствии с принципом "запрос/ответ", популярным при организации соединения типа RPC, а также определяет, как осуществлять передачу всего XML-документа.
SOAP-сообщения содержат конверт, заголовок и тело сообщения. SOAP-сообщения состоят из нескольких основных частей.
Envelope (конверт) - определяет начало и конец сообщения.
Header (заголовок) - содержит любые дополнительные атрибуты сообщения, используемые в ходе обработки сообщения как посредником, так и конечным получателем.
Body (тело сообщения) - содержит XML-данные, передаваемые данным сообщением.
Attachment (вложение) - состоит из одного и более документов, "прикрепленных" к основному сообщению. (Относится только к SOAP with Attachments ("SOAP с вложениями").)
RPC interaction (SOAP:RPC-взаимодействие) - определяет, как моделировать взаимодействия RPC-типа.
Encoding (кодировка) - определяет, как будут представлены простые и сложные данные, передаваемые в сообщении.
Обязательными являются только конверт и тело сообщения.
Рис. 1.8. SOAP-сообщения осуществляют соединение удаленных узлов
Рис. 2. Схема взаимодействия клиента и сервера по протоколу SOAP |
Библиотека ROPE посылает запрос по Web-адресу, предоставленному клиентом, и запрашивает у сервера SDL-файл. Запрос попадает к программе Listener, которая может быть написана как с использованием технологии ASP, так и с применением Internet Server API (ISAPI). Независимо от реализации клиенту будет отправлен SDL-файл.
Библиотека ROPE на основе SDL-файла создает объект Proxy, с помощью которого клиент может вызвать какой-либо метод серверного объекта, в частности по нажатию на кнопку Get Quotation метод Proxy.
Метод объекта транслируется библиотекой и отправляется в виде HTTP-запроса на сервер.
Listener и в этот раз перехватывает и переправляет этот запрос библиотеке ROPE, которая, разобрав посланный XML-текст, вызывает серверный объект с необходимыми параметрами и возвращает клиенту «упакованные» в XML результаты работы.
Для желающих более подробно разобраться с протоколом SOAP и инструментарием SOAP Toolkit в документации последнего приведен довольно сложный пример, демонстрирующий более тонкие вопросы взаимодействия клиента и сервера.
Протокол SOAP будет «встроен» в ожидаемую в ближайшее время версию Visual Studio, и тогда разработчики смогут использовать технологию Web-сервисов (Web Service) с помощью SOAP точно так же, как они реализуют обычные COM-серверы и COM-клиенты. Microsoft планомерно проводит в жизнь свой лозунг «Focus on business problem, not on plumbing» (сосредоточьтесь на бизнесе, а не на прокладке водопроводов), только теперь логика функционирования системы выходит на новый уровень — глобальных сетей и огромных корпоративных систем. А чтобы не затеряться в этом новом компьютерном мире, представление о нем лучше получить уже сейчас.