Я делаю технический обзор и смотрю на интеграцию AMF с различными бэкэндами (Rails, Python, Grails и т. д.).
Существует множество вариантов, вопрос в том, что делают продукты Adobe (BlazeDS и т. д.), Чего не делают что-то вроде RubyAMF / pyAMF?






Хороший вопрос. Я не рубиновый парень (я использую java с flex), но то, что я считаю, отличает blazeds от коммерческих livecycle ds, это
У Adobe есть два продукта: Livecycle Data Services ES (LCDS) и BlazeDS. BlazeDS содержит набор функций LCDS и имеет открытый исходный код. К сожалению, каналы NIO (RTMP NIO / HTTP) и функции DataManagement реализованы только в LCDS, а не в BlazeDS.
BlazeDS можно использовать только для интеграции Flex с серверной частью Java. Он предлагает не только службы удаленного взаимодействия с использованием сериализации AMF (как RubyAMF), но также функции обмена сообщениями и совместной работы - взгляните на эту ссылку (http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3.html). Также я предполагаю, что поддержка лучше по сравнению с RubyAMF / pyAMF.
Если ваш бэкэнд - JAVA, и вы хотите использовать только бесплатный продукт, вы также можете использовать GraniteDS или WebORB (конкуренты BlazeDS).
Помимо каналов NIO (RTMP), LCDS включает также функции «управления данными».
Используя эту функцию, вы в основном реализуете в классе ActionScript CRUD-подобный интерфейс, определенный LCDS, и получаете:
ИМО, такой способ разработки может быть очень быстрым, но только если у вас есть только базовые требования и простая архитектура (забудьте о SOA, которая в остальном так хорошо работает с Flex). Я в порядке с BlazeDS.
Описанные здесь функции управления данными для LCDS, безусловно, действительны, однако я считаю, что они не позволяют вам разработать решение быстрее. Разработчик по-прежнему должен написать ВСЕ код доступа к данным, выполнение запроса, извлечение данных из загрузчиков данных в объекты значений. ВСЕ это было решено десятки раз с помощью генераторов кода. Например, подход к управлению данными в WebORB для Java (как и в WebORB для .NET и PHP) основан на генерации кода, который создает код как для клиентской, так и для серверной стороны. Вы получаете все API-интерфейсы ActionScript из генератора кода для выполнения полной CRUD.
Кроме того, WebORB обеспечивает функции потоковой передачи видео и обмена сообщениями в реальном времени и выходит за рамки того, что предлагают BlazeDS и LCDS вместе взятые, особенно с учетом того, что продукт является бесплатным. Просто погуглите.