Категорія: BlazeDS
Flex и Railo "из коробки"
Как известно, для работы с Flex-приложениями, и Adobe Coldfusion и Railo используют BlazeDS. Наверное, нет проще пути для разработки серверной части Flex-приложений, чем разработка на CFML.
Для ограниченных в ресурсах проектов, использование Railo - отличный выход. Для простоты можно взять инсталлятор Railo, созданный Viviotech. В него включен преднастроенный BlazeDS, что позволяет в течение нескольких минут развернуть и начать создание серверной платформы Flex-приложения.
Рассмотрим инсталляцию под Windows.
После установки Railo+Tomcat можно соединить Railo и Apache, для этого пишем в httpd.conf:
LoadModule jk_module modules/mod_jk.so
JkLogFile "C:/Apache/logs/mod_jk.log"
JkWorkersFile "C:/Apache/conf/jk/workers.properties"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMountCopy all
Потом настроить под Railo отдельный virtualhost в Apache с такими параметрами:
<VirtualHost *:80>
DocumentRoot "C:/inetpub/wwwroot"
ServerName railo-local
JkMount /*.cfm worker2
JkMount /*.cfml worker2
JkMount /*.cfc worker2
JkMount /flex2gateway/* worker2
JkMount /flashservices/gateway/* worker2
</VirtualHost>
При этот сам worker2 определяется в C:/Apache/conf/jk/workers.properties таким образом:
workers.tomcat_home="C:/railo/tomcat"
workers.java_home="C:/jdk1.6.0_20"
ps=\
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker2
worker.inprocess.type=jni
worker.list=worker2
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=8019
worker.worker2.lbfactor=50
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker.worker2.socket_timeout=300
worker.worker2.connection_pool_timeout=600
Ну и напоследок, прописываем настройки Flash Remoting (в Railo встроен BlazeDS, но его надо поднастроить) в C:/Railo/Tomcat/webapps/ROOT/WEB-INF/web.xml:
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>messageBrokerId</param-name>
<param-value>MessageBroker</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/flex2gateway/*</url-pattern>
</servlet-mapping>
Для желающих глубже разобраться с настройками BlazeDS, рекомендую этот раздел Railo Wiki.
Доклад на FPUG #20 - Coldfusion+Flex
Наша юзер-группа в лице меня выступила на 20й встрече украинской группы пользователей Flash Platform в Киеве 10 июля 2010 года. Были и полезные доклады и живое общение и даже небольшой конец света (спонсор - погода в г.Киеве). От встречи осталась масса положительных эмоций, спасибо всем кто был к этому причастен.
Тема доклада - знакомство с Coldfusion и основы работы с Coldfusion-сервером из Flex-приложения. Слайды, описание и код демки - внутри.
Читати далі...
Flex+Railo+BlazeDS+MySQL+Tomcat+Apache+Linux
При всем уважении к Матушке-Coldfusion, нельзя забывать что она стоит денег. Деньги большие, но на каждый доллар инвестиций покупатель получает очень много. К сожалению, не все могут оплатить стоимость лицензии, однако это не повод считать их людьми второго сорта. Все перечисленные в заголовке технологии - бесплатны, два первых - продукты Adobe. Если знаешь Java, можно обойтись без Railo, но скорость разработки будет существенно меньше. Все одно, получается, что задаром, можно легко создавать классные RIA !
BlazeDS и все все все
Довольно сложно разобратся в маркетинговом языке корпораций, Adobe не исключение. Существует несколько серверов для организации messaging-а и передачи данных через AMF (remoting): например LiveCycle Data Services ES (LCDS) и BlazeDS. На мой скромный взгляд, Adobe запутывает пользователя избыточными аббревиатурами. Несколько ссылок для самообразования:
- BlazeDS: Open Sourcing Remoting and Messaging
- LiveCycle ES vs LiveCycle DS vs BlazeDS
- BlazeDS and LCDS Feature difference
- Differences between BlazeDS web messaging and the messaging service in LiveCycle Data Services
В двух словах - LCDS это платный сервер Adobe с кучей фич кроме собственно remoting-а. BlazeDS - это бесплатный опенсорсовый вариант LCDS с урезанными фичами. Если вам лишь нужно по-мелочи работать с удаленными данными из Flex приложения, используйте BlazeDS. Если нужна более серьезная обработка - предупреждение коллизий данных, server-side paging, работа с PDF-документами - используйте LCDS. LCDS есть в бесплатном варианте, но с ограничением на 1 приложение и 1 процессор. Хоть немного стало понятнее ? :)
Чтобы окончательно запутать читателя - существует еще GraniteDS, опенсорсовая замена LCDS.