
Something to try
Next time you start an application, why not create a subdomain for your data tier, create a script for each SQL query and call it via HTTP (honestly you won't notice a speed difference), similarly expose all static files your system uses on the same (or a different) sub domain. Here's the advantages:
- You can scale without changing your application
- You can swap servers without changing your application
- You can move data around your server and take advantage of all the HTTP servers features.
- You can cache your resources and utilize HTTP caching.
- You can distribute or relocation your application anywhere on the net without worrying about data.
- You can migrate over to different data systems (swap database vendors etc) without changing your application.
- You can call every resource on the web in the same manner, from APIs through to linked data and all in between.
- You're critical SQL and data mapping code will be fully abstracted and in self contained files (ultra easy to edit, bug fix, maintain).
- You can take advantage of HTTP logging, and HTTP status codes instead of custom exceptions.
- You have a ready made RESTful API in to your data tier, so you can hook on other applications, or open it up to third parties, or the entire net.
So much more, all by one simple step - and that's only the first half of the cartoon ;)
















for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
web of data illustrated http://bit.ly/9wegYY :) #webofdata
This comment was originally posted on Twitter
RT @webr3 for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @rgaidot: web of data illustrated http://bit.ly/9wegYY :) #webofdata
This comment was originally posted on Twitter
RT @bsletten: RT @webr3 for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linke …
This comment was originally posted on Twitter
data integration, the cartoon version :-) nice illustration by @webr3 http://bit.ly/cpnj9T
This comment was originally posted on Twitter
RT @rgaidot: web of data illustrated http://bit.ly/9wegYY :) #webofdata
This comment was originally posted on Twitter
BRILLIANT RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: “for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata” (via @juansequeda)
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @olafhartig: RT @webr3: “for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata” …
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
Devs, don’t miss this cartoon by: RT @webr3 for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
♺RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @mhausenblas: RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #l …
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
The web of data illustrated, meet bob :) http://bit.ly/byQhHZ
This comment was originally posted on Twitter
RT @bsletten @webr3 for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
The "something to try" section at the bottom is quite interesting. I’m not sure you can actually say you’ll see no speed/load differences by requesting all data via HTTP, though.
This comment was originally posted on Reddit
RT @webr3: for all of you – illustrated and simplified Web of Linked Data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
If you are already using an ORM then I bet it wouldn’t add noticeable overhead. Besides, all of you SQL queries are going down a wire eventually (once scaling comes into play) so there is going to be some server processing those requests eventually. Chances are that server is going to be using caches 99% of the time (if you are lucky) so the overhead is a HTTP request parse + mem-lookup. I think this is really the first time I groked why people get jazzed about REST.
This comment was originally posted on Reddit
this comic is completely correct. I did exactly this with the flicks.co.nz architecture and it worked amazingly well http://bit.ly/aSpFEq
This comment was originally posted on Twitter
RT @maetl: this comic is completely correct. I did exactly this with the flicks.co.nz architecture and it worked amazingly well http://bit.ly/aSpFEq
This comment was originally posted on Twitter
Reddit/p: Web of Data illustrated, meet Bob. http://bit.ly/9BbD8X
This comment was originally posted on Twitter
RT @kidehen: RT @webr3: for all of you – illustrated and simplified Web of Linked Data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata …
This comment was originally posted on Twitter
Hey everyone! Oh, different Bob. Never mind.
This comment was originally posted on Reddit
RT @mhausenblas: RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #l …
This comment was originally posted on Twitter
Yes, the part about the format was a bit simplified. It just works if Bob has to deal with the same task from different data sources. Then the "Universal Data Model" is feasible.
This comment was originally posted on Reddit
inspiring cartoon about web architecture http://webr3.org/blog/general/web-of-data-illustrated-meet-bob/
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
I thought about the format question too. But HTTP allows you to send the Content-Type header. So I see a few potential solutions, including 1. Send whatever raw format comes back from the database and let the app server decode it. The drawback is the leaky abstraction. 2. Use a binary format like [Protocol Buffers](http://code.google.com/apis/protocolbuffers/) and pay for encoding and decoding data. 3. Use a text based format like JSON or SOAP and pay for encoding + bandwidth. I’d probably have one server that handles raw requests and a set of servers that could do encoding to particular formats. The HTTP Request can easily contain parameters that determine the format of the response. Having the ability to specify the response content-type would be very advantageous in the long run even if it was inefficient in the short-term. As for security, HTTP already has that built in with [HTTP Secure](http://en.wikipedia.org/wiki/HTTP_Secure). Security is in layers though and chances are you’d have the same security features for your HTTP server that you would have for you db server (at the firewall level, etc.)
This comment was originally posted on Reddit
“Bob” would be gr8 animated! RT @webr3: illustrated, simplified #webofdata – meet bob: http://bit.ly/cpnj9T #web3 #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @Hypios: RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
The universal data model exists: RDF. There are multiple formats available that RDF can be serialized in, e.g. RDF/XML, Turtle. Of course, you still need a schema that describes the data: RDFS, OWL. As a starting point, more information is available at [http://linkeddata.org/](http://linkeddata.org/), which is also what the comic strip was all about. There is also a [linked data deployment guide](http://virtuoso.openlinksw.com/Whitepapers/html/vdld_html/VirtDeployingLinkedDataGuide.html) for [http://en.wikipedia.org/wiki/Virtuoso_Universal_Server](Virtuoso).
This comment was originally posted on Reddit
For an example of Linked Data, see [DBPedia](http://dbpedia.org), which is dataset of structured information extracted from Wikipedia. [Information about reddit](http://dbpedia.org/page/Reddit) and its [RDF+JSON](http://dbpedia.org/data/Reddit.json) and [RDF/XML](http://dbpedia.org/data/Reddit.rdf) serializations.
This comment was originally posted on Reddit
Awesome, thanks!
This comment was originally posted on Reddit
make you could put a summary paragraph at the top above the comic book for people that can read.
This comment was originally posted on Reddit
Yup, as shifty3 said; universal data model is RDF, and specifically you’ll be wanting Linked Data. as for security that’s been handled for years, HTTP auth, basic/digest whatever, or even HTTPS with client side certificates, or be really future tech and go for WebID / FOAF+SSL. All this comes from the man at the top, TimBL, and I think we can safely say he know’s what he’s talking about :) All the best on your journey in to REST / linked data, should you take it – and hopefully see you there.
This comment was originally posted on Reddit
The Web of Data for Dummies (i.e. illustrated ;)) – http://bit.ly/aSpFEq
This comment was originally posted on Twitter
RT @olafhartig: RT @webr3: “for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata” …
This comment was originally posted on Twitter
RT @mhausenblas: RT @webr3: for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #l …
This comment was originally posted on Twitter
RT @olafhartig: RT @webr3: “for all of you – illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata” …
This comment was originally posted on Twitter
Not just helpful, Funny too! RT @webr3 illustrated and simplified web of data – meet bob: http://bit.ly/cpnj9T #web3 #webofdata #linkeddata
This comment was originally posted on Twitter
RT @billroberts data integration, the cartoon version :-) nice illustration by @webr3 http://bit.ly/cpnj9T
This comment was originally posted on Twitter