BERDAFLEX Software Systems
Главная > Eclipse > Статьи > Проект Rich Ajax Platform (RAP)

Проект Rich Ajax Platform (RAP)

История переиздания
Издание 1.0 2007.01.05 Сергей Бердачук

Знакомство с RAP

Прошедший год преподнес нам много подарков от сообщества разработчиков Eclipse. Наряду с рассмотренным ранее проектом eRCP для разработки мобильных приложений появился еще один перспективный проект Rich AJAX Platform (RAP) который призван расширить технологию Eclipse RCP и для разработки не менее популярных Web приложений. Хотя данный проект еще окончательно не утвержден, уже можно ознакомиться с предварительными наработками.

Цель проекта

Создание платформы для разработки динамичных Rich Internet Applications (RIA) приложений в «Eclipse стиле», т.е. с использованием подключаемых модулей с готовыми библиотеками java компонент и сервисов без необходимости кодирования AJAX кода вручную. Компания Innoopract предоставила большую часть кода проекта W4Toolkit который содержит большое количество компонент для построения визуального интерфейса Web приложений.

Данные компоненты базируются на технологии AJAX и позволяют строить реагирующие на события приложения с предопределенной реакцией на внешние воздействия в реальном режиме времени и сравнимым с технологией Java Server Faces (JSF) жизненным циклом. На будущее рассматривается возможность создания JSF реализации для W4T проекта. Кроме того, данная библиотека компонент способна анализировать среду выполнения и используемые браузеры, автоматически подстраиваться под нюансы и возможности последних для работы с JavaScript, AJAX или без поддержки JavaScript.

Используемый в Eclipse OSGi Фреймворк (Equinox) может работать и в Web приложениях, что позволяет использовать данную технологию для создания аналогичной Eclipse платформе разработки, но для Web.

Планируется воссоздать полную аналогию столь популярной среды с поддержкой пользовательских сессий; создать точки расширения для различных наборов действий (actions), рабочую среду, проекции, страницы настроек и т.д.; позволить сторонним модулям расширять функциональность и предоставлять дополнительные точки расширения. Интерфейс программирования приложений (Application Programming Interface (API)) будет максимально приближен к API платформы Eclipse.

Область применения RAP

Основная идея заключается в возможности создания модульных приложений для Web по аналогии с приложениями на основе технологии Eclipse RCP без необходимости создания и установки приложений на клиентском уровне или для возможности дублирования таких клиентских приложений, что позволяет работать с любого компьютера.

Сравнение технологий RAP и Eclipse RCP

RCP RAP
Модель подключаемых модулей OSGi OSGi на сервере
Компоненты SWT WWW Widget Toolkit (W4T)
Model View Controller JFace JFace (адаптирован к JFace стандарту в связке с SWT)
Графический Фреймворк Workbench Web Workbench

План развития проекта

  • 2007-01 M3: Простая реализация WebWorkbench на OSGi
  • 2007-03 M4: Реализация API релиза 1.0
  • 2007-05 RC1: Фиксация кода версии 1.0
  • 2007-06 v1.0: Релиз версии 1.0

На данный момент уже есть доступ к библиотекам проекта RAP и примеры его использования.

Пример простого приложения RAP

Пример простого RAP приложения наглядно демонстрирует возможность создания приложений одновременно с WEB и Eclipse RCP графическими интерфейсами. При этом используются общие модули кода, отличие лишь в интерфейсе взаимодействия с пользователем (User Interface (UI)).

После распаковки и импорта проекта в Eclipse нам доступны следующие модули (префикс org.eclipse. опущен):

  • org.apache.commons.logging необходимая для equinox.jetty библиотека логирования;
  • org.eclipse.equinox.http.registry содержит точки расширения сервлета для регистрирования rap.ui.workbench;
  • equinox.jetty и equinox.jetty.http предоставляеют HTTP сервис;
  • equinox.servlet.api содержит javax servlet API;
  • equinox.servlet.bridge.http представляет собой мост к контейнеру сервлетов для OSGi HttpService сервиса. Используется в модуле jetty.http;
  • rap.example.core общая модель данных для клиентов Eclipse RCP и RAP;
  • rap.example.rcp Eclipse RCP клиент;
  • rap.example.ui RAP клиент;
  • rap.example.data предназначен для временного хранения данных;
  • rap.ui.workbench содержит специфичную для RAP точку расширения стартовой страницы (startup form) и отображения ее на сервлет;
  • rap.viewer содержит RAP аналогию JFace API;
  • rap.w4t библиотека компонент W4Toolkit.

Проект содержит конфигурации запуска приложений из среды Eclipse.

Для запуска Eclipse RCP клиента вызываем конфигурацию «Run->Run->Eclipse Application->RAP-RCP Example».

Рис. 1. Eclipse RCP клиент демонстрационного проекта RAP

Для запуска W4T клиента вызываем конфигурацию «Run->Run->Equinox OSGi framework->sample». Если серверная часть запустится успешно, то в панели консоли будет выведено соответствующее сообщение. Для непосредственно запуска приложения требуется открыть Web браузер и ввести адрес http://localhost/W4TDelegate и на предложенный запрос имени и пароля ввести Demo/Demo.

Рис.2. Запрос пароля


Рис. 3. W4Toolkit клиент демонстрационного проекта RAP


Rambler's Top100 Рейтинг@Mail.ru