Comments (3)
OData's greatest strength is that it enables fairly rich ad hoc queries over your entire dataset. OData's greatest weakness is that it enables fairly rich ad hoc queries over your entire dataset. For internal applications, OData is usually quite quick to set up and there are some useful tools for doing ad hoc exploration of the dataset.
For public applications, I would caution against shipping an OData endpoint. From personal experience, the right way to think about an OData endpoint is as a SQL connection string over HTTP. Once you ship an OData endpoint, your users will be free to query/filter/sort over your data in any way that they choose from now until the end of time. If you ever discover that particular use cases would benefit from optimization, good luck because you'll have to write code to spot specific query patterns and route them to a different processor than the generic OData one.
from staash.
Odata seems to be more focussed on navigating connected entities and is oriented towards being meta-data driven , from the general use-case point of view it would seem like a bit of an overhead for some of the scenarios we had in mind, though it does provide a higher level abstraction and is a great fit for certain situations, eventually the application will be coupled with odata service via the metadata and links in the responses. Thanks for the pointers , I will take a look at those in more detail.
from staash.
some years later, as OData and the internet have changed; I'd say the above mentioned reasons no longer apply
if you need an optimization endpoint, you can just make an new entity type for browsing the optimized results
as far as publishing, you can have pretty good security going on with OAuth now so if you really need, just have expiring authentication tokens and access tokens
OData is a good API as long as your API is geared toward sharing data. if the main focus is triggering actions through web services, OData is not well suited for that. for example transactional, multi-step APIs in which you generate/send/create entities the API will operate on
for example mass geocoding could be done through OData but it would not be very natural to shoehorn bulk data input in
from staash.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from staash.