Wednesday, February 23, 2011

REST style

Last couple of days , I worked on a REST architecture. I never really worked on this architecture at the design level, I just applied some given rules during developments or maintenance. So I found this job very interesting.
My first surprise was to discover that a lot of people (including me) just take a  few REST characteristics  and claims to be "Restfull". In fact this is not a problem, but those people provide and promote something else that REST.
If you have time you could have a look at the Roy Thomas Fielding's phd thesis or you could have a look at the richardson maturity model. To be honest, the link that makes me realize what is really REST is this one : http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven.

The key points of REST :

  • ressources
  • hypermedia
  • server statelessness
In this list it seems thats hypermedia driven application is not well considered (accepted?). 
What ever read the previous link if what is preceding seems not clear.

Enjoy! 

Tuesday, February 8, 2011

PDE and Maven 3

During my work we have to build project documentation (as usual...). On this subjet, I like maven site. Why ? because :
  • Your documentation is at the nearest place from the source code
  • You don't have to search in which document do this task
  • you could easily put in SCM you documentation
  • you could easily create a PDF
I start working with the first version of Maven and then I have to deal with maven 2 migration and subsequent repository modification, and so on. So, I don't want to go to maven 3. Til I read how maven's community do the job. They do a lot to insure compatibilty, and it's a really big work!

So I face an old problem : my documentation is for an Eclipse Plugin and with maven 2 it was very difficult to put the build lifecycle in maven.

But I discoverer tycho for M3 and I really appreciate it. With this plugin you don't have a huge effort to do the work... You just write a small pom with tycho's dependency and args and that's all, then tycho delegate the dependencies resolution...

This plugin is version 0.8 and looks like to do a lot of thing.

Now I'm relying on this plugin for the build, metric generation and site building.