I can't imagine doing e-mail without GMail. I can't imagine collaborating on a presentation
or on a design document by mailing around versions of content back and forth between
people and saying, "Who's got the latest one, who's got what edit?"
And I can't imagine being tethered to one particular physical device to find my data
and my application. It would make no sense anymore.
We all know that. Companies know that.
Every company we talk to is trying to figure out how can I shift my weight to the cloud?
How can I use the Web more heavily with the applications that I use and the applications
that I build at work? The problem is, it's still hard to do that.
It's still too hard to take advantage of the Web at work.
It's hard for a few reasons. First, it's hard because it takes too long.
From the time you have a great idea or your boss has a great idea or the VP of marketing
has a great request, from the time you have the great idea and you want to create a great
application, new technology, new tools, takes too long to turn that idea into reality.
The second thing that's hard is, we don't stand in one place anymore.
That application that you're running, you might need to access it from the back of a
taxicab. Some of your users need to access it from
an airport or from the lobby of their hotel. Because people are working everywhere, they're
working all the time, the applications that you build for them need to run on all the
devices that people are using. The third thing that's hard today is, architectures
tend to trap people so that the choice you make in what tool stack do I use, how am I
building my application, that choice you make today locks you in to a deployment model for
tomorrow that you may not be ready to lock yourself into.
And then, finally, if any of you have the job that this guy has, you look at this slide
and probably say, he's only got a half dozen applications he's taking care of for his company.
The CIOs that we talk to tell us that they usually have on the order of a thousand applications
that they're trying to manage to run their business.
And they need better tools to be able to manage all those applications.
Over the next 40 minutes, we're going to show you what we've done, working with other people,
to enable fast and familiar development using tools and languages you already know to crank
out great Web applications. We're going to show you how to make those
applications mobile-ready so they can run and reach your users wherever your users are.
We're going to show you an architecture used -- based on open standards that give you
flexible deployment so you have portability. You can choose how you want to build your
apps and you can choose where you want to deploy your apps separately.
And, finally, we'll show you some new tools that give you the ability to manage the hundreds
and thousands of apps that are being built to run businesses in the cloud.
Now, as we set out to do this, it was very important that we did this staying true to
the principles and values of the Web. The principles and values that you've heard
all morning about how open standards lead to interoperability and portability, which
leads to choice, and choice is what drives innovation.
We looked for who can we work with, who can we collaborate with that shares those values,
that understands the importance of standards enabling innovation, and that has spent years
understanding how to help enterprise developers build great apps at work.
And I'm very happy to announce that we've been working closely with VMWare to enable
exactly that, building on our complementary strengths to enable open standards to lead
to great innovation in the enterprise. I'd like to welcome to the Google I/O stage
Paul Maritz, the president and CEO of VMWare, to tell you a little bit about what we've
been doing together. [ Applause ]
>>Paul Maritz: Good morning. It's a great pleasure to be with you here
today. Most of you will know VMWare in terms of the
work that we've been doing in allowing existing applications to be iterated forward and take
advantage of a cloud-oriented way of doing computing.
Customers have huge investments in large bodies of existing applications that they can't walk
away from, and just about the only hope for these applications is through virtualization,
which allows you to kind of encapsulate these applications, jack them up, put them in a
black box, slide new functionality underneath them and eventually start sliding the applications
themselves around. So we've been doing a lot of work in this
world of existing applications, allowing customers and companies to become more cloud-like in
their internal operations and actually allow them to start extending their data centers
outside of their own physical premises, into infrastructure that they can rent from external
service providers. And this is all well and good.
It's very important work to be doing. But the question really becomes, what about
new applications? And it's clear that there are going to be
many clouds out there. Customers are going to build their clouds
internally. Service providers are going to build clouds,
very large companies like Google are going to build clouds.
And wouldn't it be great if we could have a way of writing applications that on the
one hand can take full advantage of a particular cloud, but also be portable across clouds.
If you think of these infrastructure-level clouds as kind of the new hardware, what is
the new operating system for the cloud? What is that layer of abstraction that's going
to allow us to write applications that can look great on a variety of clouds?
And it's our premise, as it is Google's, that the new operating system is these extended
frameworks. And as you well know, developers over the
last several years have by and large voted with their feet, and traditionally -- and
now work within frameworks that give them much higher levels of productivity.
And that's the reason last year we at VMWare acquired what we think is one of the best
of breed new-generation frameworks, the Spring framework.
This comes from work that was started 2002 by Rod Johnson and others, who founded Spring,
who had been working in the Java world and had come to the conclusion it was just too
hard to write Java in EJB applications. And they evolved the Spring framework, which
is oriented around a very simple, lightweight, but extremely powerful object model.
What the result is is that more than half of the lines of new Java code being written
today are written in the context of the Spring framework.
They started that effort based on open source. And they have continued in the open and open
source tradition. And we're committed to continuing that.
And so late last year, we started in-depth conversations with Google and said, wouldn't
it be great to give the world's largest body of developers, the Java community, a way of
writing really efficient, great cloud-based applications?
And as a result, we have been working with Google to bring to bear what we know about
writing the back-end of great, high-performance, portable applications, with what Google has
developed around the front-end. A perfect marriage is to bring these two technologies
together and give the industry an open and open source layer to cloak the clouds, to
allow you to get the fullest benefit from your investments.
The one thing I have learned over the years is, the more choice you give developers, the
more promise you give to developers, that they're going to be able to get a return on
their investment by having the widest possible number of places that they can deploy this
technology, the greater the motivation, the greater the applications that result.
So we have had our two teams working together to really integrate the Spring framework and
the Google Web Toolkit, and now give a complete answer as to how to write an end-to-end application,
the back-end and the front-end, in a way that you can deliver really great, exciting apps
that work across clouds, across devices, with a deep commitment to doing this in an open
and open source fashion. So with that, I'm very happy to let you see
some of the results of this work. >>David Glazer: Thanks.
[ Applause ] >>David Glazer: Thank you, Paul.
I've been very excited to work with Paul. I've been even more excited to have our engineers
and Paul's engineers working together to deliver on exactly what he said.
The first of the promises that we made is that over the next 40 minutes, we're going
to show you how we can use familiar tools to enable fast development.
And the way we've done that is, we have -- exactly as Paul said -- integrated the Spring back-end
development tools, which let Java developers build great back-ends to their apps, with
the Google Toolkit front-end. So you get the power of HTML5 in a complete
Java stack, back-end and front-end, integrated together.
To show you how that works, I'd like to bring up Ben Alex, who's the lead engineer for Spring
Roo, and Bruce Johnson, who is the lead of the Google web Toolkit team to give you a
demo of how do these tools work together, which you will be able to try yourself after
the keynote. [ Applause ]
>>> Thank you, David. If you've used Google Web Toolkit before,
you know GWT makes it easy to build rich Web applications completely in Java.
Not only the server-side code, which you have always been able to right in Java, but also
the client side, the Ajax code that runs in the browser.