Support us

Создание RIA с использованием Flex и Java. Быстрый старт.

Оставить комментарий
Создание RIA с использованием Flex и Java. Быстрый старт.
В последнее время Rich Internet Applications (RIA) получают все большую популярность. Основная идея заключается в том, чтобы перенести подходы к разработке пользовательского интерфейса из настольных приложений в веб-браузер. Ключевым элементом при создании RIA является использование адекватного инструмента для построения UI, который позволяет создавать интерфейс в стиле desktop-приложений и при этом не требует чрезмерных усилий. Технология Adobe Flex является одним из таких инструментов. Благодаря распространенности Flash player, практически каждый пользователь сети может в своем браузере запускать приложения, написанные на ActionScript, с использованием платформы Flash. А технология Flex расширяет Flash возможностью создавать приложения со стандартизированным пользовательским интерфейсом. Следующим важным элементом RIA является использование серверной технологии и осуществление обмена данными с клиентским приложением. Хорошим дополнением для Flex является Java application server. Для поддержки формата AMF (стандартный механизм RPC для Flex) на стороне сервера существует ряд Java-библиотек. Мы остановим свой выбор на библиотеке BlazeDS по причине, которая станет понятна далее. В настоящее время, наличие автоматизированной build-системы рассматривается как обязательный атрибут разработки. Главным критерием такой системы является возможность сборки всех модулей проекта "одним кликом". В Java-мире стандартом de facto стал Apache Maven 2. Это инструмент, который, кроме сборки проекта, также может управлять конфигурациями и внешними зависимостями. А для облегчения создания проектов с заранее известной комбинацией технологий и типовой конфигурацией существуют шаблоны - так называемые архетипы (archetype). Для нашей задачи самым подходящих архетипом является maven-blazeds-spring-archetype. Он предоставляет шаблон RIA со следующим стеком технологий - Flex, Java, BlazeDS, Spring. Попробуем с его помощью создать тестовое приложение - quickstart. Для этого необходимо открыть корневую папку с проектами, скопировать следующий текст в batch file и запустите его (символ ^ задает продолжение команды на новой строке):
    mvn archetype:generate ^
        -DartifactId=quickstart ^
        -DarchetypeCatalog=http://maven-blazeds-spring-archetype.googlecode.com/svn/maven2/
При выполнении команды будет задано несколько вопросов:
  • Choose archetype: <ENTER>
  • Default value for groupId: org.company.quickstart
  • Default value for version: <ENTER>
  • Default value for package: <ENTER>
  • Confirm properties configuration: Y
После этого в текущем директории будет создана папка с именем quickstart, в котором будет находиться многомодульный проект. Анатомия этого проекта следующая:
  • app-flex-config - общий проект с настройками для Flex RPC и Java BlazeDS. Главные элементы этого проекта - файлы services-config.xml и remoting-config.xml
  • app-flex - проект, содержащий исходный код Flex front-end
  • app-web - проект, содержащий исходный код на Java плюс интеграция с BlazeDS и Spring Framework
Чтобы проект успешно собрался и работал, также необходимо проделать следующие изменения. В файле quickstart/app-flex/pom.xml:
  • Значение переменной flex.sdk.version - 3.4.0.9271
  • Значение переменной flex-mojos.version - 2.0.3
  • Значение contextRoot для flex-compiler-mojo - ${parent.artifactId}
В файле quickstart/app-web/pom.xml:
  • Значение finalName - ${parent.artifactId}
В целях отладки очень удобно видеть поток сообщений между Flex и Java. Чтобы дублировать все сообщения в консоли Java application server, необходимо добавить следующую секцию в конфигурационный файл quickstart/app-flex-config/src/main/resources/services-config.xml:
    <logging>
        <target class="flex.messaging.log.ConsoleTarget" level="Debug"/>
    </logging>
После этого можно осуществить сборку проекта следующей командой (из папки quickstart):
    mvn clean install -DtemplateURI=folder:html-template
Результатом сборки будет являться Java web application archive (WAR) - файл quickstart/app-web/target/quickstart.war Этот файл позволяет сделать deployment приложения в любой подходящий Java application server, например Apache Tomcat или WebLogic. Допустим, у нас имеется Tomcat, запущенный по адресу localhost:8080. Тогда после установки приложения quickstart.war, тестовая страница будет доступна по адресу: http://localhost:8080/quickstart/quickstart-flex-1.0-SNAPSHOT.html На этой странице будет запущено Flex-приложение с одним полем ввода и кнопкой Say. При вводе значения в поле и нажатия на кнопку, должно появиться сообщение "Hello, <значение>". Это значение формируется на серверной стороне для демонстрации интеграции Flex и Java, в чем несложно убедиться, посмотрев потом сообщений AMF в серверной консоли. Это, пожалуй, минимальное описание возможностей архетипа maven-blazeds-spring-archetype. Кроме того, он демонстрирует интеграцию BlazeDS со Spring framework, показывает как писать интеграционные тесты и содержит конфигурационные файлы для Eclipse/Flex Builder. Для более подробного изучения вопроса необходимо читать документацию Maven, BlazeDS, Spring и смотреть внутреннее устройства архетипа maven-blazeds-spring-archetype.
Читайте также
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digitaldefynd мы составили список курсов по Java, которые подойдут как новичкам, так и людям с опытом программирования, чтобы освоить этот востребованный язык.
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
1 комментарий
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
TIOBE: Java стремительно сдаёт позиции другим языкам
TIOBE: Java стремительно сдаёт позиции другим языкам
TIOBE: Java стремительно сдаёт позиции другим языкам
7 комментариев

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.