24 сентября 2018 года

Раздел: Компьютеры - Java и java script - Ильдар Хабибуллин - Разработка Web-служб средствами Java

Разработка Web-служб средствами Java - Хабибуллин Ильдар
 _Введение
Уже несколько лет в Интернете и на страницах компьютерных журналов
мелькает словосочетание "Web Services" ("Web-службы"). Это понятие бурно
обсуждается специалистами, создаются рабочие группы и целые фирмы,
занимающиеся Web Services, выходят программные продукты, публикуются
статьи и книги. Буквальный перевод этих слов ничего не проясняет — вся
"Всемирная паутина" только тем и занимается, что предоставляет сервисное
обслуживание своим клиентам. Что же именно включают в себя Web
Services?
Объяснение придется начать издалека.
Передача информации по компьютерным сетям должна удовлетворять двум
противоречивым требованиям. Это надежность и скорость. Особенно важно
обеспечить надежность связи и скорость передачи информации для компо-
нентов распределенного приложения [10], работающих на разных машинах
и часто на значительном удалении друг от друга. Распределенное приложе-
ние должно выполняться как единое целое, без сбоев и задержек, как будто
все оно целиком работает на одном компьютере.
Надежность обеспечивается избыточностью информации: проверками по-
ступающей информации, подтверждением ее получения, повторной переда-
чей. Все эти приемы сильно загружают сеть и замедляют скорость пересыл-
ки информации. Для увеличения скорости передачи информация сжимается
и уплотняется. Придуманы изощренные способы кодирования, экономно
использующие каждый бит. Сетевые протоколы задают правила формиро-
вания сетевых пакетов, похожие на инструкции шифровальным отделам
секретных служб. Сетевые приложения жестко привязываются к определен-
ному протоколу, теряют переносимость, сфера их применения резко сужа-
ется. Создаются различные технологии сетевого взаимодействия распреде-
ленных компонентов: RPC (Remote Procedure Call), DCOM, RMI (Remote
Method Invocation), CORBA.
Компьютерное сообщество разделилось, как человечество после Вавилон-
ского столпотворения. Технологии RPC, DCOM, RMI плохо стыкуются
друг с другом. Распределенное приложение приходится строить на основе
только какой-то одной технологии. Это сильно ограничивает область его
применения и затрудняет включение в приложение новых компонентов.
Технология Web Services создана фирмами IBM, Microsoft и UserLand для
того, чтобы объединить компьютерный мир. Эта технология отказалась от
упаковки и сжатия информации и предлагает прямо противоположный под-
ход — по сети посылается простой "плоский" текст, записанный в байтовой
кодировке ASCII, Latin I, СР866, СР1251, KOI-8 или в кодировках Unicode:
UTF-8, UTF-16. Этим сразу решается проблема переносимости сетевой ин-
формации — любой сервер легко прочитает обычный текст. Для выявления
структуры пересылаемых документов их записывают на языке XML
(extensible Markup Language, расширяемый язык разметки). Это не сужает
область распространения документов, поскольку любой сервер в состоянии
понять язык XML. Надо сделать только одно — стандартизировать структу-
ру документа XML. Для этого в технологии Web Services разработан специ-
альный протокол SOAP (Simple Object Access Protocol). Сообщение, запи-
санное на языке XML по правилам протокола SOAP, может принять и об-
работать любая Web-служба, на каком бы языке программирования она ни
была написана, и в какой бы операционной системе она ни работала.
Второе предложение технологии Web Services — использовать для передачи
сообщений, написанных по правилам протокола SOAP, только самый рас-
пространенный в Интернете, общедоступный и простой протокол HTTP
(HyperText Transfer Protocol). Сервер, работающий по протоколу HTTP,
можно легко развернуть на любой машине. Информация, предназначенная
для HTTP-сервера, пропускается практически всеми брандмауэрами, что
тоже удобно для распределенных приложений.
Это предложение выполняется не столь строго. Web-службы могут взаимо-
действовать и по почтовому протоколу SMTP (Simple Mail Transfer Protocol),
и непосредственно по транспортному протоколу TCP (Transmission Control
Protocol). He запрещены и другие протоколы.
Технология Web Services не остановилась на создании единого протокола
пересылки сообщений. Она создала и средства описания Web-службы. Сер-
вер, на котором установлена Web-служба, предоставляет всем желающим ее
описание. Описание выполняется на специально разработанном языке
WSDL (Web Services Description Language, язык описания Web-служб). Это
еще одна реализация языка XML. Клиент, обращающийся к Web-службе,
читает ее описание и формирует свой запрос. Интересно, что разработаны
программы, которые по готовой Web-службе создают ее описание на WSDL.
Еще интереснее то, что есть программы, создающие, наоборот, Web-службу
по ее описанию, сделанному на языке WSDL.
Для того чтобы клиент не обшаривал весь Интернет в поисках нужной Web-
службы, создаются реестры, хранящие информацию о местоположении
Web-служб вместе с описанием предоставляемых ими услуг. Правила реги-
страции Web-службы в реестре, а также правила хранения информации в
реестре определяются еще одной реализацией XML — спецификацией

Чтобы прочитать полный текст,
скачайте книгу Разработка Web-служб средствами Java, Хабибуллин Ильдар в формате PDF (7099 kb.)
Пароль на архив: www.knigashop.ru