Jump to content

FeedSync

FeedSync for Atom и RSS , ранее называвшиеся Simple Sharing Extensions , представляют собой расширения форматов каналов RSS и Atom , предназначенные для обеспечения двунаправленной синхронизации информации с использованием различных источников данных. Первоначально разработанный Рэем Оззи , главным архитектором программного обеспечения в Microsoft , в настоящее время его поддерживают Джек Оззи , Джордж Моромисато , Мэтт Августин , Пареш Сутар и Стивен Лис . Дэйв Винер , разработчик вариантов спецификации UserLand Software RSS, внес свой вклад в разработку спецификаций.

Последняя версия спецификации FeedSync для Atom и RSS — 1.02. [1] FeedSync для Atom и RSS лицензируется в соответствии с лицензией Creative Commons Attribution-ShareAlike (версия 2.5) и обещанием открытой спецификации Microsoft .

Целью FeedSync для Atom и RSS является определение минимальных расширений, необходимых для того, чтобы свободно взаимодействующие приложения могли использовать каналы Atom и RSS в качестве основы для совместного использования элементов, то есть двунаправленную асинхронную синхронизацию новых и измененных элементов между двумя или более каналов с перекрестной подпиской.

Обратите внимание: хотя большая часть FeedSync в настоящее время определяется с точки зрения Atom и RSS-каналов, по своей сути FeedSync строго требует:

  • Плоская коллекция элементов для синхронизации.
  • Набор метаданных синхронизации для каждого элемента, который поддерживается на всех конечных точках.
  • Набор алгоритмов, которым следуют все конечные точки для создания, обновления, объединения и разрешения конфликтов всех элементов.

Это означает, что FeedSync может быть реализован практически на любом языке программирования, метаданные которого представлены во многих форматах структурированных данных.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:sx="http://feedsync.org/2007/feedsync">
 <channel>
  <title>To Do List</title>
  <description>A list of items to do</description>
  <link> https://www.example.com/something/foo/bar/ </link>
  <sx:sharing since="2005-02-13T18:30:02Z"
    until="2005-05-23T18:30:02Z" >
   <sx:related link="[http://example.com/all.xml]{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }}" type="complete" />
   <sx:related link="[http://example.com/B.xml]{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }}" type="aggregated" 
    title="To Do List (Jacks Copy)" />
  </sx:sharing>
  <item>
   <title>Buy groceries</title>
   <description>Get milk, eggs, butter and bread</description>
   <sx:sync id="item_1_myapp_2005-05-21T11:43:33Z" updates="3">
    <sx:history sequence="3" when="2005-05-21T11:43:33Z" by="JEO2000"/>
    <sx:history sequence="2" when="2005-05-21T10:43:33Z" by="REO1750"/>
    <sx:history sequence="1" when="2005-05-21T09:43:33Z" by="REO1750"/>
   </sx:sync>
  </item>
 </channel>
</rss>

Атомная подача

[ редактировать ]
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:sx="http://feedsync.org/2007/feedsync">
  <title>To Do List</title>
  <subtitle>A list of items to do</subtitle>
  <link rel="self" href="http://example.com/partial.xml"/{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }}>
  <author>
    <name>Ray Ozzie</name>
  </author>
  <updated>2005-05-21T11:43:33Z</updated>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0aaa</id>
  <sx:sharing since="2005-02-13T18:30:02Z"
    until="2005-05-23T18:30:02Z" >
   <sx:related link="[http://example.com/all.xml]{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }}" type="complete" />
   <sx:related link="[http://example.com/B.xml]{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }}" type="aggregated"
    title="To Do List (Jacks Copy)" />
  </sx:sharing>
  <entry>
   <title>Buy groceries</title>
   <content>Get milk, eggs, butter and bread</content>
   <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0aa0</id>
   <author>
    <name>Ray Ozzie</name>
   </author>
   <updated>2005-05-21T11:43:33Z</updated>
   <sx:sync id="item_1_myapp_2005-05-21T11:43:33Z" updates="3">
    <sx:history sequence="3" when="2005-05-21T11:43:33Z" by="JEO2000"/>
    <sx:history sequence="2" when="2005-05-21T10:43:33Z" by="REO1750"/>
    <sx:history sequence="1" when="2005-05-21T09:43:33Z" by="REO1750"/>
   </sx:sync>
  </entry>
</feed>

Почтовый ящик

[ редактировать ]
<?xml version="1.0" encoding="utf-8"?>
<item>   
 <subject>Buy groceries</subject>    
 <body>Get milk and eggs</body>    
 <sx:sync id="item_1_myapp_2005-05-21T11:43:33Z" updates="1">   
  <sx:history sequence="1" when="2005-05-21T09:43:33Z" by="REO1750"/>    
 </sx:sync>    
</item>

элемент JSON

[ редактировать ]
{    
 "title" : "Buy groceries",    
 "description": "Get milk and eggs",    
 "sync": 
 {    
  "id": "item_1_myapp_2005-05-21T11:43:33Z",    
  "updates": "1",    
  "history": [    
   {
    "sequence": "1", 
    "when": "2005-05-21T09:43:33Z", 
    "by": "REO1750"
   }    
  ]
 }    
}

Пример объекта FeedSync.

Примеры использования в реальном мире

[ редактировать ]

Существует несколько примеров «реального» использования каналов FeedSync для синхронизации данных между приложениями.

Служба FeedSync

[ редактировать ]

Эта служба разработки прототипов представляет собой реализацию конечной точки FeedSync на основе HTTP. Приложения могут использовать команды HTTP GET и POST для синхронизации каналов, при этом последний выполняет операцию слияния FeedSync с каналом, размещенным службой FeedSync. Услуга больше не активна.

Сильный ангел III

[ редактировать ]

Ленты FeedSync широко использовались на учениях Strong Angel III в августе 2006 года в качестве легкого промежуточного программного обеспечения для связи приложений Microsoft , Google , ESRI и других компаний на настольных компьютерах и мобильных устройствах. Услуга больше не активна.

РИМ проект

[ редактировать ]

Комплексный проект Java RSS, ROME , представляет собой реализацию спецификации FeedSync, поскольку он создает уровень Java , позволяющий разработчикам создавать приложения, которые будут использовать службу FeedSync.

Mesh4x , набор библиотек, инструментов, приложений и сервисов с открытым исходным кодом для ячеистых приложений, использует FeedSync в качестве стандарта управления версиями и реализует основанный на Feedsync пакетный протокол для синхронизации данных через текстовые SMS-сообщения.

См. также

[ редактировать ]
  1. ^ «Спецификация FeedSync для Atom и RSS (v1.0)» . 3 января 2011 г. Архивировано из оригинала 24 декабря 2017 г.
[ редактировать ]

Технические характеристики

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2e8c76ff9545c146991214ea0f25d030__1712266200
URL1:https://arc.ask3.ru/arc/aa/2e/30/2e8c76ff9545c146991214ea0f25d030.html
Заголовок, (Title) документа по адресу, URL1:
FeedSync - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)