- PVSM.RU - https://www.pvsm.ru -
Open Data Protocol (OData [1]) – это открытый веб-протокол для запроса и обновления данных. Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, и обмениваться данными в форматах JSON или XML.
OData является одним из лучших стандартов для создания RESTful API.
Вы можете запрашивать данные используя простые HTTP запросы, например:
http://nitrosdata.com/service/testdb/person?$filter=firstname eq «Lamar» [2]
Найти всех людей по имени Lamar.
OData позволяет задавать огромное число параметров, которые позволяют сформировать очень сложные запросы к источнику данных, например:
http://nitrosdata.com/service/testdb/book?$filter=publisher/president/likes/author/firstname eq 'Georgie'&$top=10&$orderby=title [3]
Выбрать все книги, удовлетворяющие следующему условию: президент издательства в котором издана книга, любит книги некоего автора с именем “Georgie”. Результат запроса необходимо отсортировать по названию, выдать первые 10 книг.
Язык запросов OData сопоставим по мощности с SQL.
В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые.
В частности, с OData работают такие JavaScript библиотеки, как Kendo UI [4], DevExtreme Web [5], Syncfusion HTML5 controls [6], Infragistics HTML5 controls [7], OpenUI5 [8], Wijmo [9], JayData [10], Breeze.js [11], datajs [12], ODataJS [13], angular-odata [14], и т.д. Существуют также библиотеки для Java, .NET, C++, Python, Objective-C и т.д.
Многие из этих библиотек существенно упрощают разработку сложных приложений благодаря стандарту OData. Например, достаточно грид контролу указать URL к серверу OData и все остальное он сделает сам: пэйджинг, сортировку, добавление- модификацию-удаление записей, фильтрацию данных, группировку и т.д.
NitrosBase.js – это готовый к употреблению OData сервер. Он дает возможность создать базу данных, добавить произвольные JSON объекты без описания схемы данных, и делать OData запросы для получения и модификации данных.
Классический сценарий использования NitrosBase.js – это быстрая разработка прототипов приложений, работающих с OData сервером. При разработке прототипа Вы можете просто положить необходимые контролы на форму, и они сразу же работают без создания серверных кодов. Если Вы добавляете, удаляете поля в JavaScript объектах, модифицирует связи между объектами Вам не придется менять схему базы данных и модифицировать серверные коды. В тоже время он позволяет выполнять запросы любой сложности.
Разработав живой прототип приложения Вы получаете полную спецификацию Вашего API и устоявшуюся схему данных. Теперь Вы можете приступить к разработке сервера или оставить NitrosBase.js
NitrosBase.js – это наш новый проект (http://nitrosdata.com [15]) и мы хотели бы услышать рекомендации сообщества по улучшению и развитию проекта.
Автор: NitrosData
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/83339
Ссылки в тексте:
[1] OData: http://www.odata.org/
[2] http://nitrosdata.com/service/testdb/person?$filter=firstname eq «Lamar»: http://nitrosdata.com/service/testdb/person?$filter=firstname%20eq%20%22Lamar%22
[3] http://nitrosdata.com/service/testdb/book?$filter=publisher/president/likes/author/firstname eq 'Georgie'&$top=10&$orderby=title: http://nitrosdata.com/service/testdb/book?$filter=publisher/president/likes/author/firstname%20eq%20%27Georgie%27&$top=10&$orderby=title
[4] Kendo UI: http://www.telerik.com/kendo-ui
[5] DevExtreme Web: http://js.devexpress.com/webdevelopment/
[6] Syncfusion HTML5 controls: http://www.syncfusion.com/products/javascript
[7] Infragistics HTML5 controls: http://www.infragistics.com/products/jquery
[8] OpenUI5: http://openui5.org/
[9] Wijmo: http://wijmo.com/
[10] JayData: http://jaydata.org/
[11] Breeze.js: http://www.getbreezenow.com/
[12] datajs: http://datajs.codeplex.com/
[13] ODataJS: http://olingo.apache.org/doc/javascript/
[14] angular-odata: https://github.com/rangelier/angular-odata
[15] http://nitrosdata.com: http://nitrosdata.com
[16] Источник: http://habrahabr.ru/post/250913/
Нажмите здесь для печати.