Хабр из русского языка сделал что-то странное. Вроде бы очевидные и однозначные вещи приходится разжевывать.
То что предлагают как oData, уже было, как rest и как xml-rpc. Я использовал и то, и другое (оно было нужно, rest — точно, xml-rpc — сомнительно). Зачем еще нужно тут третье — не понимаю.
Насколько я понимаю, vittore предлагал вам прочитать об oData. Вы ответили, что уже 5 лет используете, отсюда и мой комментарий. Так что очевидные и однозначные вещи приходится разжёвывать именно для вас.
Небольшие и нетвердые всегда этим славились. Помнишь «девелоперс, девелоперс....»?
Создать язык запросов, и по-сложней. Что б были трактовки реализаций, а потом их вариации. Такой SQL для CGI. Со стандартизацией, спецификациями, WSDL-like описаниями схем и прочими радостями. Искаропки работающим в Visual Шtudio, c черезпеньколодной открытой реализацией (лучше двумя, несовместыми между собой, visual-studi'йной и, тем более, oasis'ной)… Понятно, что только о разработчиках они и заботятся.
В данный момент проходим этап тестирования внедрения oData протокола в проект — все просто замечательно. По сравнению с другими «стандартизированными» решениями, oData — просто прорыв! Да, местами немного не совсем интуитивный синтаксис, но к нему привыкаешь. Возможности перекрывают все недостатки с лихвой.
Практика использования REST, вкупе с диалектами SQL, говорит мне, что ничего хорошего из вашего odata не выйдет. Начинание хорошее, бесспорно, но реализаций, совместимых и (в основном) не особо — будет вагон и немаленькая такая тележка.
Соответственно и итоговый профит сомнительный.
Сейчас есть куча REST-совместимых API к базам данных. CouchDB, Riak, MongoDB. Они (API) все несовместимы не от хорошей жизни, а, как минимум, потому что базы разные (кэп, да), запросы и потребности разные, и функционал баз данных абсолютно разный. Грести их все под одну гребенку — получим никому не нужную (см. мой первый коммент), но стандартизированную (sql тоже стандартизирован, и че? Диалекты, реализации, версии, десяток реализаций, сотня врапперов) спецификацию.
> Представьте себе стандартную API для получения мыла из эксчейнджа, гугла, мсн, меилру, и т.п. — разве не счастье?
Не выйдет. В эксчейндже будет indexof, в гугле indexOf, в msn не будет ни того, ни другого, а будет TheIndexOf, в мейлру не будет вообще. В итоге напишут враппер для всех четырех (что за подборка-то? ужас), который будет эмулировать часть функций путем предкеширования на левом сервере. И снова — не нужно.
Мы уже сыты всеми возможными способами коммуникаций, костылями к ним, патчами и фиксами. Хочется иметь один (как HTTP) протокол, который везде будет значить одно и то же. У oData все шансы стать им. Меня (и мою компанию) он устраивает, и поэтому я приложу все усилия для его продвижения и стандартизации.
P.S. К примеру, браузеры уже поняли провальность своей войны — все движковые префиксы скоро канут в лету.
> API для получения мыла из эксчейнджа, гугла, мсн, меилру, и т.п. — разве не счастье?
Чё-т я пропустил ключевое слово.
Для получения мыла уже есть два API — pop3 и imap. Если копать глубже, нароем pop4 и почти с десяток версий imap. Хотите еще одно API? To rule them all? Ну тогда у нас будет +1 API для получения почты.
Экранирование параметров в примере забыли. Если для красоты отображения, можно было не в урле зарисовывать. Меня, например, мутит при взгляде на такие типаурлы. Вроде и урл, а экранировать забыли. Соответственно, копипаст перед 'curl' в консоль что-то да сломает.
OASIS стандартизует открытый протокол OData