Я изучил концепцию SOA и выяснил методы (должен ли я назвать это так?) SOAP и REST (только эти). Я хочу знать, существуют ли какие-либо другие методы (?), Которые сосуществуют в этом контексте и что они представляют. они лучше в чем-то? многие люди используют их? и т.д. спасибо (:Каковы наиболее распространенные методы SOA?
ответ
Его важно отделить SOA от архитектуры SOAP, REST и других реализаций архитектуры.
Вы можете реализовать архитектуру SOA поверх любой технологии, которая поддерживает запрос и ответ через сообщения.
Ядром характеристикой архитектуры SOA являются: -
- Клиенты отправляют простые сообщения запроса.
- Сервер повторно передает сообщения с одним ответом.
- Сервисные интерфейсы четко определены и «рекламируются» для клиентов. то есть клиенты могут запрашивать сервер на том, какие сервисы являются suppoted и каков интерфейс для этих сервисов.
- Отсутствие репликации данных и отсутствие локального хранилища. Если клиент хочет знать о виджетах, то он запрашивает услугу Widget, клиент не сохраняет данные Widget. Аналогично, если клиент хочет обновить данные Widget, он отправляет запрос на обновление службе Widget.
- Синхронные, асинхронные и пакетные интерфейсы являются приемлемыми.
Основные преимущества этого как архитектуры являются: -
- Единственный контакт между сервером и его клиентами является «интерфейс». Клиент имеет и нуждается в абсолютном отсутствии знаний о реализации серверов, равно как и серверу не важно, как клиент реализован.
- Данные принадлежат и управляются Сервисом и только службой. Это устраняет синхронность, проблемы с репликацией и уменьшает почти до нуля возможность двойных обновлений.
- Абсолютная простота результирующей архитектуры обеспечивает большую гибкость.
- Абсолютная простота результирующей архитектуры обеспечивает очень надежные системы.
Однако, как вы совершенно правильно сделали вывод в реальном мире, в основном используются SOAP и REST. Когда люди говорят SOAP, они обычно ссылаются на WS- * ряд стандартов и протоколов -> WSDL (Web Definition Definition Language), WSM (Web Service Messaging), WS-Security и т. Д. И т. Д., Которые используют SOAP в качестве транспортного механизма ,
Принимая во внимание, что REST обладает простотой, а WS * является очень сложным и сложным в реализации, я бы рекомендовал подход WS * для любой достаточно большой системы. Стандарты WS * поддерживают не только простой запрос/ответ, но также асинхронные сообщения и транспорты, отличные от http (JMS, файлы и т. Д.), И, что более важно, стандарт безопасности WS хорошо работает и поддерживает безопасную связь с бизнес-связью.
«Я бы рекомендовал подход WS * для любой достаточно большой системы»? Зачем? Кажется, пользователи Amazon.com предпочитают REST. http://www.oreillynet.com/pub/wlg/3005. Все это кажется не по теме, поскольку вопрос касался альтернатив, а не рекомендаций. –
WS- * способ переоценить. Наличие набора протоколов, который позволяет вам что-либо делать, - это рецепт сложности _adding_ для уже сложной системы. Точно противоположность концепции абсолютной простоты, которую вы рекламируете ранее. –
_ "данные принадлежат и управляются Сервисом и только службой" _. Можете ли вы дать ссылку на этот вопрос? Кажется, полная противоположность _service statelessness_, которая известна как принцип SOA. –
Во-первых, прочтите это:. http://www.soaspecs.com/ws.php
Тогда прочтите это:. http://en.wikipedia.org/wiki/Web_service
В конечном счете, все сидит прямо на HTTP Это основной протокол Что вы спрашиваете о том, в. (или аргументы) в XML, JSON или что-то еще. Семантика того, что передано: unconstrained или ограничено HTTP.
XMLRPC - http://en.wikipedia.org/wiki/XML-RPC. Это превратилось в SOAP. XML. Семантика - вызов функции. essage включает метод и аргументы.
SOAP - http://en.wikipedia.org/wiki/SOAP. Сообщение закодировано в XML. Он похож на XMLRPC, с большим количеством опций, более сложными XML и формальными описаниями WSDL. http://en.wikipedia.org/wiki/Web_Services_Description_Language
Если вы используете JSON вместо XML, для него нет хорошего имени. Это WS или REST с JSON. Это только SOAP, если он использует XML.
Существует два типа общих архитектур. Запрос типа SOAP, в котором может быть определен любой глагол в запросе, и REST, где всего четыре глагола: POST, GET, UPDATE, DELETE, и они являются частью метода HTTP-запроса.
ОТДЫХ - http://en.wikipedia.org/wiki/Representational_State_Transfer. Вы можете использовать любую кодировку сообщений с помощью REST. Некоторые люди используют XML, некоторые люди используют JSON или YAML. Вы можете легко изобретать другие представления за пределами XML и JSON/YAML. Тем не менее, вы ограничены в использовании четырех канонических глаголов.
Если вы хотите быть действующим стандартом WS, используйте WS * stack.
- 1. Каковы наиболее распространенные команды EMACS?
- 2. Каковы наиболее распространенные анти-шаблоны SQL?
- 3. Каковы ваши наиболее распространенные оптимизации sql?
- 4. Каковы важные (наиболее распространенные) функции Silverlight 4.0
- 5. Каковы наиболее распространенные причины запросов без ссылки?
- 6. Каковы распространенные методы защиты данных на iPhone
- 7. Каковы наиболее распространенные соглашения об именах в C#?
- 8. Каковы наиболее распространенные применения для комплексных типов Entity Framework?
- 9. Наиболее распространенные элементы массива
- 10. Вычислить наиболее распространенные значения
- 11. Каковы распространенные методы уведомления пользователя о недопустимом вводе?
- 12. Каковы наиболее распространенные ошибки для начинающего пользователя Drupal?
- 13. Каковы наиболее распространенные функции в Visual Studio/C#?
- 14. Каковы ваши наиболее распространенные применения для регулярных выражений?
- 15. Каковы наиболее распространенные ошибки при разработке приложений Spring?
- 16. Каковы наиболее распространенные применения статических функций класса в C++?
- 17. Каковы распространенные заблуждения jQuery?
- 18. P = NP: Каковы наиболее перспективные методы?
- 19. Каковы распространенные методы тестирования сторонних компаний на ваше программное обеспечение?
- 20. Compute наиболее распространенные элементы массива
- 21. SQL Выберите наиболее распространенные значения
- 22. Наиболее распространенные дни недели запроса
- 23. Наиболее распространенные команды cassandra cql
- 24. Наиболее распространенные элементы в массиве
- 25. Наиболее распространенные JQuery ModalBox плагин
- 26. Наиболее распространенные слова в строке
- 27. Наиболее распространенные значения в массиве
- 28. Каковы некоторые распространенные допустимые эвристики для расстояния?
- 29. Наиболее распространенные причины нестабильных ошибок в C++?
- 30. Каковы распространенные UEC-файлы UDP?
Когда вы говорите «техника», кажется, вы имеете в виду «протокол». –
Да, я смущен тем, как их называть. но REST не является протоколом. –
Это моя точка зрения. В этом вопросе вы собрали несколько вещей. –