Плюсы и минусы использования BlazeDS или веб-сервисов в качестве технологии удаленного взаимодействия и обмена сообщениями между уровнем представления Flex и бизнес-уровнем Spring?

В моей компании мы собираемся использовать Flex3 для уровня представления нового финансового веб-приложения и Spring для бизнес-уровня, но споры о лучшей технологии обмена сообщениями/удаленного взаимодействия все еще продолжаются. Можете ли вы поделиться собственным опытом с точки зрения плюсов и минусов использования той или иной технологии?


person Nizar Grira    schedule 25.07.2009    source источник


Ответы (2)


По моему опыту, используйте BlazeDS, если вам не нужно использовать веб-сервисы, к которым могут получить доступ различные технологии.

БлейзДС

Плюсы: меньшая нагрузка на сервер, меньшее время анализа клиента, меньший пакет данных (он двоичный), что означает более быстрый вызов в целом. Может выполнять публикацию/подписку, а также вызов метода.

Минусы: не совместим с внешними интерфейсами, отличными от Flex (хотя исходный код с открытым исходным кодом, так что теоретически это может быть).

Веб-сервисы

Плюсы: Хорошо зарекомендовал себя, в значительной степени кроссплатформенный. Легко читать и переводить вопросы.

Минусы: Гораздо более многословно. Если вы используете внутреннюю трансляцию XML в объекты AS, клиент должен выполнить интенсивный анализ. Если вы используете объекты как XML, инкапсуляция будет ослаблена (объекты за пределами вызова должны будут знать подробную информацию об объекте XML, а это означает, что рефакторинг может быть проблематичным).

Для хорошего сравнения реальных баз данных с фактическими числами см. Приложение Джеймса Уорда для переписи населения.

person stevko    schedule 25.07.2009
comment
Согласен со Стевко. И спасибо за ссылку на мое приложение Census. :) Обычно я рекомендую вам использовать веб-службы только тогда, когда вы не контролируете серверную часть, и все, что она предлагает, - это веб-службы. В противном случае BlazeDS — очевидный выбор. Кроме того, то, что вы используете удаленное взаимодействие AMF, не означает, что вы не можете также предоставить конечную точку веб-служб для сторонних интеграций. - person James Ward; 25.07.2009
comment
В самом деле, если у вас есть четко определенный сервисный уровень, вы можете легко раскрыть части как с помощью BlazeDS, так и с помощью механизма веб-сервисов, такого как CXF. - person cliff.meyers; 25.07.2009

BlazeDS поддерживает потоковую передачу сообщений в реальном времени через AMF и HTTP. Но ограничения количества клиентов, которые он может обработать, ниже, чем у более эффективного RTMP Adobe LiveCycle ES. Вы всегда можете переключиться на LiveCycle позже, если вам нужно повысить производительность, но это связано с ценой (не знаю, насколько это дорого).

person rlovtang    schedule 25.07.2009
comment
Мой самый большой недостаток Flex по сравнению с обычной разработкой HTML/CSS/JavaScript — это дополнительная фаза компиляции. Каждая лишняя секунда, необходимая для того, чтобы увидеть результат, является большим недостатком во фронтенд-разработке. - person rlovtang; 25.07.2009