Blog

The English part of my blog is mainly technical. If you can read Italian, check the Italian section for articles of other kind.

Google App Engine Is Not Free Java Hosting

Let me clarify: this is not a rant about GAE: I just want to write about my first approach with it. GAE is Free, is Java and is Hosting, so why this title? Because I've read some articles talking about GAE as a solution to host Java web applications for free. But it depends on how you think to use it: if you have written an application and are searching for a solution to host it, you must keep in mind that you will need to make heavy changes to your app.

In my case, I use MeshCMS, my own CMS, to experiment with new technologies. I knew that It would have been hard since MeshCMS uses the filesystem to store pages, and GAE does not allow to write to the filesystem. I decided to redirect filesystem writes to the datastore, just like GaeVFS does. I wrote the necessary code using both JDO and JPA, and at the end I chose JPA since it seemed to produce slightly cleaner code. In my opinion, it's easier to convert from filesystem to datastore than to convert from a traditional database…

Read more

MeshCMS 4 On Google App Engine

Google App Engine is one of the best things that Java developers have got in the last years because it means free Java hosting. When I read about it for the first time, I thought to try MeshCMS on it, but the first limitation I learned was a no go: Google App Engine forbids writing to the filesystem, so a file based CMS can't work on it.

Recently I thought that maybe I discarded that option too early and that GAE is too good to be ignored. I constantly keep an eye on Java hosting and there are some nice offers, but none of them can compete with cheap PHP hosting. Sure, you get lot of resources with Java plans, but if you just have to host a CMS, there's no reason to use MeshCMS and pay ten times more than, say, use CMS Made Simple on a €10/year web hosting.

That's why I decided to experiment with a filesystem wrapper that redirects all writes to the GAE Data Store. There is a library named GaeVFS that already does this. I tried it, but unfortunately it didn't work. Not its fault…

Read more

Search

Tag Cloud