mercoledì 20 gennaio 2010

Pomodoro desktop reached 0.30 release

Everaldo nicely contributed with new gorgeous icons, plus some small fixes here and there.

pomodoro-web

Check out the best pomodoro application in the whole world
here!

giovedì 14 gennaio 2010

2.5 tiers, SOFEA and SOUI

Massimiliano Dessì pointed me to this TSS entry, in which authors discussed their paper "Life above the service tier", 2 years ago. Their SOFEA architecture (someone calls it SOUI) looks very much like the 2.5 tiers and indeed is. Some observation:
  • 2.5 tiers name is technically not very precise, but IMHO much more evocative.
  • I don't think there will be space anymore in the future for Adobe/Java/whatever based RIAS (Flex or JavaFX), the irect Javascript approach on the client is becoming mainstream, much more easy to code/debug than before, and without losing crossbrowser-ness
  • Completely agree on the Front-Controller being an anti-pattern now
There is probably the need for a new integrated "web framework" built on Javascript (probably with JQuery) and REST. Any volunteer?

mercoledì 13 gennaio 2010

2.5 tiers at Javaday 2010


This year at Javaday I'll be happy to present a talk on what I see as a new emergent approach in Web Development. It's not a completely brand new approach, but it's slowly gaining momentum since a couple of years. I couldn't find a good name for this approach, so I invented a new one, "2.5 tiers".

The 2.5 tiers approach is about how Jquery and Rest are changing the way we design webapps: there is no need anymore of complex server side MVC, because you can easily do all the work in javascript, with the help of unobtrusive cross platform Javascript libraries like JQuery.
RESTful design is the other side of the coin, because producing JSON representation of data to be consumed by Javascript is now as easy in Java as in higher level web scripting languages, mostly thanks to libraries like RESTEasy (which is a powerful JAX-RS implementation).
The name 2.5 tiers shows that it's not anymore a full 3 tiers, but it's neither an old client server app (2 tiers). You still have code on the server: caching, validation, REST services, JSON transformation are all on the server side. But a lot of code is now moving back to the client: gui widgets (Jquery UI) are completely client side (probably feeded by a server with JSON) and that's hardly news, but templating for example (JTemplate is one of the emerging libraries) is far less common on the client side. So it's two tiers and "a half".

An interesting side effect of this approach is that you are free to choose for example a .Net application server instead of a Java one (don't take that as an advice!), or try something new and cooler like Erlang or Scala, without touching a single line of GUI code: you basically only have to implement the same interface (GET, POST, PUT and DELETE) and produce the same representation of data (mostly JSON, but XML still has its role sometimes). That means, yes, you can write cross browser components (independent by server side code too!) and reuse those components in other departments of your company that use different technologies (if you are like me, in our company we basically have all the existing IT architectures of the world).

Javaday is not only a free community driven event with the best Italian (and some international) speakers, but we also have enough sponsors to make a great day with great gadgets and great drinks too :)

We are waiting for you, too.