Some time ago I started working on an idea to have a website for swapping items. For example, your kids are grown up and you have a basement full of toys you don’t need anymore. What do you do with it? You can sell it, trash it or give it away to someone. Well, why not swap it for something that you need now – like some movie DVD, books, concert tickets, some services, furniture or whatever…
So, as being a Java developer who likes to explore new stuff, I decided to create that website in Java with using the latest technology.
My first pick was:
1. Wicket web framework
2. Google App Engine for Java
Number 2. was a complete mistake!
Number 1. in conjunction with number 2. was even bigger mistake!
Google App Engine is PaaS (Platform as a Service) and therefore very restrictive. You have a white list of Java API classes that are allowed to be used but that puts challenge on many external libraries that you might want to use. Not all can fit into the selected white list classes catalog.
GAE is a powerful platform that is great for testing and playing around.
But their weird pricing model and a whole set of restrictions make it really hard for any kind of real world applications.
Wicket on the other hand is a great web framework that I can strongly recommend to any Java developer who wants to build Web apps in efficient and fun way!
So, after realizing that GAE won’t work without many workarounds I decided to change the strategy and go for traditional hosting solution.
The best combination turned out to be:
1. Wicket as a web framework
2. Java 6
3. H2 database
4. home server with DynDNS account
H2 database is really something you should check out in case you haven’t seen it before. Only one .jar file and only one file on the filesystem as the whole database. No installation, no hassle. Want to move. backup or copy database? All you need to do is copy just one single file and all works great.
As for home server, believe me any $300 desktop machine is way better than any virtual hosting solution out there. You’ll have more power for $300 than paying XYZ dollars to someone per month for some shared machine with little RAM and CPU available for you.
With DynDNS you don’t need to worry about static IP address. They turn your dynamic IP address into static one. I also use their service for email. They have trusted email server that won’t be marked as spam by Google, Yahoo and other popular email providers.