Что делает BlazeDS Livecycle Data Services, чего не делает что-то вроде PyAMF или RubyAMF?

Я делаю технический обзор и смотрю на интеграцию AMF с различными бэкэндами (Rails, Python, Grails и т. д.).

Существует множество вариантов, вопрос в том, что делают продукты Adobe (BlazeDS и т. д.), Чего не делают что-то вроде RubyAMF / pyAMF?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
2 397
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Хороший вопрос. Я не рубиновый парень (я использую java с flex), но то, что я считаю, отличает blazeds от коммерческих livecycle ds, это

  1. Поддержка протокола потоковой передачи (rtmp) - соревнование за комету и тому подобное, доставка видео
  2. Некоторые продвинутые вещи для отсоединенных объектов гибернации и кеширования больших наборов результатов, которые я не полностью понимаю или которые мне не нужны.
    1. поддерживать? Могут быть и другие, но это те, которые я знаю с головы до ног.

У 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, и получаете:

  • автоматическая прогрессивная загрузка списка (большие списки / таблицы данных загружаются при прокрутке)
  • автоматическое управление crud (вы получаете объект локально во флэш-памяти, изменяете его, отправляете обратно, и БД будет обновляться автоматически)
  • возможность разрешения конфликтов (если несколько пользователей пытаются обновить одну и ту же запись одновременно)
  • если я хорошо помню, также улучшена интеграция с движком рабочего процесса LiveCycle ES

ИМО, такой способ разработки может быть очень быстрым, но только если у вас есть только базовые требования и простая архитектура (забудьте о SOA, которая в остальном так хорошо работает с Flex). Я в порядке с BlazeDS.

Описанные здесь функции управления данными для LCDS, безусловно, действительны, однако я считаю, что они не позволяют вам разработать решение быстрее. Разработчик по-прежнему должен написать ВСЕ код доступа к данным, выполнение запроса, извлечение данных из загрузчиков данных в объекты значений. ВСЕ это было решено десятки раз с помощью генераторов кода. Например, подход к управлению данными в WebORB для Java (как и в WebORB для .NET и PHP) основан на генерации кода, который создает код как для клиентской, так и для серверной стороны. Вы получаете все API-интерфейсы ActionScript из генератора кода для выполнения полной CRUD.

Кроме того, WebORB обеспечивает функции потоковой передачи видео и обмена сообщениями в реальном времени и выходит за рамки того, что предлагают BlazeDS и LCDS вместе взятые, особенно с учетом того, что продукт является бесплатным. Просто погуглите.

Другие вопросы по теме