|
|
|
|
Матрица сравнения Веб-сервисов: добавлена реализация GlassFish
Posted by katya in Web Services
Apache Wiki содержит сравнительную таблицу для ряда доступных стеков Веб-сервисов и Arun добавил туда информацию про реализацию от GlassFish (спасибо Dims за приглашение). По субъективному мнению Эдуардо, реализация GlassFish - одна из самых передовых и становится только лучше. И это не принимая во внимание производительность, где он ожидает, что Glassfish превзойдет всех: Новый стек Веб Сервисов в GlassFish версии V2, 100000 параллельных запросов к Веб Сервисам в GlassFish.
Интероперабельность (проект Tango) - другая сильная сторона GlassFish. Интересно, что на Server Side недавно опубликовано интервью Jorgen Thelin из Microsoft про Interop Plugfests. Arun только что написал об интервью в своем блоге, сам Jorgen тоже на него ссылается. Не пропустите этот отличный анализ возможностей интероперобальности.
Если вы хотите узнать больше о нашем стеке Веб-сервисов, то рекомендуем почитать блог Arun'а и архивы Аквариума.
Изобилие JAXB плагинов... В том числе HyperJAXB3: JAXB + Persistence
Posted by lativ in Web Services
Идея механизма JAXB плагинов оказалась удачной, выпущено множество плагинов, использующих этот механизм. Полная инструкция для их разработчиков лежит тут. Много плагинов выложенно на сайте JAXB2-Commons, остальные на сайтах проектов. Вот небольщой список доступных: Fluent API, CamelCase Always, Value Constructor, Default Value, Interfaces, Equals, ToString, Jakarta-Commons-Lang, и JAXB Workshop.
В своём блоге Kohsuke периодически пишет о новостях в мире JAXB. Недавно он написал о Новых плагинах и о плагине HyperJAXB3 , который связывает JAXB с JavaPersistence.
Первая тестовая версия JAX-WS 2.1 уже доступна
Posted by katya in Web Services
Мы забыли упомянуть о более подробном анонсе первой тестовой (Early Access) версии JAX-WS 2.1. В нем Вивек (Vivek) вначале объясняет как реализация основана на новом стеке веб-сервисов в JAX-WS 2.0.1, а затем немножно рассказывает про качество релиза. Затем Рама рассказывает про поддержу адресации веб-сервисов в этой реализации.
Релиз доступен для скачивания уже как две недели и будет включен во вторую контрольную версию (Milestone 2) GlassFish V2.
WADL OpenSourced - Описывая RESTful Web Services
Posted by rumar in Web Services
|
XML определенный через HTTP имеет много преимуществ: он совмещает в себе качетсва HTTP с простотой, гибкостью и повторной используемостью XML, и представленная информация (будь это XML Schema, Relax NG, более старая DTD или просто свободно набранная информация), дает независимость между потребителем и поставщиком. Простота это ключ: практически на любом языке можно быстро написать потребителя или поставщика данного типа сервиса, в том числе и AJAX клиентов. Был необходим простой, стандартный подход к описанию (WSDL слишком сложен) служб, которые могут быть исползованы для представления и использования другим инструментарием. WADL поможет в данной ситуации, и Марк(Marc) только что анонсировал Open Source проект в данной области. |
Для сотрудничества существует множество возможностей; Нам лично хотелось бы видеть инструментарий для языков отличных от Java, и использующих аннотирование для упрощения Соответствия с Java. Вы также можете помочь начать классифицировать сервисы доступные в сети; вам даже не требуется использовать XSD, WADL поддерживает и Relax NG. В случае если ваш сайт является Web Services поставщиком, мы советуем вам включить WADL описание к вашему сервису.
Некоторые используют термин REST для обозначения любого XML определенного через HTTP; это связанные понятия, но REST также включает в себя некоторые архитектурные ограничения. В любом случае WADL будет очень полезен для реализации REST сервисов. Больше информации вы можете найти в Статьях посвященные WADL, так же как и в Блоге Марка(Marc).
WSIT (Проект Tango) Milestone 2 теперь доступен
Posted by rumar in Web Services
WSIT (Проект Tango) отмечает свой второй milestone. Вы можете его загрузить отсюда . В этом месяце он войдет в GF V2 M2. Это значительно более стабильный релиз, имеющий улучшенную интеграцию с реализацией от Microsoft. Команда разработчиков написала значительное количество блогов покрывающих множество использованных технологий:
|
• Харольд(Harold), технический лидер, написал
Введение и Обзор.
|
Новости о JAXB 2.1: Новые возможности, Fast Infoset, Early Access и многое другое
Posted by navi in Web Services
Обновился список предлагаемых изменений в JAXB 2.1 (которые запланированы для GlassFish V2). Kohsuke написал об изменениях в спецификации в своём блоге: Specification Highlights, поддержка раздельной компиляции и использования JAXB для внесения зависимости (Dependency Injection). Он также объявил о выпуске JAXB RI 2.1 Early access, доступной как отдельно, так и в репозитории Maven. Эта реализация также предоставляет лучшее связывание с Fast Infoset, лучшую кастомизацию и новый JAXB Eclipse Plugin.
Смотрите также домашние страницы JAXB 2.1 и JAXB 2.1 EA 1. Кстати, есть ещё новая реализация текущей спецификации. Информация по JAXB доступна на домашней странице JAXB и на странице анонсов.
Признание вклада в JAXB (Java Architecture for XML Binding) RI
Posted by lativ in Web Services
Реализация JAXB (Java Architecture for XML Binding) 2.0 RI из проекта GlassFish получила широкое распространение. Причина кроется в том, что это очень хорошая реализация и в том, что команда, возглавляемая Kohsuke, построила сильное сообщество, способствующее этому. Вклад сообщества заключается как в исправлении ошибок в среде исполнения (например Myungsik Sung из TmaxSoft), так и в разработке PlugIn Extensions (например Joost Cassee), а также в написании примеров (например Matthias Ernst).
Построить сильное сообщество не просто, но в конечном итоге все затраты окупятся сторицей. В своем блоге Kohsuke приводит полный список всех работ за последние пару лет.
JAX-WS 2.1 и GlassFish V2
Posted by katya in Web Services
Doug анонсировал начало работы над эксплуатационным релизом для JAX-WS. Это будет версия 2.1 и она будет дополнять JAXB 2.1, работу на которым недавно анонсировал Косуке. В обоих случаях результаты будут включены в GlassFish V2 и доступны для широкой аудитории. Мы будем рады любым конструктивным комментариям от Вас. В частности, Doug'у очень интересно Ваше мнение по вопросу "стандартизировать или нет targetVersion".
К вопросу о комментариях, недавно вышел документ, описывающий архитектуру JAX-WS 2.0.1. Этот докумет также доступен со страницы Architecture Documents на GlassFish Wiki.
Надежная доставка сообщений Веб-сервисам и поддержка сессий
Posted by katya in Web Services
Bhakti Mehta и Mike Grogan из группы WSIT написали заметку о различных стратегиях управления сессиями для протокола надежной доставки сообщений Веб-сервисам. В частности, они рассказывают про маркеры (tokens) для сессий, HTTP сессии и надежные (reliable) сессии. Также читайте введение про управление сессиями для JAX-WS на блоге Rama.
100000 параллельных запросов к Веб Сервисам в GlassFish
Posted by navi in Web Services
Недавно мы опубликовали
First Milestone of GlassFish V2, который включает Новый стек Веб Сервисов. Согласно данным, производительность очень хороша, но когда ребята из Business Integration попробовали сделать
Поэтому Koshuke и Jitu начали исследовать возможность улучшения реализации Веб Сервисов во второй версии, так чтобы она стала по-настоящему асинхронной. Новая итерация заменит Pipe и Valve используя идеи реализации легковесных потоков (fibers). Результаты этого исследования очень хороши и негативное влияние на время отклика минимально. Слайды можно посмотреть здесь и здесь.
Предлагаемые изменения ещё не приняты в планы развития GlassFish. Технические обсуждения ведутся в почтовых рассылках DEV для WSIT и JAX-WS.
С JAX-WS спокойнее!
Posted by ama in Web Services
Sameer написал статью на SDN про так называемые RESTful вебсервисы. В своей статье Sameer дает советы о том, для каких задач REST является более предпочтительной арихитектурой, нежели SOAP, а также детально разбирает пример построения RESTful сервиса при помощи технологии JAX_WS, которая поддерживается в GlassFish.
На фото - легенда регги и известный Rastafarian, Боб Марли, родившийся на Ямайке. Так случилось, что приверженцев архитектуры REST часто называют "RESTafarians", ну и автор оригинального сообщения решил это дело обыграть. А я вот задумался, - может, Боб был ещё и великим растаманом?
Новый стек Веб Сервисов в GlassFish версии V2
Posted by katya in Web Services
Сегодня вышел GlassFish в версии V2 M1, содержащий переработаный стек Веб Сервисов. Формально, номер реализации - 2.0.1, поскольку она реализует ту же самую спецификацию JAX-WS версии 2.0. Однако, несмотря на такое небольшое увеличение номера, реальные изменения кода очень значительны. Документацию можно найти здесь, а на блоге Vivek'а есть обзор всех изменений.
Новая реализация поддерживает множество протоколов транспортного кровня; HTTP используется в качестве протокола по умолчанию и есть встроенная поддержка для локального (local) транспортного протокола, что удобно для тестирования. Но главное то, что транспорты являются встраиваемыми. Так, Oleksei показал, как ипользовать JMS, а разработчики GlassFish работают над добавлением поддержки TCPIP. Новая реализация стека Веб Сервисов также используется в проекте Tango, но он еще не интегрирован в версию M1.
Вероятно, наиболее заметное изменение в новой версии - это улучшение производительности. Предыдущая версия JAX-WS 2.0 была в некоторых случаях медленнее чем JAX-RPC 1.1 (chart, blog), но этот переработанный вариант намоного быстрее (chart, Sameer's blog). В версию 2.0.1 также входят такие "вкусности", как встроенный SOAP мониторинг.
Вы можете скачать JAX-WS 2.0.1 как часть GF V2 M1 здесь, а о дальнейших планах по выпуску следующих версий можете узнать на новом WiKi. Версия M1 также включает предыдущую реализацию JAX-WS 2.0. Процесс переключения на старый вариант описан Vijay. Если же вы предпочитаете скачать JAX-WS 2.0.1 реализацию отдельно - это можно сделать здесь. Удачи!
JAXB 2.1 Эксплуатационная ревизия
Posted by vaysman in Web Services
JCP пользуется двумя процессами для создания новой спецификации; нормальный процесс предназначен для глобальных изменений, в то время как эксплуатационная ревизия предназначена для небольших изменений и она гораздо короче (временная диаграмма).
Группа JAXB планирует Эксплуатационный релиз, что бы обновить спецификацию в соответствии с опытом полученным в результате интеграции с JAX-WS 2.0 (план обновления). Релиз будет называться 2.1 и будет включен в GlassFish V2. Более подробную информацию вы можете найти на блоге Kohsuke.
Мониторинг HTTP и SOAP трафика
Posted by katya in Web Services
Одна из типичных задач, возникающая при отладке Веб Сервисов и Веб Приложений - это мониторинг и анализ сообщений, включая как HTTP так и SOAP. Есть много инструментов, предназначенных для ее решения, но в рамках проекта GlassFish мы склоняемся к использованию WSMonitor. WSMonitor - это инструмент с открытым кодом, который использует технологию Port Forwarding и поэтому может быть использован с другими реализациями стека Веб Сервисов.
Более подробную информацию про WSMonitor вы можете прочитать на блоге Arun'а. Если вы хотите поучаствовать в реализации WSMonitor или хотите, чтобы WSMonitor поддерживал дополнительную функциональность - напишите об этом Arun'у. Уже точно известно о планах по поддержке стандарта Fast Infoset, но никаких планов по поддержке альтернативных протоколов пока нет.
Производительность JAX-WS 2.0 в SJS AS 9.0 (GlassFish v1)
Posted by navi in Web Services
Bharath Mundlapudi опубликовал сравнение производительности JAX-WS 2.0 и JAX-RPC 1.1 реализованных в GlassFish V1 FCS, доступной как часть Java EE 5 SDK. Измерения производительности были проведены при помощи тестов WSTest с Java.Net.
Высокоэффективная имплементация JAX-WS 2.0 довольно сложна, в основном потому, что спецификацией связывание данных делегируется JAXB 2.0. Статья показывает следующие изменения производительности:
Все измерения были проделаны на GlassFish версии v1. Хотя заметны позитивные изменения для JAX-WS 2.0, наши цели были больше, поэтому следующая версия GlassFish v2, имеющая совершенно новую архитектуру WS, будет показывать ещё лучшую производительность.