Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
01.05.2014
Размер:
66.05 Кб
Скачать

Переход к интероперабельности

JAX-WS 2.0 напрямую поддерживает XOP/MTOM, но не другие новые технологии WCF. Тем не менее, как часть соглашения Sun об интероперабельности с Microsoft было объявлено о разработке Java-версий с открытым программным кодом остальных технологий, входящих в состав WCF. Эти программные продукты будут разработаны в рамках мегапроекта "GlassFish", включающего в себя все технологии, используемые как часть сервера приложений Sun (в том числе JAX-WS 2.0 и JAXB 2.0 reference implementations).

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

Подход Apache

Проект Apache тесно связан с работой Web-сервисов уже несколько лет, в основном фокусируясь на разработке платформ Java. Выпускаемая Apache в настоящее время платформа для Java SOAP Web-сервисов - это инфраструктуры Axis третьего поколения. Axis широко используется как разработчиками, которые загружают и используют его напрямую, так и будучи встроенным в качестве движка SOAP для нескольких различных серверов приложений. Axis считается наиболее широко используемой платформой для Java SOAP Web-сервисов.

Axis, тем не менее, имеет ряд недостатков. Во-первых, он спроектирован на основе стандарта JAX-RPC 1.0, который значительно ограничил возможности архитектуры и функциональной гибкости Axis. Это ограничение гибкости стало серьезной проблемой, поскольку нужны были расширения для построения новых технологий вокруг рабочего ядра SOAP. В то же время переход SOAP-сервисов к стилю doc/lit вызвал необходимость разработки лучшей схемы поддержки, чем применяемая с Axis. К середине 2004 года команда разработчиков Axis согласилась, что необходимо осуществить переработку Axis, используя опыт, полученный при создании Axis, чтобы новый продукт был гораздо более функционально гибким.

Решение проблемы с помощью Axis2

Axis2 - потомок Axis. Он спроектирован как облегченный сервер обработки SOAP (хотя, как и JAX-WS 2.0, Axis2 также включает в себя некоторую поддержку REST), расширяемый несколькими способами. В отличие от оригинального Axis, Axis2 сознательно не ограничен реализацией какого-либо определенного API (хотя некоторые уровни поддержки JAX-WS 2.0 проектировались с оболочкой для кода ядра Axis2). Axis2 находится в стадии разработки уже более года и вскоре приобретет статус программного продукта.

Одной из наиболее удобных характеристик Axis2 является объектная модель AXIOM, используемая для SOAP сообщений. Объектные модели XML существуют так же долго, как и сам XML, беря начало от древнего стандарта DOM от W3C. Отличие AXIOM от других объектных моделей XML заключается в том, что ее гибкость обеспечивается новыми формами парсеров XML, что позволяет выполнять построение объектной модели по требованию. Это значит, что вы платите за построение объектной модели только для тех фрагментов XML документа, доступ к которым возможен лишь через объектную модель.

Другой характерной чертой Axis2 является поддержка сменной привязки данных. Это свойство позволяет вам выбирать простейший способ работы с информационным наполнением XML ваших документов SOAP, настраивая сгенерированный код для использования выбранного подхода. Возможными вариантами является использование AXIOM напрямую; использование простого способа привязки данных, сходного с оригинальным Axis; или использование специальной схемы привязки данных, такой как XMLBeans, JiBX или JAXB 2.0.

Соседние файлы в папке Java Web-сервисы.Мещерякв Анатолий