В моей компании мы собираемся использовать Flex3 для уровня представления нового финансового веб-приложения и Spring для бизнес-уровня, но споры о лучшей технологии обмена сообщениями/удаленного взаимодействия все еще продолжаются. Можете ли вы поделиться собственным опытом с точки зрения плюсов и минусов использования той или иной технологии?
Плюсы и минусы использования BlazeDS или веб-сервисов в качестве технологии удаленного взаимодействия и обмена сообщениями между уровнем представления Flex и бизнес-уровнем Spring?
Ответы (2)
По моему опыту, используйте BlazeDS, если вам не нужно использовать веб-сервисы, к которым могут получить доступ различные технологии.
БлейзДС
Плюсы: меньшая нагрузка на сервер, меньшее время анализа клиента, меньший пакет данных (он двоичный), что означает более быстрый вызов в целом. Может выполнять публикацию/подписку, а также вызов метода.
Минусы: не совместим с внешними интерфейсами, отличными от Flex (хотя исходный код с открытым исходным кодом, так что теоретически это может быть).
Веб-сервисы
Плюсы: Хорошо зарекомендовал себя, в значительной степени кроссплатформенный. Легко читать и переводить вопросы.
Минусы: Гораздо более многословно. Если вы используете внутреннюю трансляцию XML в объекты AS, клиент должен выполнить интенсивный анализ. Если вы используете объекты как XML, инкапсуляция будет ослаблена (объекты за пределами вызова должны будут знать подробную информацию об объекте XML, а это означает, что рефакторинг может быть проблематичным).
Для хорошего сравнения реальных баз данных с фактическими числами см. Приложение Джеймса Уорда для переписи населения.
BlazeDS поддерживает потоковую передачу сообщений в реальном времени через AMF и HTTP. Но ограничения количества клиентов, которые он может обработать, ниже, чем у более эффективного RTMP Adobe LiveCycle ES. Вы всегда можете переключиться на LiveCycle позже, если вам нужно повысить производительность, но это связано с ценой (не знаю, насколько это дорого).