Andrej Koelewijn

  • Home
  • About
  • Departments
    • cloud
    • java
    • mobile
    • open standards
    • oracle
    • oss
    • other
    • soa
    • software development
    • tablet
    • Uncategorized
    • web
  • Subscribe via RSS

REST is a distributed data model

February 12th, 2009  |  Published in open standards, soa  |  7 Comments

I’m sure some will not agree with my statement, and some will think, duh, that’s so obvious, but i think this needs to be said: REST is a distributed data model.

REST is not a simplified way to implement Web Services. It’s also not a way to call Remote Procedures with a Javascript friendly syntax.

Let’s look at the facts:

  • REST is about resources. Resource is just another word for object, or record.
  • REST is also about URLs. URLs that identify resources. Just like ids can identify objects or records.
  • And, often overlooked, REST is also about links. Resources use URLs to link to other resources. Just like foreign keys can link records to other records.

Again: resources, urls, and links. Similar to records, primary keys and foreign keys. All accessible with a few standardized operations, in multiple formats.

Organisations can publish data models, which can have links to data models of other organisations. So now you can have data models that are not limited to one database inside an organisations, but spread out over a large number of organisations. A true common model for a vertical. For example, a governmental data model which integrates all data stored in different parts of the government (oops, maybe too scary…)

Now, what good is a data model, without a good way to query it?

I think Yahoo Query Lanuage (YQL) might shows us the future of query engines. It might right now not be everything we need to query REST data models, but it sure shows that it’s possible to have a query engine that allows you to query REST resources. Such a query engine would enable you to join a number of distributed resources and simply find the data your need. Something like:

select *
from   rest r1
,      rest r2
where  r1.url = "http://taxes.gov/companies"
and    r3.url = "http://sandiego.gov/companies"
and    r3.tax_company_url = r1.company

Now, there are a lot of issues to solve before this is a reality, security and performance for example, but it would be really powerful if the internet could be turned into one big database.

So, as you can see, REST is a true architectural alternative to other ways of doing SOA: message queueing and remote procedure calls. Not just a simpler alternative.

A lot more good info on REST can be found in Stefan’s Tilkov REST presentations.

Share and Enjoy:
  • del.icio.us
  • Google Bookmarks
  • DZone
  • SphereIt
  • StumbleUpon
  • Technorati
  • LinkedIn
  • HackerNews
  • PDF
  • Digg
  • Facebook
  • FriendFeed
  • Posterous
  • Tumblr
  • Twitter
  • RSS
  • Shahar Solomianik
    That's fascinating!
  • Anders Nawroth
    This is interesting with regard to what Martin Fowler thinks about databases and integration: "If you switch your integration protocol from SQL to HTTP, it now means you can change databases from being IntegrationDatabases to ApplicationDatabases."
    See: http://www.martinfowler.com/bliki/DatabaseThaw....
  • akoelewijn
    Thx for the link, interesting article. If we ever get good REST query engines, we can have our cake and eat it too:
    * application databases, no more integration in the database
    * an integrated view, which allows us to use a simple set based query language to query from these loosely coupled databases.
  • Anders Nawroth
    I commented further in a blog post, mainly on the article by Tony Bain. http://blog.nawroth.com/2009/02/future-of-rdbms...
  • andrejk

    On a smaller scale: the smallest, but most trusted, social network is my own social data. I think it would be very useful if google would use my delicious bookmarks, or friendfeed data, when it returns search results. Anything i bookmarked with delicious should score high in google results if it is relevant to my search terms.


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6338775" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • Hutch Carpenter

    Jake - this is something that I think works well inside an enterprise as well. For a couple reasons:


    1. You hit on the creepiness factor. It’s more natural inside an organization.

    2. The need to have access to actions that provide the implicit social graph.


    On #2, let me elaborate. Not everyone is going to take the time to update their explicit connections. A better solution is to capture connections between people based on what they do normally. If I’m regularly clicking/rating/commenting on your content, there’s a good chance you’re at least part of my "informaiton graph" if not my social graph as well.


    Next time I run a search, it would make sense to see your content at the head of the line if you have something related.


    I also think of another aspect. Even if your content is of lower quality (i.e. few ratings, clicks or comments), there’s a good argument that it should be included higher in my search results assuming you are stronger in my social graph. Why? Because I’m comfortable reaching out to you for more information to make up for shortfalls in the information your content provides. We can discuss what I’m looking for. I won’t do that with a colleague whom I don’t know from elsewhere in the organization.


    I articulate this more fully in this blog post, Social-Filtered Search: http://bit.ly/42pjnQ


    BTW - I was formerly the product marketing manager for BEA Systems Pathways social search. Which is now Oracle, of course!


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6338958" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • Jake

    Yeah, they could do a lot with discovery to help you find new information. This would be a way to push their own bookmarking service. It does make sense to constrain the social data to what you provide, without including other people’s stuff.


    Maybe Yahoo will finally do something with Delicious :) Don’t hold your breath though.


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6340219" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • Jake

    There definitely will need to be a way to draw people into participating beyond just asking them and talking about how useful it is. What you suggest might work, and there are some other tools that we can use to nudge people into interacting.


    I’m hoping to test this out a bit on Connect first.


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6340334" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • joel garry

    Sortasyncronicity - this digg is on the right column of this page: http://feeds.digg.com/~r/digg/container/technol…;


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6358173" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • Jake

    Yeah, I saw that in my reader earlier today. At some point soon (12-18 months), the networks are going to have to pour buckets of money into better security and authentication and controls to keep out the baddies.


    Exactly why some people only consume within the firewall, not that it’s 100% safe and secure, but at least you’re protected by HR and Legal.


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6360601" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • Ophir

    Brilliant, thank you.


    This comment was originally posted on <a href="http://debasishg.blogspot.com/2009/03/your-data-model-can-speak-different.html?showComment=1236034260000#c3973217240704996744" rel="nofollow" title="“Your data model can speak different languages too” (http://debasishg.blogspot.com/)">Ruminations of a Programmer

  • product usability

    Google should still have alot of things to discover because there are still alot of things that you can’t search in the google. It should have a huge of meaning per tpoic to enhance the knowledge of each readers.


    This comment was originally posted on <a href="http://theappslab.com/2009/02/17/more-on-social-search/#comment-6884738" rel="nofollow" title="“More on Social Search” (http://theappslab.com/)">AppsLab</p>

  • charlieC

    Thank you for highlighting this much forgotten issue about user-defined queries on K/V DBs.


    While some headaches with scaling RDBMs can be solved by replacing it with a K/V store, indexing/searching such a database is still cumbersome.


    As you said, CouchDB solves this by it’s map/reduce views. Not sure about the performance on this, but it really has potential.


    This comment was originally posted on <a href="http://debasishg.blogspot.com/2009/03/your-data-model-can-speak-different.html?showComment=1236852660000#c877261993857399102" rel="nofollow" title="“Your data model can speak different languages too” (http://debasishg.blogspot.com/)">Ruminations of a Programmer

blog comments powered by Disqus

Tags

bi bpel camel cep css dsl esb esper google governance grails groovy gtalk html5 innovation internet ipad ivy java javascript jaxrs jersey jigsaw jquery linkeddata linux middleware mule noiv openoffice openweb oracle osgi oss plsql rdbms rest smack soa sql sun tablet web 2.0 xmpp yql

Archives

  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Recent Posts

  • So you think it’s the iPad that’s missing features?
  • iPad is THE couch-device
  • Will they still like tablet 2.0?
  • Do you know who your customers are?
  • Usability: a must have, not a nice to have

Categories

  • cloud
  • java
  • mobile
  • open standards
  • oracle
  • oss
  • other
  • soa
  • software development
  • tablet
  • Uncategorized
  • web

Recent Comments

  • andrej on So you think it’s the iPad that’s missing features?
  • Dave on So you think it’s the iPad that’s missing features?
  • andrej on So you think it’s the iPad that’s missing features?
  • Fernando on So you think it’s the iPad that’s missing features?
  • andrej on So you think it’s the iPad that’s missing features?

RSS Friendfeed

  • SublimeVideo: Demoing the Future of HTML5 Video February 7, 2010
    andrej koelewijn SublimeVideo: Demoing the Future of HTML5 Video - http://www.readwriteweb.com/archive... 14 hours ago from Google Reader - Comment - Like […]
    FriendFeed
  • The War on Interruptions, an Excerpt from “Switch: How to Change Things When Change Is Hard” February 7, 2010
    andrej koelewijn The War on Interruptions, an Excerpt from “Switch: How to Change Things When Change Is Hard” - http://www.techcrunch.com/2010... 21 hours ago from Google Reader - Comment - Like […]
    FriendFeed
  • RT @edwk: Building HTML5 Webapps http://bit.ly/aamFgK some great tips #html5 February 7, 2010
    andrej koelewijn RT @edwk: Building HTML5 Webapps http://alexbosworth.net/post... some great tips #html5 yesterday from Twitter - Comment - Like […]
    FriendFeed
  • Alex Bosworth's Weblog - Building HTML5 Webapps February 7, 2010
    andrej koelewijn Alex Bosworth's Weblog - Building HTML5 Webapps - http://alexbosworth.net/post... yesterday from Google Reader - Comment - Like […]
    FriendFeed
  • Beautiful Motion Graphics Created With Programming: Showcase, Tools and Tutorials February 7, 2010
    andrej koelewijn Beautiful Motion Graphics Created With Programming: Showcase, Tools and Tutorials - http://www.smashingmagazine.com/2010... yesterday from Google Reader - Comment - Like […]
    FriendFeed
  • New Whitepaper: Architecting for the Cloud: Best Practices February 6, 2010
    andrej koelewijn New Whitepaper: Architecting for the Cloud: Best Practices - http://aws.typepad.com/aws... Saturday from Google Reader - Comment - Like […]
    FriendFeed
  • The Future of Web Content – HTML5, Flash & Mobile Apps February 6, 2010
    andrej koelewijn The Future of Web Content – HTML5, Flash & Mobile Apps - http://www.techcrunch.com/2010... Saturday from Google Reader - Comment - Like […]
    FriendFeed
  • The Days of Miracles and Wonder February 6, 2010
    andrej koelewijn The Days of Miracles and Wonder - http://www.eod.com/blog... Saturday from Google Reader - Comment - Like […]
    FriendFeed
  • AT AT Walking with CSS February 5, 2010
    andrej koelewijn AT AT Walking with CSS - http://ajaxian.com/archive... Friday from Google Reader - Comment - Like […]
    FriendFeed
  • “Ultimate Mashup” a Glimpse into the Future February 5, 2010
    andrej koelewijn “Ultimate Mashup” a Glimpse into the Future - http://blog.programmableweb.com/2010... Friday from Google Reader - Comment - Like […]
    FriendFeed


©2010 Andrej Koelewijn
Powered by WordPress using the Gridline Lite theme by Graph Paper Press.