This post is part of the Who's
@ Google I/O, a series of blog posts that give a closer look at developers who'll be
speaking or demoing at Google
I/O. This guest post is written by Benjamin Mestrallet, CEO of eXo, who will be
demoing his platform for enabling enterprise web apps as part of the Developer
Sandbox.
In 2002, I wrote the first JSR 168 portlet
container when I was a student in Paris. It is now considered legacy because most enterprises
have their intranets built on top of this technology. Today, a lighter weight model has
replaced it.
Gadgets – the New User Interface
Gadgets and other influential consumer web technologies can dramatically improve
enterprise applications. Unlike portlets, gadgets are client-side code that exchange
structured data with the server using REST APIs that return JSON or xml objects. By leveraging
JavaScript, HTML and CSS gadgets are not only easier to use and develop than portlets, they
are also universal. Everyone can write a web app these days.
The
portlet container I built 8 years ago eventually led to me to found eXo, where we
built a next-generation platform for Java with Google technologies like Gadgets, OpenSocial,
GWT and Android. Our vision is simple: provide a platform for building applications with rich
user experiences in the cloud. This means that the entire process of building an enterprise
web application can be done online, from its development in a web IDE to its deployment and
monitoring within a tenant of a cloud platform.
Use-Case –
Marketing Mashup
To demonstrate how remarkably different the enterprise
web application development process has become, let's look at a real-life use case with a
Marketing Mashup application you
can download (link to source code is at the end of the tutorial). Many marketing
managers struggle to compile and integrate website analytics manually. Using the eXo Platform
with Google Gadgets, we create a single mashup of these different sources of data in a single
gadget.
This integration approach is the new, lightweight generation
of SOA.
We can expose a service’s data as a JSON object through a REST API. In our use case, we
combined the existing Google Analytics data and created two new services: one to take the
downloads data directly from our project forge sites and another created in groovy to list our
press releases. We were able to quickly create this application online using the GWT-based eXo
web IDE.
A web IDE means you no longer have to build, test, package and
deploy the application. Within this environment, you can use REST APIs using Groovy and
OpenSocial gadgets, and deployment options are plenty, whether as a gadget in the platform
dashboard, in another OpenSocial container such as iGoogle, and even in mobile apps like the
ones we built for Android and the iPhone.
Building and distributing
applications has become a lot easier, and the features formerly associated with the consumer
web are going to drastically improve the usefulness and usability of enterprise
applications.
Posted by Benjamin Mestrallet, CEO of
eXo