В Flex мы используем 3 типа сервисов; HTTP, Remoting и WebServices, и я хотел бы лучше понять их варианты использования. Насколько я понимаю,
Удаленное взаимодействие может использоваться только в однородной среде, такой как Flex-RubyOnRails (через RubyAMF), в то время как веб-службы могут использоваться в гетерогенной среде с использованием протокола SOAP.
У удаленного взаимодействия есть преимущество встроенной поддержки объектов, которой нет у веб-сервисов. Это также означает, что в первом случае не потребуется никакого синтаксического анализа / извлечения.
Говоря о HTTP-сервисах, они не поддерживают сложные операции или передачу параметров и могут использоваться только для базовых операций.
Друзья, пожалуйста, поправьте меня, если я где-то ошибаюсь, а также расскажите об этом подробнее.
Заранее спасибо.
Ответ 1 · рейтинг 3 · JeffryHouser
Я не уверен, что это то, что вы ищете, но я попробую.
- Удаленное взаимодействие может использоваться только в однородной среде, такой как Flex-RubyOnRails (через RubyAMF), в то время как веб-службы могут использоваться в гетерогенной среде с использованием протокола SOAP.
Я не уверен, что вы имеете в виду под однородным или неоднородным здесь. Да, RemoteObject необходимо вызывать удаленные серверы через шлюз Flex Remoting. Точно так же, как тег WebService должен делать это с помощью SOAP WSDL.
RemoteObject также поддерживает AMF, двоичный формат, который дает меньшие размеры транспорта, чем SOAP или XML. Автоматическое преобразование между серверным объектом и классом ActionScript - приятный штрих.
2. У удаленного взаимодействия есть преимущество встроенной поддержки объектов, которой нет у веб-сервисов. Это также означает, что в первом случае не потребуется никакого синтаксического анализа / извлечения.
Технически я считаю, что синтаксический анализ все еще сделан; он просто встроен в шлюз удаленного взаимодействия; и благодаря бинарному формату более эффективен.
3. Говоря о HTTP-сервисах, они не поддерживают сложные операции или передачу параметров и могут использоваться только для базовых операций.
Все, что вы можете вставить в URL, вы можете передать HTTPService. Было бы особенно сложно передать сложные объекты.