Компания, в которой я работаю, разрабатывает множество сервисов RESTful. Однако ни одна из них не предоставляет публичные API (в том смысле, что все сервисы внутренне потребляются нашими собственными клиентами). Причина, по которой мы шли в архитектурном стиле REST, заключалась в том, что мы хотели, чтобы наши услуги были легко расходуемыми и, что еще важнее, хорошо масштабировались.
Из моего собственного практического опыта я пришел к выводу, что формат синдикации HTTP + ATOM является хорошей идеей, если вы хотите сохранить гибкость (с точки зрения различной модели контента, прикрепления и расширения метаданных, связанных с полезными нагрузками, равномерный синтаксический анализ и т. д.). ATOM гарантирует, что каждый интерпретирует полезную нагрузку единообразно, без каких-либо ограничений для двусмысленности.
Однако, если у вас нет таких сложных требований или не требуется таких требований, тогда формат ATOM может быть небольшим накладным. (Например, такие элементы, как Author, Title и т. Д., Имеют больше смысла в мире blogging/RSS и могут не иметь смысла в вашей конкретной проблемной области).
Также, если цель состоит в том, чтобы просто сериализовать структуры данных на одном конце и восстановить их на другом конце, тогда большинство веб-фреймворков (например, WCF) имеют пользовательские форматы, которые более привлекательны.
Так что, на мой взгляд, патч ATOM хорош, если вам нужна гибкость с точки зрения представления данных, и если игровое поле огромно для разных клиентов.
Однако, если у вас есть хорошее представление о потенциальных клиентах и шаблонах использования сервера/клиента, то пользовательские форматы могут быть хорошей идеей.
Если клиент основан на браузере, тогда форматы, подобные JSON, очень привлекательны.
Надеюсь, это ответит на ваш вопрос.
можно ли обмениваться обновленным списком – 2011-04-13 14:28:36