I have been developping a lot in java those last years. For so called «enterprise» web based applications, there are so many nice libraries and packages available... Even if you are like me a C/C++ geek and think that getting too far from the hardware and forget memory allocation is an highway to performance bottlenecks, it is a good way to go, just because lots of others also travel on this road.

In the world of java webapps, I opted for a PrimeFaces / MyFaces / Deltaspike / OpenWebBeans stack, running in a Tomcat 7 container.

The first reason is my preference for open standards. I do not like to depend on a single provider.

The second reason is that all those packages are Free Software. So, one can study and modify the code, which is just always needed when you do real work.

The third reason is that all those projects, excepted PrimeFaces, are supported by the Apache Foundation. I find that it does a very good long term job of developping libraries and other valuable tools. Moreover, I prefer non-copyleft licences. The developpers of those projects know each other and collaborate. When you ask a question on Deltaspike and it happens to be an OWB question, you are friendly redirected to the right place.

The fourth reason is that all those projects have vibrant communities. I had answers to most of my questions and requests in less than a day.

The fifth reason, at least for PrimeFaces, is that they are de facto standards.

Since 2010, «cloud» has emerged as a buzz word, a magic marketing solution to all problems. Despite the regretable ton of ******, the development of Iaas (Infrastructure as a Service) and PaaS (Platform as a Service) opens new perspectives in the way we, developpers, work.

IaaS is, in very few words, a way to have hardware as a commodity. an IaaS provider such as Amazon will provide you servers and databases instances for a very low fee per hour. You then have to setup your system. PaaS goes a step further. A provider of PaaS also provides a set of libraries and tools. It upgrades and patches them as needed. It sometimes provides features such as automatic load balancing, and so on.

IaaS and PaaS can be public or private (on premise). Big organisations might have security needs that requires the second option.

There are still less PaaS offers than IaaS offers. I think that it will change given the big advantages that a good PaaS offer provides. For one developping software from scratch, it would just be very bad idea not to opt for such an offer, excepted if you have very special requirements.

I asked myself a simple question : how does my usual stack fit in the leading PaaS offers ? As this question seemed interesting to friends and colleagues, I decided to write a few blog notes on this topic. I will try to explain you how you can do JSF in the cloud in a snap (or kind of, as you will see).I will first look at Google App Engine, then OpenShift, then Jelastic, then CloudFoundry, then Heroku. In this first look, I will just try to see how easy it is to get my stack up and running and have a look at the main features. Benchmarks like this one are already performed by experts and I have no value nor time to try to do better than them.