Friday, July 13, 2007

Google Mashups Editor: The Google Application Server

I have recently been playing around with the Google Mashup Editor (GME). Like all good Web2.0 products GME is in Beta and user access is limited at the moment but IMHO GME is really *really* good! Warning, I am going to be saying Google rather a lot in the next few paragraphs!

Imagine something like Tomcat with remotely hosted editable JSP/JSTL pages and a web based IDE interface and you get close to what GME is about. Everything is hosted remotely and the web based IDE editor is surprisingly versatile all considered. You can even host your code projects on Google Code which is Google's version of Sourceforge and this includes a Subversion repository. Your GME applications can be deployed as standalone web pages or as Google Gadgets for iGoogle and Google Desktop (sort of portlets for Google's personalised portals).

The available GME tag library is squarely aimed at creating Google flavoured mashups with Google's existing offerings (Google Maps, Google Calendar, Google Search, Google Base etc.).

For more generic applications development GME provides support for importing blogs/RSS/XML data (all feeds are converted into Atom format). You can access your data using XPath. You can protect your applications behind Google Authentication. You can also embed any JavaScript and CSS that you see fit. It really is an extremely powerful product.

Since it is hosted on Google's own servers, there is no need to apply for messy API keys, everything you need is already there and ready to go.

So you want an application that accesses remote feeds and creates Google Maps but you don't have your own application server? Now you can host it on GME!!!

Behind the scenes Google Mashups is hosted on a server identifying itself as "Google Fronted" and the GML pages are compiled (analogous to JSP) using the Google Web Toolkit. I don't know a great deal about the Google Web Toolkit but essentially it lets you write applications using Java and compile these into JavaScript applications. So it appears that like a JSP page is compiled into a servlet, GML pages (Oi Google! The TLA GML is already spoken for) are compiled into JavaScript. There is obviously more going in the background of this process than what is currently provided by the public version of the Google Web Toolkit. Somewhere inside there must be an application server of some sort.

In one CSS file there is a tantalising mention of something called the "Katamari Framework". I have no found an explanation for what this is yet (I have just posted a question to the GME forum asking about it).

It looks like Google's tag library could be made to work on Tomcat?It looks like there is a GWT powered application server under the hood.

Are these things and other bits and pieces going to emerge as open source into the public domain at some point? We shall have to wait and see.

I have been experimenting with GME, Google Maps API and GeoURL again! I may share the results of my experiments in a later blog entry.

1 comments:

Kelly Jones said...

Awesome post.Here’s a tool that helps create Map Mashup providing a step-by-step wizard that generates ready-to-deploy code on any website or blog http://blog.caspio.com/integration/announcing-the-new-and-improved-map-mashup-version-7/