JavaOne - Day One
That’s right I’m at JaveOne this year and it is super duper. No really it is. Today I was in two different session that delt with REST. One was all about the Atom Protocol and the other was how you can use all of the new standard Java API’s to implement both the client and server for a RESTful web service. One item about REST that my coworker pointed out was how each presenter started out mapping HTTP methods GET, PUT, POST, and DELETE to the good old Create, Read, Update, and Delete operations. He also noticed that each mapped PUT and POST differently. Having recently read RFC 2616 I can see why that happened.
I also sat in on a session highlighting a upcoming software product named Terracotta for Spring. Basiclly it sits between the JVM and Spring and provides for all your custering needs. Seems super cool because it handles all the nasty stuff, leaving your Spring App just a Spring App.
Ok enought of the boring stuff time for todays overservations/impressions. First up, the event staff here at the Moscone Center know how to heard people about. Before we where even inside there were people directly us JavaOne goers which entrance to go to for breakfast. It continued throughout the day as lines for sessions formed with the aid of our friend event staff. “This is the line for 304″. Second the attendies have no fear about getting up and leaving in large numbers before the speaker has even gotten close to finishing his presentation. By the time Q&A comes around most of the crowd has moved on to new lines. Lastly, just about everyone has a laptop and a good number of those are Macs, makes me wish I had one.
Pictures will follow …. soon …
Posted in Java, Life Stuff, Technology
![[del.icio.us]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/digg.png)
![[Google]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/google.png)
![[StumbleUpon]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Windows Live]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://badpopcorn.com/blog/wp-content/plugins/bookmarkify/email.png)
The funny thing about POST and PUT… They’re not really one-to-one mappings to CREATE or UPDATE. Really, what you’re saying is that POST requests something to be done… Akin to an UPDATE or APPEND, but not quite just writing the data verbatim. POST can be both a CREATE, OR APPEND, OR UPDATE.
And PUT can still be CREATE or UPDATE… Essentially, you’re saving the client’s data almost verbatim.
Think of it as this:
POST lets the server control what RESOURCE is updated/created. This implies that the server chooses the ‘where’.
PUT’s semantics give control to the client. The client knows which RESOURCE (implies where, which URL) and the server modifies that resource. This may be a CREATE or UPDATE.
I suggest reading more on the Atom Publishing Protocol. Still in draft at this time, but I think that it’ll become the standard, both as a REST protocol and as the defacto stylistic use of PUT and POST.
Comment by Ben — May 16, 2006 @ 9:53 pm
So im guessing the guy to girl ratio at this place is horrible. LOL. Sounds cool though. Anything RESTfull just tickles me in the right place.
Comment by Moe — May 17, 2006 @ 6:46 pm