Andrej Koelewijn

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

Want to find your data? Use REST

December 15th, 2008  |  Published in open standards, soa  |  7 Comments

I think the most important feature of the web is the fact that it’s based on open standards, so everybody can participate. It brings the whole world together. But another and just as important feature of the web is that all the information is out in the open, and linked together using hyperlinks. This enables search engines to crawl the web and find all information. And this enables you to find all information.

In my opinion the web would be a lot less useful if you couldn’t find so much information through search engines. Imagine that you have to access all information through human created directories like the yahoo of 12 years ago or dmoz. You wouldn’t be able to find 1% of all the information you can find right now. Sites would be listed under one or two categories, and you’d never find it if you were looking for something else, even though the site might also have some useful information on that topic.

To be able to auto discover information by crawling the information in extremely useful. With the rise of Ajax and RIA’s implemented using Flex and Silverlight i was afraid that we would go back in time, and not be able to find our information anymore. Back to the desktop and the enterprise, were information is pretty much hidden inside applications. If you want to find something, most of the times you have to start the appropriate application and look for it there.

Enterprise search products have tried to solve this problem, but they have a serious problem. It’s almost impossible to crawl the information in an enterprise. Instead these enterprise search solutions need plugins for every application that they need to index. This might work inside an enterprise, but it’s costly if you need to create a large number of plugins for custom applications and databases. And it certainly doesn’t scale to the size of the internet.

Now that we are moving towards RIAs and SOA underneath, chances are big that information will be locked up again. These appication hard to crawl, and data made available through WS-* services are hard to discover and crawl.

But there is a solution: REST or RESTfull HTTP. Services and data made by applying the REST architecture will be crawl-able and thus discoverable. RESTfull HTTP has some very important aspects that enable this:

  • Standardized API. The API consists of GET, PUT, POST and DELETE. Every resource can be retrieved using a GET operation. You do not have to extend search engines with new plugins for new applications, as every application uses the same operations.
  • Links. REST requires resources to have links to other resources. This enables data crawling and discovery of data.
  • Different representations: Resources can be fetched in the representation most appropriate for the search engine. This could be xml, json or something else.

By implementing SOA based on the REST principles, data in the enterprise will be a lot more findable than it is today!

  • http://www.plmtwine.com/ Oleg Shilovitsky

    Hi, very good point about REST and Enterprise. How do you see existing Enterprise Apps will move to REST-full architecture?

    REST Regards,
    Oleg
    http://www.plmtwine.com

  • http://www.plmtwine.com Oleg Shilovitsky

    Hi, very good point about REST and Enterprise. How do you see existing Enterprise Apps will move to REST-full architecture?

    REST Regards,
    Oleg
    http://www.plmtwine.com

  • http://www.andrejkoelewijn.com/ akoelewijn

    Interesting question. REST adoption is increasing, but mostly because SOA based on WS* standards is often seen as too complex. So people turn to REST, but usually just to HTTP-RPC, which isn’t exactly the same thing as REST. For one, it lacks the very important aspect of being crawl-able.

    Anyway, WS* is still very much dominating the SOA world, and not many people are familiar with the crawl-able aspect of REST, so I don’t think this will make enterprise apps adopt REST.

    However, it’s easier to create browser based composite applications using REST, and this will be more important for the adoption of REST.

  • http://www.andrejkoelewijn.com/ akoelewijn

    Interesting question. REST adoption is increasing, but mostly because SOA based on WS* standards is often seen as too complex. So people turn to REST, but usually just to HTTP-RPC, which isn’t exactly the same thing as REST. For one, it lacks the very important aspect of being crawl-able.

    Anyway, WS* is still very much dominating the SOA world, and not many people are familiar with the crawl-able aspect of REST, so I don’t think this will make enterprise apps adopt REST.

    However, it’s easier to create browser based composite applications using REST, and this will be more important for the adoption of REST.

  • Pingback: SOA is not dead, were still in the early adopter phase :: Andrej Koelewijn

  • Pingback: Tim Berners-Lee on Linked Data :: Andrej Koelewijn

  • Sunil G

    Interesting article.
    I read through a lot of articles on REST in last couple of days; this one showed a new facet / application of REST.

Tags

activemq agile bi camel css esb google governance grails groovy gtalk html5 internet ipad ivy J2EE java javascript jaxrs jmx jquery lean linkeddata linux maven mule noiv openoffice opensource Open Source oracle osgi oss rdbms rest scrum servicemix soa sql svg tablet web 2.0 XML xmpp yql

Archives

  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • June 2010
  • March 2010
  • February 2010
  • 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
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005

Meta

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

Recent Posts

  • Self-service architecture to avoid water-scrum-fall
  • Updating a vagrant box
  • Using littleproxy in Mule unit tests
  • Useful site to determine what html5, css3 & svg you can use
  • A Product Owner is a Project Manager

Categories

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

Recent Comments

  • From DevOps to NoOps to NoCollabs :: Andrej Koelewijn on LAC2011 presentation: Scrum under Architecture
  • andrej on Software architecture, PHP and Javascript
  • Pcdiggs on Software architecture, PHP and Javascript
  • Een Scrum Product Owner is een Project Leider on A Product Owner is a Project Manager
  • Using css webfonts in inkscape :: Andrej Koelewijn on Create presentations using inkscape
Buzz
andrkoel: Utrecht hele dag mist, scheveningen zomerse dag... http://t.co/cDRCJHr9
4:35 PM Nov 10, 2011, comment
andrkoel: RT @stefanvdkamp: Beter filmpje van Garret McNamara in de 30 meter hoge golf. http://t.co/9abiWkYX
9:20 AM Nov 10, 2011, comment
andrkoel: Mmm, een uur voor den haag - leiden lijkt te weinig, ga mijn afspraak niet redden...
7:34 AM Nov 10, 2011, comment
andrkoel: Big Data is Useless without Science http://t.co/2I8EiLsH
6:18 AM Nov 10, 2011, comment
andrkoel: Just tried #vagrant to quickly setup virtualbox development environment. Looks good, although provisioning apache through puppet failed...
10:47 PM Nov 09, 2011, comment
 


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