blob: 2da3c55ca179ad7be2da0ba52be746d83dc22130 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="KEYWORDS" content="NETBEANS, TUTORIAL, GUIDE, USER, DOCUMENTATION, WEB SERVICE, WEB SERVICES, SOAP, REST, RESTFUL, JAX-WS">
<meta name="description"
content="General information about web services for you to read before running tutorials">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../netbeans.css">
<title>Введение в веб-службы - IDE NetBeans</title>
</head>
<body>
<h1>Введение в веб-службы </h1>
<p>В этом документе представлен обзор концепций веб-служб и технологий, поддерживаемых IDE NetBeans. Он разработан для пользователей, не знакомых с веб-службами, и предваряет другие учебные курсы. </p>
<p>Веб-службы представляют собой распределенные компоненты приложений, доступные извне. Их можно использовать для интеграции компьютерных приложений, написанных на различных языках программирования и выполняемых на различных платформах. Веб-службы не зависят от языка и платформы, так как между поставщиками существует договоренность об общих стандартах веб-служб. </p>
<p>В настоящее время Oracle разрабатывает проект java.net под названием Metro. Metro &ndash; это полный стек веб-служб, удовлетворяющий всем требованиям разработчиков: начиная от простых демонстраций &quot;Hello, World!&quot; и заканчивая надежными, защищенными и транзакционными веб-службами. Дополнительная информация доступна на <a href="https://metro.java.net/">домашней странице Metro</a>.</p>
<p>В состав Metro входит поддержка технологий взаимодействия веб-служб (Web Services Interoperability Technologies &ndash; WSIT). WSIT поддерживает функции уровня корпораций, такие как обеспечение безопасности, надежности и оптимизация сообщений. WSIT обеспечивает совместимость служб Metro, поддерживающих эти функции, со службами Microsoft .NET. Внутри Metro проект Tango осуществляет разработку и развитие базы кодов WSIT. Увидеть WSIT в действии можно в учебном курсе <a href="wsit.html">Расширенные возможности взаимодействия веб-служб</a>.</p>
<p>Разработчики веб-служб используют несколько моделей программирования. Эти модели можно разделить на следующие две категории, каждая из которых поддерживается в среде IDE:</p>
<ul>
<li><strong>На основе REST.</strong> <strong>RE</strong>presentational <strong>S</strong>tate <strong>T</strong>ransfer (передача состояния представления) - это новый способ создания и взаимодействия с веб-службами. В REST ресурсы имеют идентификаторы URI, и управление ими происходит через операции с заголовками HTTP. Для получения дополнительных сведений см. <a href="#rest">Веб-службы RESTful</a>.</li>
<li><strong>На основе SOAP/WSDL.</strong> В стандартных моделях веб-служб, интерфейсы веб-служб предоставляются с помощью документов WSDL (тип XML) с URL-адресами. Последующий обмен сообщениями осуществляется через SOAP, другой тип документа XML. Для получения дополнительных сведений см. <a href="#jaxws">Веб-службы на основе SOAP</a>. </li>
</ul>
<h2><a name="rest"></a>Веб-службы RESTful </h2>
<p>Веб-службы на основе REST (&quot;RESTful&quot;) представляют собой коллекцию веб-ресурсов, идентифицируемых по своим URI. Каждый документ и каждый процесс смоделирован как веб-ресурс с уникальным идентификатором URI. Этими веб-ресурсами можно управлять с помощью действий, указанных в заголовке HTTP. Стандарты SOAP, WSDL и WS-* не используются. Вместо этого обмен сообщениями может быть проведен в любом формате &ndash; XML, JSON, HTML и т.д. Во многих случаях клиентом может служить веб-браузер.
<p>Протоколом в REST является HTTP. Доступны только четыре метода: GET, PUT, POST и DELETE. Для запросов можно создавать вкладки, а ответы могут кэшироваться. Администратор сети может отслеживать работу службы RESTful путем просмотра заголовков HTTP. <p>REST является подходящей технологией для создания тех приложений, которые не требуют защиты помимо той, которая доступна в инфраструктуре HTTP, и которым подходит протокол HTTP. Службы REST предоставляют весьма сложные функциональные возможности. Веб-службы RESTful применяются такими компаниями, как Flickr, Google Maps и Amazon. Программное обеспечение IDE NetBeans как "программное обеспечение как услуга" (SaaS) позволяет использовать Facebook, Zillow и другие службы сторонних производителей в своих собственных приложениях.
<p><a href="https://jersey.java.net/">Проект Jersey</a> является примером реализации с открытым исходным кодом для создания веб-служб RESTful. API Jersey доступны как подключаемый модуль веб-служб RESTful для IDE NetBeans.
<p>Создание и применение служб REST рассматривается в следующих руководствах:
<ul>
<li><a href="../../docs/websvc/rest.html">Начало работы с веб-службами RESTful</a> </li>
<li><a href="../../docs/websvc/zillow.html">Модель &quot;ПО как услуга&quot;: Zillow</a></li>
</ul>
<h2><a name="jaxws"></a>Веб-службы на основе SOAP </h2>
<p>В веб-службах на основе SOAP служебные программы Java создают файл WSDL на основе кода Java веб-службы. WSDL доступен через сеть. Стороны, заинтересованные в использовании веб-службы, создают клиент Java на основе WSDL. Обмен сообщениями происходит в формате SOAP. Спектр операций, которые могут быть переданы в SOAP, намного шире спектра REST, особенно в области безопасности. </p>
<p>Веб-службы на основе SOAP подходят и для крупных приложений, использующих сложные операции, и для приложений, требующих усложненной защиты, надежности или других поддерживаемых стандартами функций WS-*. Они подходят также в тех случаях, когда необходимо использовать транспортный протокол, отличный от HTTP. Многие веб-службы Amazon, в частности те, которые связаны с коммерческими транзакциями, и веб-службы, используемые банками и правительственными агентствами, основаны на SOAP.</p>
<p>Интерфейс API Java для веб-служб XML (JAX-WS) является в Metro текущей моделью для веб-служб на основе SOAP. JAX-WS создан на основе ранней модели JAX-RPC, но использует специфические функции Java EE, такие как аннотации, для упрощения задачи разработки веб-служб. Поскольку для передачи сообщений используется SOAP, JAX-WS является нейтральным по отношению к транспортному уровню. Он также поддерживает широкий диапазон модульных спецификаций WS-*, например WS-Security и WS-ReliableMessaging. </p>
<p>При создании клиента веб-службы существует возможность выбора либо модели JAX-WS, либо модели JAX-RPC. Это связано с тем, что в некоторых более старых службах используется стиль привязки, не поддерживаемый JAX-WS. Эти службы могут потребляться только клиентами JAX-RPC.
<!-- Many JAX-RPC services are still available for consumption, and many of them require JAX-RPC clients. -->
<p>Создание и применение веб-служб JAX-WS на основе SOAP рассматривается в нижеперечисленных руководствах:
</p>
<ul>
<li><a href="./jax-ws.html">Начало работы с веб-службами JAX-WS</a></li>
<li><a href="./client.html">Разработка клиентов веб-служб JAX-WS</a> </li>
<li><a href="./flower_overview.html">Использование веб-служб для передачи двоичных данных</a> - отдельная учебная карта по использованию веб-служб для передачи двоичных данных, которые отображаются в клиенте с помощью компонентов Swing </li>
<li><a href="./wsit.html">Расширенная совместимость веб-служб</a> (с демонстрацией WSIT)</li>
</ul>
</body>
</html>