Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!
2005 г.

Управление Web-сервисами уже здесь!
(Web Services Management Arrives)

Майк Лехманн (Mike Lehmann), главный менеджер корпорации Oracle по продукту Oracle Application Server Containers for J2EE.

Источник: журнал "Oracle magazine", no.6, 2004,
http://www.oracle.com/technology/oramag/oracle/04-nov/o64dev_web.html

Перевод: Oracle Magazine RE

Использование новой инфраструктуры в Oracle Application Server

В номере Oracle Magazine за май/июнь 2004 года опубликована моя статья "Управление web-сервисами" ("Managing Web Services"), в которой я представил несколько концепций, применяемых в зарождающейся области управления Web-сервисами, включая такие классические, как мониторинг, аудит и безопасность, а также более специфические для Web-сервисов, такие как обеспечение (provisioning), виртуализация (virtualization) и маршрутизация (routing). Я также указал, что в основе управления Web-сервисами лежат модель передачи сообщений протокола Simple Object Access Protocol (SOAP) и публичный контракт Web Services Description Language (WSDL), описывающий ее расширения.

В этой статье я представлю новые возможности управления Web-сервисами в Oracle Application Server 10g Release 10.1.3. В отличие от моего первого "программистского" вхождения в эту область, когда я написал несколько обработчиков (handlers) для интерфейса JAX-RPC, чтобы реализовать простейшие функции управления, на этот раз я воспользуюсь тем, что предоставляет сервер приложений, и, как разработчик, я смогу сфокусироваться на бизнес-функциях, а не на ручном кодировании поддерживающей инфраструктуры.

Я продолжу использовать мой пример Web-сервиса для предметной области "Кадры" (human recources), HRService - с операцией getEmpSalary - как базовый пример, и в этой статье подробно рассмотю специфические аспекты возможностей управления Web-сервисами, включая аудит, журнализацию, надежность и безопасность.

Возможности управления Web-сервисами

Основные возможности управления Web-сервисами, которые можно конфигурировать в Oracle Application Server 10g Release 10.1.3, таковы:

  • Аудит (Auditing) — ведение полного и согласованного фиксирования SOAP-запросов и ошибочных ситуаций
  • Журнализация (Logging) — обеспечение создания журналов на базе контента с применением Xpath, чтобы запрашивать входящие (inbound) и выходящие (outbound) SOAP-сообщения.
  • Надежность (Reliability) — конфигурирование надежной доставки сообщений, обеспечение последовательного порядка прохождения сообщений (message ordering) и недопущения дупликатов сообщений в соответствии со стандартом WS-Reliability.
  • Безопасность (Security) — конфигурирование аутентификации, целостности благодаря использованию цифровых подписей и конфиденциальности благодаря шифрованию в соответствии со стандартом WS-Security.
  • Основные возможности управления жизненным циклом (Basic lifecycle management) — включение (enabling) и отключение (disabling) сервисов и их возможностей управления.
  • Развертывание (Deployment) — конфигурирование стандартных и переносимых планов развертывания для Web-сервисов в соответствии со стандартами J2EE 1.4.

Они дополняются средой мониторинга для действий, связанных с Web-сервисами: запросов (requests), ответов (responses) и сообщений об ошибочных ситуациях (faults).

Эти возможности полностью конфигурируемы в среде управления Oracle Application Server Control. Разработчики смогут также декларативно сконфигурировать их до размещения в Oracle JDeveloper. Рисунок 1 показывает административную, входную страницу управления Web-сервисами в среде Oracle Application Server Control. Эта среда (Application Server Control) в Oracle Application Server 10g Release 10.1.3 может быть типовым образом вызвана заданием URL http:// :1810/ascontrol.


(Увеличить рисунок)
Рис. 1: Конфигурирование управления Web-сервисами в Oracle Application Server Control

Понимание "движущихся частей"

Чтобы понять как использовать эти возможности, я прежде всего должен дать обзор "движущихся частей" (moving parts) в среде управления Release 10.1.3. Рисунок 2 показывает три основных компонента этого продукта, которые и составляют решение: компонент этапа проектирования (the design time) с Oracle JDeveloper, компонент этапа выполнения (the runtime) с Release 10.1.3 и среда управления с Oracle Application Server Control.


Рисунок 2: Конфигурирование управления в перспективе

Обратите внимание, что на этом рисунке между консолями компонент этапов проектирования и выполнения находится файл wsmgmt.xml. Это файл конфигурирования политик к Web-сервисам (Web services policy configuration file) для Oracle Application Server, позволяющий администраторам-пользователям Application Server Control устанавливать политики аудита, журнализации, надежности и безопасности.

Способ, характерный для разработчика, конфигурирования этого файла политик заключается в декларировании политик управления в файле oracle-webservices .xml. Этот файл oracle-webservices.xml является специфичным для сервера приложений соединением (binding) к инфраструктуре Oracle. Этот файл дополняется стандартным для JAX-RPC файлом webservices.xml, который определяет платформно-независимое поведение Web-сервисов.

Изучение рисунка 2 слева направо показывает, как разработчик должен использовать такой инструмент, как Oracle Jdeveloper или его аналог с интерфейсом типа командная строка Web Services Assembler, чтобы сформировать (to package up) файл типа архив предприятия (enterprise archive (EAR), содержащий политики из oracle-webservices.xml. Затем, после развертывания в инфраструктуре Oracle Application Server 10g Release 10.1.3, эти политики будут автоматически зарегистрированы в файле политик этапа выполнения wsmgmt.xml.

В дополнение к конфигурированию политик на стороне сервера часто также необходимо такое же конфигурирование на стороне клиента. Oracle предоставляет опцию для администраторов, чтобы они могли бы получить свои конфигурации политик на стороне сервера в синтаксисе WSDL, чтобы соответствующие средства на стороне клиента могли использовать это публично доступный контракт и автоматически создать в соответствии с этими политиками клиент.

Конфигурирование политик

Политики для Web-сервисов устанавливаются в иерархии, соответствующей структуре WSDL. Сервисы, как правило, содержат один или несколько портов, которые содержат связи (bindings) к одной или более операциям. Чтобы соответствовать такой структуре, политики управления могут быть установлены на уровне порта или операции.

Чтобы получить представление об этих политиках, давайте изучим a snippet файла wsmgmt.xml для Web-сервиса "Кадры":

1  <port app="HR-Emp-WS" 
2        web="WebServices" 
3        service="HRService" 
4        port="EmpInterfacePort">
5   <runtime enabled="security,auditing">
6    <security>
7     <inbound>
8      <verify-username-token 
              password-type="DIGEST" 
9             require-nonce="false" 
10            require-created="false"/>
11     <verify-signature/>
12     <decrypt/>
13    </inbound>
14   </security>
15   <reliability>
16     <ack-interval value="6"/>
17    <order-interval value="6"/>
18    <cleanup-interval value="60"/>
19    <ack-limit value="60"/>
20    <max-age value="60"/>
21    <repository type="jdbc"           
       jndiLocation="jdbc/SCOTTCoreDS"/>
22   </reliability>
23  </runtime>
24   <operations>
25    <operation name="getEmpSalary">
26    <runtime>
27     <auditing request="true" 
         response="false" fault="true"/>
28    </runtime>
29   </operation>
30  </operations>
31 </port>

Прежде всего, заметим на строке 5, что политики могут быть включены (enabled) или выключены (disabled). В этом примере политики безопасности и аудита включены, в тоже время политика надежности, заданная в строках 15-22 отключена только тем, что она не упомянута как атрибут, включенный для этапа выполнения.

Далее, в строках 6-14 устанавливается политика безопасности для всех операций порта EmpInterfacePort сервиса HRService — политика, которая требует, чтобы для каждой операции был заданы provided with a username and password authentication token.

И наконец, в строках 26-28 приведен пример политики на уровне операции для аудита, showing that requests and faults are audited on the getEmpSalary operation but responses are not. Политики безопасности также могут установлены на уровне операции.

Разделение проблем

Из вышеприведенного рассмотрения ясно, что подход к управлению Web-сервисами с применением средств Oracle Application Server вышел за рамки программистского подхода к более административному, декларативному, на основе политик подходу.

Это не означает, что в данном случае навыки программирования разработчику не нужны, они необходимы для разработки "крюков" (hooks) для обработчиков стандарта JAX-RPC. Но подход на основе политик обеспечивает логическое и физическое разделение проблем для тех организаций, которые хотят воспользоваться его преимуществами. Он дает возможность разработчикам сфокусироваться на построении бизнес-функциональности Web-сервисов и администраторам на определении операционной политики к Web-сервисам.

Мы рассмотрим подробно эти новые возможности управления Web-сервисами в следующих нескольких статьях и научимся определять, где такое разделение очевидно и где находятся естественные точки соприкосновения. Чтобы на практике оценить сказанное в этой статье, скачайте Oracle Application Server 10g Release 10.1.3 Developer Preview из сети OTN, установите пример Web-сервиса "Кадры" с интерфейсом JAX-RPC, и затем проверьте новые возможности управления Web-сервисами в Oracle Application Server Control.

Скачать

  • Oracle Application Server 10g Release 10.1.3
  • JAX-RPC Java Web service

Новости мира IT:

Архив новостей

Последние комментарии:

Релиз ядра Linux 4.14  (9)
Среда 22.11, 19:04
Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...