Беларусь + FemTech = ❤️? Stork целится в миллион установок
Support us

Создание 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-приложений
«На квартиру хватало». Беларуса сократили в Канаде. Рассказывает, как искал работу и жил на пособие
«На квартиру хватало». Беларуса сократили в Канаде. Рассказывает, как искал работу и жил на пособие
«На квартиру хватало». Беларуса сократили в Канаде. Рассказывает, как искал работу и жил на пособие
Меня сократили. Пикантности ситуации добавляет то, что я в Канаде на рабочей визе, и мне нужно очень быстро найти новую работу. В первой части сериала я рассказывал, как сейчас выглядит ИТ-рынок в Канаде и немного сравнивал его с СНГ-шными компаниями.  Сейчас же расскажу про неудачные собеседования, на что живу во время вынужденной безработности и (спойлер!) где мне удалось получить заветный оффер. 
2 комментария
100 отликов, 0 офферов. Беларуса сократили в Канаде и теперь он спешно ищет работу
100 отликов, 0 офферов. Беларуса сократили в Канаде и теперь он спешно ищет работу
100 отликов, 0 офферов. Беларуса сократили в Канаде и теперь он спешно ищет работу
16 комментариев

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

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

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

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

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