Что делает BlazeDS Livecycle Data Services, а что-то вроде PyAMF или RubyAMF - нет?
Я делаю технический обзор и смотрю на интеграцию AMF с различными бэкэндами (Rails, Python, Grails и т. Д.).
Существует множество вариантов, вопрос в том, что делают продукты Adobe (BlazeDS и т. Д.), Чего нет у чего-то вроде RubyAMF / pyAMF?
4 ответа
Помимо каналов NIO (RTMP), LCDS включает в себя также функции "управления данными".
Используя эту функцию, вы в основном реализуете в классе ActionScript CRUD-подобный интерфейс, определенный в LCDS, и получаете:
- автоматическая последовательная загрузка списков (большие списки / таблицы данных загружаются при прокрутке)
- автоматическое управление crud (вы получаете объект локально во flash, изменяете его, отправляете обратно и DB обновляется автоматически)
- функция разрешения конфликтов (если несколько пользователей пытаются обновить одну и ту же запись одновременно)
- если я хорошо помню, также улучшена интеграция с движком рабочего процесса LiveCycle ES
IMO, это может быть очень быстро разработано таким образом, но только если у вас есть только базовые требования и простая архитектура (забудьте SOA, которая в противном случае так хорошо работает с Flex). Я в порядке с BlazeDS.
Описанные здесь функции управления данными для LCDS, безусловно, действительны, однако я полагаю, что они не позволяют вам быстрее разработать решение. Разработчик все еще должен написать ВСЕ код доступа к данным, выполнение запросов, извлечение данных из носителей данных в объекты-значения. Все это было решено в десятки раз с помощью генераторов кода. Например, подход к управлению данными в WebORB для Java (как и в WebORB для.NET и PHP) основан на генерации кода, который создает код как для клиентской, так и для серверной части. Вы получаете все API-интерфейсы ActionScript из генератора кода для полного CRUD.
Кроме того, WebORB предоставляет функции потоковой передачи видео и обмена сообщениями в реальном времени и выходит за рамки того, что предлагают вместе BlazeDS и LCDS, особенно учитывая, что продукт бесплатный. Просто погугли это.
У 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)
Хороший вопрос. Я не рубиновый парень (я использую java с flex), но то, что я считаю, отличает Blazeds от коммерческого Livecycle DS.
- Поддержка потокового протокола (rtmp) - конкурс на кометы и тому подобное, поставка видео
- Некоторые продвинутые вещи для спящих объектов и большого кэширования набора результатов, которые я не совсем понимаю или не нуждаюсь
- служба поддержки? Могут быть и другие, но это те, которые я знаю по макушке.