RemoteStorage — открытый протокол для хранения данных пользователя в интернете (Удаленное хранилище)

RemoteStorage — открытый протокол для хранения данных пользователя в интернете (Удаленное хранилище)

@webware

t.me/webware

Управляйте вашими данными

Все данные находятся в одном месте – выбранном вами месте. Используйте аккаунт для хранения данных только того провайдера, которому вы доверяете или установите ваш собственный сервер хранения. Переезжайте в любое место. Это ваши данные.

Синхронизируйте ваши данные

Приложение с поддержкой удаленного хранилища автоматически синхронизирует ваши данные во всех ваших устройствах, начиная со стационарного компьютера до планшета или даже вашего ТВ.

Совместимость и выбор

Используйте одни и те же данные в различных приложениях. Создайте список дел в одном приложении и отслеживайте время выполнения на другом. Попрощайтесь с конкретными хранилищами данных.

Автономный режим

Большинство приложений с поддержкой удаленного хранилища поставляются с первоклассной автономной поддержкой. Используйте свои приложения в автономном режиме и автоматически синхронизируйте их, когда вы снова находитесь в сети.

Архитектура без хостинга

RemoteStorage — это первый (и в настоящее время единственный) открытый стандарт, поддерживающий действительно не требующий хостинга для веб-приложения. Это означает, что пользователи полностью контролируют свои ценные данные и там, где они хранятся, в то время как разработчики приложений освобождаются от бремени хостинга, поддержки и защиты центральной базы данных.

Традиционный веб-стек, например LAMP / .Net / RoR / Django / etc. Разработчик запускает приложение и данные, пользовательский элемент управления.
100% клиентское приложение плюс CouchDB, Hoodie, Firebase, Parse, Kinto и т. Д. Разработчик предоставляет приложения и данные, пользовательский элемент управления
100% клиентское приложение плюс удаленное хранилище, Google Диск, Dropbox и т. Д. Разработчик предоставляет только приложение, пользовательский элемент управления и данные.

Протокол RemoteStorage

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

Способ определения адреса: WebFinger

Чтобы приложения знали, где запросить разрешение и в дальнейшем синхронизировать данные пользователя, они (пользователи) предоставляют приложениям свои адреса, в основном, как это делается в E-Mail или Jabber/XMPP. С помощью этого адреса приложения извлекают информацию о хранилище для имени пользователя в этом домене/ хосте.

Авторизация: OAuth 2.0

Пользовательские данные ограничены так называемыми категориями, которые по существу являются базовыми каталогами, для которых вы можете предоставить приложениям права доступа только для чтения или чтения/записи. Приложения будут использовать области OAuth для запроса доступа к одной или нескольким категориям.

В примере скриншота Litewrite запрашивает доступ для чтения / записи к директории «документы», используя область OAuth documents:rw. Если вы разрешаете доступ, приложение будет извлекать токен-носитель, с помощью которого он может читать и записывать в ваше хранилище, пока вы не отмените этот доступ на своем сервере.

Хранилище данных и синхронизация: HTTP REST

remoteStorage определяет простой ключ/величину хранилища для приложений для того, чтобы сохранять и извлекать данные. Основными операциями являются запросы GET / PUT / DELETE для определенных файлов / документов.

В дополнение к вышесказанному – и главным отличием от обычного HTTP – является наличие списков директорий в формате JSON-LD. Они содержат как тип контента, так и размер, также как и ETags, которые могут использоваться для реализации механизмов синхронизации. В самих файлах и списках также есть ETag header для синхронизации / кэширования и условных запросов.

Источник codeby.net

Report Page