Igor's Blog

"... no matter what they tell you, it's always a people problem!"

Tuesday, March 17, 2009

URL Crawlability as Architectural Design Goal

A lot of times during a system design a lot of architectural design decisions are based on architectural goals like performance, security, scalability, usability and so on. I believe that url crawlability (or with other words - RESTful urls) is often neglected (especially in Java, PHP, ASP.Net….) but should be considered as one of the top priorities among all other architectural design goals for every web enabled system.

As usual, Ruby on Rails excels in this area too and I could only learn from it but in the realm of Java, even if you want to do it you would have incredibly hard time. Almost all of the java web frameworks fail to provide a way to work with RESTful urls. A big exception to that is Stripes framework. The REST support is still missing, although it would be trivial to be implemented but RESTful urls are definitely there. 

A lot of nice thing could be said about Stripes but better read it from their web site.
The only thing that I would like to add about this framework is that I had the chance to work with it for the last 9 months extensively (after working more than a year with Rails) and I can say that, in my opinion, this is not the best Java framework right now, but probably this is the ONLY Java WEB framework right now (at least from the ones that I have evaluated – and this list is very long!). 

I went a little off point but I just wanted to say that currently I consider url crawlability/RESTful urls as one very important architectural design goal with a lot of benefits coming out of it and my first criteria evaluating any web framework is whether it could support RESTful urls or not. 

Is this an important consideration in your design?

|| Igor, Tuesday, March 17, 2009 || link || (0) comments | links to this post