LINUX.ORG.RU
ФорумTalks

Microsoft делает клиент OData открытым


0

0

Совсем недавно Microsoft сделала заявление, что её отношение к сообществу opensource меняется. И подтверждение этих слов не заставило себя долго ждать. Microsoft открывает исходные кода клиента для протокола Open Data Protocol (OData). Итак, что же это за протокол и чем он выгодно отличается от решений конкурентов?

Во-первых, несколько слов о подходе. Сейчас разработчики веб-ресурсов вынуждены определять, какая информация может быть получена и как она будет представлена (подходы REST и SOAP). Проблема в том, что у разработчиков нет времени на отображение именно той информации, которая нужна пользователю - обычно информация выдаётся с излишком, который вынуждены обрабатывать пользователи и другие разработчики. Более того, сейчас очень мало веб-сервисов с поддержкой запросов на сервере, что делает доступ к информации ещё более усложнённым.

Протокол OData использует несколько другой подход. Для любой конечной точки сервиса на основе OData (например, http://odata.netflix.com/Catalog/CatalogTitles) можно сделать запрос на выдачу информации с обработкой результатов (например, ограничить диапазон или указать что-то конкретное).

Например:

  • фильмы, выпущенные в этом году ($filter=ReleaseYear eq 2010);
  • фильмы, выпущенные в этом году, со словом «банк» в описании ($filter=substringof('bank',Synopsis) and ReleaseYear eq 2010).

Microsoft предоставляет клиентские библиотеки для большого числа платформ: JavaScript, Java, PHP, .NET и Objective-C bindings. А с настоящего момента доступны и исходные коды клиентской библиотеки для .NET под лицензией Apache 2. Как уже заявил Мигель де Икаса в своём блоге, он намерен в ближайшее время включить поддержку открытого протокола в платформу Mono в библиотеку System.Data.Services.

Как видно, протокол OData выгодно отличается от конкурентов своими возможностями по выполнению запросов. Именно благодаря этому, хранящуюся на сервере информацию можно сделать легко обрабатываемой для пользователей и поднять качество веб-сервисов на определённо новый уровень. Сервеная часть пока что остаётся закрытой, но спецификации протокола открыты и любой желающий может их реализовать. IBM уже реализовала серверную часть протокола в WebSphere.

Информация об OData на MIX Sessions.

Подробное описание протокола.

Перемещено Aceler из OpenSource

★★★★

Закапать?

Все новое - забытое старое... я помню еще в bootp такой подход :)

И где же инновации??? Опять велик, Scheiße!

fi ★★★
()

Эм, нанотехнологии где?

Zhbert ★★★★★
()
Ответ на: Закапать? от fi

>>Все новое - забытое старое... я помню еще в bootp такой подход :)

Причём тут bootp? Тут речь о крупных веб-сервисах уровня Ынтерпрайз.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Manhunt

>>А OData реально работает?

Да. Я же написал, что уже IBM и серверную часть реализовала. Это новый подход в архитектуре сервисов - пользователь может сам сформировать нужную ему инфу в нужном виде.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Manhunt

И там ещё по ссылке есть видео с примером разработки.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

> А где реально работающие аналоги?

у нас есть например. это же не сложно

namezys ★★★★
()
Ответ на: комментарий от KDE41user

>>Они изобрели xml-rpc? Слава!

Это ведет к чрезмерному усложнению протокола и усложняет поддержку сервиса. В серьезных конторах это не используют.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

> Это ведет к чрезмерному усложнению протокола и усложняет поддержку сервиса. В серьезных конторах это не используют.

обосновать можно?

namezys ★★★★
()
Ответ на: комментарий от Manhunt

>>Где? Перечисли крупные проекты, которые его реально используют.

http://www.odata.org/producers

Проект молодой, только начинает развиваться. И это без учета внутрикорпоративных решений.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от namezys

>>обосновать можно?

А что тут обосновывать? Если бы ты плотно возился с этим, то знал бы, что rpc ведет к укрупнению сервисов, в итоге приходится все пичкать вместе, как следствие ментейнить такое становится все сложнее, не говоря уже про удобство расширяемости/масштабируемости.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

> Если бы ты плотно возился с этим, то знал бы, что rpc ведет к укрупнению сервисов, в итоге приходится все пичкать вместе, как следствие ментейнить такое становится все сложнее, не говоря уже про удобство расширяемости/масштабируемости.

У нас все работает через rpc. Проблем нет

namezys ★★★★
()
Ответ на: комментарий от MuZHiK-2

>>Они изобрели xml-rpc? Слава!

Это ведет к чрезмерному усложнению протокола и усложняет поддержку сервиса. В серьезных конторах это не используют.

Ясно, что ведет к усложнению. Затем и придумали рест. Теперь внимательно читай свою новость:

Для любой конечной точки сервиса на основе OData (например, http://odata.netflix.com/Catalog/CatalogTitles) можно сделать запрос на выдачу информации с обработкой результатов

запрос [...] с обработкой результатов

Чем _принципиально_ это отличается от рпс и почему оно не усложняет поддержку? Я должен знать, какие фильтры накладывать, так чем оно отличается от знания функций, которые нужно вызывать? Меньше хмл-а гоняет? Так исправят к следующей версии.

KDE41user
()
Ответ на: комментарий от namezys

>>У нас все работает через rpc. Проблем нет

Я не говорю, что для каких-то небольших контор это не подходит. Но надо понимать, что у всего есть свой разумный предел.

MuZHiK-2 ★★★★
() автор топика

> Microsoft делает клиент OData открытым

Microsoft

открытым


Microsoft делает



ну вы понели

QUANTUM
()
Ответ на: комментарий от MuZHiK-2

> Я не говорю, что для каких-то небольших контор это не подходит. Но надо понимать, что у всего есть свой разумный предел.

Чем плох rpc при модульности сервера?

namezys ★★★★
()
Ответ на: комментарий от KDE41user

>>Ясно, что ведет к усложнению. Затем и придумали рест.

Ты собираешься в крупной компании или крупные сервисы строить на голом ресте? Лучше сразу в биореактор.

Чем _принципиально_ это отличается от рпс и почему оно не усложняет поддержку? Я должен знать, какие фильтры накладывать, так чем оно отличается от знания функций, которые нужно вызывать? Меньше хмл-а гоняет? Так исправят к следующей версии.

OData может работать и в стиле rpc. Сюрприз? Вся мощь OData заключается в том, что у нее есть спеки, в отличие от реста. Ты можешь использовать OData как обычный рест, можешь как rpc - и все это без того геморроя, который им присущ. Это универсальное средство.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от namezys

>>Чем плох rpc при модульности сервера?

Тем, что ограничивает способы работы с сервером.

MuZHiK-2 ★★★★
() автор топика

> Microsoft открывает исходные кода клиента для протокола Open Data Protocol (OData).

А где информация об этом по ссылке?

Aceler ★★★★★
()
Ответ на: комментарий от MuZHiK-2

>голом ресте

есть спеки, в отличие от реста.

Ты упоротый. REST - это подход к архитектуре, не более. Протокол есть, библиотек, работающих с http, тысячи. Какие тебе спеки нужны и в чем «голость» реста?

KDE41user
()
Ответ на: комментарий от Aceler

>> Microsoft открывает исходные кода клиента для протокола Open Data Protocol (OData).

А где информация об этом по ссылке?

А зачем? Кто по ним ходит?

З.Ы. Не сноси плз, лучше в толксы перенеси =)

KDE41user
()
Ответ на: комментарий от MuZHiK-2

>>Все новое - забытое старое... я помню еще в bootp такой подход :)

Причём тут bootp? Тут речь о крупных веб-сервисах уровня Ынтерпрайз.

bootp - это самый самый Ынтерпрайзный протокол :)) - где ты видел крупную контору без bootp/dhcp??? Это даже более Ынтерпрайзно чем SOAP, и уж тем более чем OData.

а подписка на данные - так таких протоколов штук тысяча :)) к примеру, все *MQ так работают. LDAP - так же. Да и в SOAP-e я делал тоже самое :)

Вывод: ВЕЛОСИПЕД!!!

fi ★★★
()
Ответ на: комментарий от KDE41user

>>Ты упоротый. REST - это подход к архитектуре, не более. Протокол есть, библиотек, работающих с http, тысячи. Какие тебе спеки нужны и в чем «голость» реста?

Ты сам только что обосрал самого себя. Вот именно, что рест - это архитектура, поэтому и нету никаких четких спек. Каждый делает это по своему. Конечному клиенту не нужны тысячи либ - ему нужно чтобы работало и четко.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от nikotyn

>>Нигде, в этом треде, под шумный заголовком, просто пиарится OData.

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

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от fi

>>bootp - это самый самый Ынтерпрайзный протокол :)) - где ты видел крупную контору без bootp/dhcp??? Это даже более Ынтерпрайзно чем SOAP, и уж тем более чем OData.

Причем здесь оно, спрашиваю еще раз? Каким образом оно предоставляет мне веб-сервисы?

а подписка на данные - так таких протоколов штук тысяча :)) к примеру, все *MQ так работают. LDAP - так же. Да и в SOAP-e я делал тоже самое :)

OData - это не только подписка на данные. Это и обычные рест запросы. Читай ссылку до просветления.

Вывод: ВЕЛОСИПЕД!!!

Вывод: ты не в теме.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Каждый делает это по своему.

Если сабжевый протокол нужен, чтобы унифицировать доступ к всем вебсервисам, то так и напиши, посмеемся вместе. А если каждый Вася Пупкин будет делать себе локальное решение, то каким боком его сервис будет совместим с сервисом Пети Дупкина?

KDE41user
()
Ответ на: комментарий от KDE41user

>>Если сабжевый протокол нужен, чтобы унифицировать доступ к всем вебсервисам, то так и напиши, посмеемся вместе. А если каждый Вася Пупкин будет делать себе локальное решение, то каким боком его сервис будет совместим с сервисом Пети Дупкина?

Идея не в унификации сервисов, в в унификации ДОСТУПА к сервисам + получение только НУЖНОЙ мне инфы от сервиса при необходимости. При этом тебя не ограничивают, как работать с сервисом - через rpc, через rest.

MuZHiK-2 ★★★★
() автор топика

>под лицензией Apache 2

Закопать.

vkos ★★
()
Ответ на: комментарий от Manhunt

>>Кстати, что там с патентной чистотой? Open Specification Promise?

Да, выпускается под OSP. Так что с патентами все в порядке. Другой вопрос в том, что оно еще не стандартизировано, но это вопрос времени. Office 2010, например, уже использует OData.

MuZHiK-2 ★★★★
() автор топика

Тоесть это просто веб-сервисы со встроенными запросами-фильтрами? Революционно ) В стиле МС. Даже название особое придумали. Скоро Блокнот переименуют в «Windows Text Editing Services», обзовут аббревиатурой MTES и сделают портал и сообществом пользователей, а также коммерческую версию с подсветкой Visual Basic за $99. За такую же сумму можно лицензировать пиратскую версию MTES

ms_product = quality + 1000*marketing

vertexua ★★★★★
()
Ответ на: комментарий от MuZHiK-2

> Причем здесь оно, спрашиваю еще раз? Каким образом оно предоставляет мне веб-сервисы?
а при чем тут веб-сервисы??? я про подход :)

OData - это не только подписка на данные.

А и целый килограмм диетического ....

Читай ссылку до

сам читай, мне не нужно, накал чушь, теперь сам ее жуй.

зы. И так, всё же это ВЕЛОСИПЕД!!!

fi ★★★
()
Ответ на: комментарий от KDE41user

> А зачем? Кто по ним ходит?

Модераторы, проверяют источники новости. Кстати, на сайте слово Microsoft упоминается только в FAQ. Хорошо.

Aceler ★★★★★
()
Ответ на: комментарий от MuZHiK-2

> Клиент OData действительно открыли под апачевской лицензией, ссылку я уже указал, можешь там и видео посмотреть, послушать умных людей.

Это классно, но это было неделю назад. Как бы не новость.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

>>Это классно, но это было неделю назад. Как бы не новость.

А какой-нибудь баян про «изменение политики мс» пятидневной давности - это новость? Или про очередной недельный срез вайн - тоже новость?

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Да, выпускается под OSP. Так что с патентами все в порядке.

Да ладно, можно закапывать, открыли под APL2 только «коды клиентской библиотеки для .NET» - без сервера работать собственно не будет. :)

fi ★★★
()
Ответ на: комментарий от fi

>>Да ладно, можно закапывать, открыли под APL2 только «коды клиентской библиотеки для .NET» - без сервера работать собственно не будет. :)

Спеки на сервер в открытом доступе - пиши как хочешь и под любой лицензией.

MuZHiK-2 ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.