Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Data Services, Facebook and Beatiful Architecture

I had one of those rare AHA! moments while I was reading Dave Fetterman's chapter from the "Beautiful Architecture" book on Facebook's architecture.  Facebook presents a simplified view of its data to applications (Users, Friends, User Info) and allowes them to query it using its own SQL-like language, FQL. An application's output is rendered in FBML, which is HTML extended with Facebook-specific tags like "tabs" or "put-my-friends-books-here". This allows Facebook both to integrate the application with its own UI and, more importantly, include data like my friend's books, that an application is not normally allowed to query due to privacy concerns.

While reading the chapter I realized that Facebook's approach to exposing its data was similar to Microsoft's ADO.NET Data Services.  ADO.NET Data Services is an attempt to expose an application's data to third-party applications. By using EF, ADO.NET Data Services provides third party applications with a simplified model of the data, just as Facebook does with Users, Friends and User Info. Using REST allows the data to be integrated in third party applications with minimal fuss. All you need to do to expose your application's data to others is create a simplified entity model for it and expose it through REST. You can also define operations on the object model that other applications can call, all inside the simplified entity model.

When seen as an alternative to web services, Data Services looks like a technology with limited applications. Accessing my data through REST, bypassing all my UI or web service logic just seems weird. Do I really want to expose my database to the world? Nobody but me (or my colleagues) can understand the model, so what was the point? And allowing code to call object methods through REST? Is that a recipe for disaster or what? Those were just a few of the criticisms directed at ADO.NET data services.

BUT, when seen from Facebook's perspective Data Services starts to make sense.  Data Services is not about exposing your application's inner working. It's not about caching (although that's an incidental benefit). It's about exposing your data through a limited API to other applications!  

So THAT is what Microsoft is trying to achieve with ADO.NET Data Services!

Έχουν δημοσιευτεί Δευτέρα, 26 Ιανουαρίου 2009 11:19 πμ από το μέλος Παναγιώτης Καναβός
Δημοσίευση στην κατηγορία: , ,

Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

# re: Data Services, Facebook and Beatiful Architecture

Every time you publish lately, the more you keep distance from traditional OOP business modeling.

Δευτέρα, 26 Ιανουαρίου 2009 10:02 μμ by napoleon

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο) 
απαιτούμενο 
(απαιτούμενο) 
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image