пятница, 24 июня 2011 г.

Eclipse Indigo: Пять причин обратить внимание на ECF


Поздравляю всех читателей с официальным выходом Eclipse 3.7 Indigo. Здесь камрад James Sugrue написал статью на JavaLobby - Eclipse Indigo Highlights: Five Reasons to Check Out ECF. Позволю себе перевести ее на русский язык.

Eclipse Communication Framework [1] - традиционный участник Eclipse release trains (перевод "поездов релизов Eclipse" мне как-то не очень нравится, однако термин "поезд" применительно к релизу ПО меня забавляет уже третий год) - непрерывно добавляет новое в свой впечатляющий список возможностей. Данный год не стал исключением - в релиз Eclipse Indigo включен ECF 3.5. В данной статье я сосредоточусь на пяти ключевых возможностях новой версии.

Поддержка стандарта OSGi 4.2 Remote Services/RSA


ECF Indigo реализует два недавно завершенных стандарта OSGi: удаленные OSGi-сервисы [2] и администрация удаленных OSGi-сервисов - OSGi Remote Service Admin (RSA). Спецификация удаленных сервисов OSGi [3] обеспечивает простой и стандартизованный путь обнаружения в сети и использования OSGi-сервисов.





ECF Indigo так же реализует Enterprise-спецификацию для управления удаленными сервисами, известную как Remote Services Admin (RSA) [4]. Спецификация RSA определяет управляющие агенты, позволяющие приложениям уровня предприятия контролировать обнаружение и использование удаленных сервисов с помощью стандартизованного API. Так же в спецификацию RSA включены стандартизованный формат для обмена мета-данными между удаленными сервисами, улучшенные средства обеспечения безопасности, обнаружение и использование уведомлений о событиях и улучшенная поддержка версионирования удаленных сервисов [5].

Начался процесс тестирования ECF RS/RSA на соответствие спецификации OSGi с помощью OSGi Test Compatibility Kit.

Расширяемая архитектура провайдеров


ECF имеет архитектуру провайдеров, которая позволяет основным компонентам удаленных сервисов OSGi и администрирования удаленных сервисов (RSA) быть распространяемыми, расширяемыми и заменяемыми при необходимости. Например, для обеспечения интероперабельности с существующими сервисами и приложениями, часто бывает желательна способность заменять протокол/транспорт на уже используемый. С помощью архитектуры провайдеров ECF возможна замена основного протокола и использование других фреймворков, основанных на REST, SOAP, JMS, XML-RPC, XMPP и т.д. При желании вы можете даже определить и использовать проприентарный провайдер для своих сервисов. Так же вы можете использовать один провайдер для разработки и тестирования удаленных сервисов, а другой - для разворачивания [6].

Асинхронные прокси


ECF имеет поддержку доступа к удаленными сервисам через асинхронные прокси. Это позволяет клиенту, использующему удаленные сервисы, избегать проблем с надежностью, которые часто возникают, когда синхронные прокси используются через сравнительно медленные и ненадежные каналы связи. Выбор между синхронными и асинхронными прокси определяется программистом и может быть сделан во время исполнения. Более подробная информация по асинхронными прокси приведена в [7].

Провайдер для XML-RPC


ECF Indigo имеет поддержку провайдера, основанного на протоколе XML-RPC, который реализует API удаленных сервисов. Так же поддерживается вызов удаленных сервисов через синхронные и асинхронные прокси. Данный провайдер является интероперабельным относительно существующих XML-RPC сервисов и может быть примером того, как просто создать новый провайдер, используя доступные фреймворки.

Провайдер для Google Wave


Хотя и брошеный Google, Wave является открытым протоколом с доступными Open Source реализациями Wave-сервера. Это значит, что вы все же можете создавать приложения, которые получают преимущества использования функциональности колективного редактирования на лету в среде Eclipse с помощью данного провайдера.

Возможность коллективного редактирования в реальном времени с помощью данного ECF-провайдера уже используется в Cola. Она ограничена двумя пользователями на документ в один момент времени. Используя Wave-провайдер можно обеспечить работу нескольких авторов над одним и тем же документом.

Mustafa K. Isik и Sebastian Schmidt создали многопользовательскую игру для телефонов на базе Android, демонстрировавшуюся на конференции EclipseCon, проходившей в этом году. Они использовали протокол Wave для параллельного управления. Результат можно посмотреть на видеоврезке ниже:





ECF на других OSGi-фреймворках


Вы больше не ограничены запуском ECF только на Equinox: ECF4Felix [10] позволяет ECF запускаться на OSGi-фреймворке Felix. Тестирование было выполнено только на Felix, но вы можете помочь протестировать удаленные сервисы ECF и RSA на других фреймворках. Пожалуйста, отправляет письма в рассылку разработчиков ECF: ecf-dev ухо eclipse.org.

Проект документирования ECF


Команда ECF недавно запустила проект документирования ECF. Данный проект является методом увеличения объема и качества документации по ECF, помогающей коммитерам, контрибьютерам и сообществу пользователей. Он так же нацелен на использование ECF новыми и существующими клиентами. Сейчас данный проект включает Руководство пользователя и Руководство по интеграции.

Как пользователь ECF, усилия по документированию - это большая помощь в правильном использовании ECF в вашем приложении. Большое спасибо команде ECF за него и за другие возможности, приведенные в данном списке.

В заключение от Сурового: скачать последнюю версию ECF вы можете с нашего сервера сбоки [8]. Так же на GitHub [9] доступны дополнительные возможности, не включенные в основную ветку проекта.

1. ECF wiki: http://wiki.eclipse.org/ECF.
2. Remote services section of ECF wiki: http://wiki.eclipse.org/ECF#OSGi_Remote_Services.
3. OSGi compendium specification (Chap 13 is Remote Services): http://www.osgi.org/download/r4v42/r4.cmpn.pdf.
4. OSGi Enterprise Specification (Chap 122 is RSA): http://www.osgi.org/download/r4v42/r4.enterprise.pdf.
5. RSA wiki pages: http://wiki.eclipse.org/Remote_Services_Admin.
6. Getting Started with Remote Services: http://wiki.eclipse.org/EIG:Getting_Started_with_OSGi_Remote_Services.
7. Asynchronous Proxies (examples): http://wiki.eclipse.org/Asynchronous_Proxies_for_Remote_Services.
8. ECF Builder: https://build.ecf-project.org/jenkins/.
9. ECF Github site (other providers, examples, Wave, and Newsreader) : https://github.com/ECF.
10. ECF4Felix: https://github.com/ECF/ECF4Felix.

З.Ы. Если кто-то знает, как лучше перевести слово check out из заголовка статьи - напишите пожалуйста в комментариях. Не "зачекаутить" же в самом деле.

Понравилось сообщение - подпишитесь на блог

2 комментария:

Professor комментирует...

"Check out" я бы перевёл, как "сверить", "проверить" или "попробовать", но в данном заголовке по моему уместней ваш перевод.

Pavel Samolisov комментирует...

Спасибо за варианты.

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!