From monday to wednesday I am attending JAOO in Denmark with 6 other colleagues. I am not going to give an extensive report, but some notes and remarks might interest you guys. Therefore a brief summary of what I have seen, the presentations I attended and the most interesting things I remember.
The first day in just a few words, not necessarily in order: Linq (why don’t we have this is java?), performance and scalability (still important), programming the cloud (gives new things to think about), google apis (wow there is really a lot you can do), scala (just not my thing), beer (there is enough here)
Read on if you also want to read more details
The first day started of with the key note. It was a talk about microsoft technology. Not interested, well, kinda interesting. It followed the functional programming is the future hype. Talking and showing F#, well oke, not for me. But Anders Hejlsberg also showed Linq. This is more about internal functional programming. A nice abstraction of using sql quesries using fluent interfaces and immutable objects. I reall like the idea and will do some research in the future. Maybe there is a java alternative that I do not know of.
My next session was from Patrick Linskey about designing your aplication for scalability. I liked the talk, good speaker. Some things that I wrote down are
- optimizing IO communication, for instance sing the jdbc prepared statement batching.
- Use synchronization with care when trying to get your multi processor systems to work. The different processes will all have to stop on a synchronization point.
- When needing shared state, we often use a database, it might be much better to separate your tiers. You could create a service tier with ejb’s for instance.
- Other languages like Scala or Erlang support concurrency out of the box. Not that they are perfect by the way, see my later comment on scala.
Gregor Hohpe talked about programming the cloud. This was a very good presentation and an interesting as well. Using a cloud for doing processes or store data is different than our every day database app. Think about big websites like flickr, google search, facebook. They do not use two phase commit. They use other ways called compensation. W as users learn how to compensate for things that go wrong. Our programs should act in a similar way. A nice comparison is two phase commit and starbucks, just google for the article. Another comparison I liked was ACID in the traditional transaction way and his ACID. In traditional way it is about Predictive and Accurate, in the new way more about Flexible and redundant. As a side step, Gregor talked about the google api’s. I was surprised about what you can do with the apis of for instance google calendar. I had to try out the google platform using python. It was very easy to do, my first tutorial is published within half an hour. You can look at it here. http://jettrofirst.appspot.com/. If you want to learn more about google apis go here : http://code.google.com/apis
After Gregor I went to Jonas Jacobi, a guy I knew from the past days when doing Oracle UIX. He know is working for a small company called Kaazing. He demonstrated avery interesting project called the Kaazing Gateway. It is an open source implementation of the upcoming HTML 5 WebSocket. Not that it is supported by any browser, but they have found a way to use the flash plugin to overcome this problem for now. What it is about? Real push technology. Opening a tcp/ip connection with a neat trick of downgrading the HTTP connection. That way you do have the full duplex connection an push technology becomes reality. It is a very interesting technology that I will try out in the near future.
The last presentation of day 1 I attended was not the best one. I wanted to hear something about the big buzz scala. I am going to be short. There are two possibilities: the first is that Bill cannot realy explain what it all is about, the second is that scala is just not my thing. To much of a coupling between the normal implementation and the functional programming way. Hard to read, not to maintain.
That is it for now, we ended the day with a good meal and enough to drink.