Дапамажыце dev.by 🤍
Падтрымаць

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

3 каментарыя
Создание 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.
Чытайце таксама
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
7 каментарыяў
Apple адкрыла Swift для распрацоўкі Android-аплікацый
Apple адкрыла Swift для распрацоўкі Android-аплікацый
Apple адкрыла Swift для распрацоўкі Android-аплікацый
12 курсов по Java, на которые стоит обратить внимание новичкам и профи
12 курсов по Java, на которые стоит обратить внимание новичкам и профи
12 курсов по Java, на которые стоит обратить внимание новичкам и профи
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digital Defund составили список курсов, которые подойдут как новичкам, так и людям с опытом программирования, и помогут освоить этот востребованный язык. 
3 каментарыя
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.