X

Java makes Google App Engine more mainstream

As cloud computing gathers steam, Google gives programmers what they've been asking for by gracing its App Engine with support for Java programs.

Stephen Shankland Former Principal Writer
Stephen Shankland worked at CNET from 1998 to 2024 and wrote about processors, digital photography, AI, quantum computing, computer science, materials science, supercomputers, drones, browsers, 3D printing, USB, and new computing technology in general. He has a soft spot in his heart for standards groups and I/O interfaces. His first big scoop was about radioactive cat poop.
Expertise Processors, semiconductors, web browsers, quantum computing, supercomputers, AI, 3D printing, drones, computer science, physics, programming, materials science, USB, UWB, Android, digital photography, science. Credentials
  • Shankland covered the tech industry for more than 25 years and was a science writer for five years before that. He has deep expertise in microprocessors, digital photography, computer hardware and software, internet standards, web technology, and more.
Stephen Shankland
4 min read

Corrected at 11:53 a.m. PDT. See below for details.

MOUNTAIN VIEW, Calif.--In a case of converging technologies, Google App Engine took several steps toward the mainstream on its first birthday Tuesday at the same time that the concept of cloud computing in general is becoming more accepted.

Cloud computing presents applications as Internet-accessible services rather than software that runs on corporate servers or people's own PCs. It can mean anything from raw computing services that can be bolted together, as in the case of Amazon Web Services, to finished products such as the Picnik photo-editing site or SalesForce.com customer-management service. Google App Engine is an intermediate level, offering a general-purpose foundation.

Thus far, App Engine had been limited to Web applications written in the Python programming language favored internally at Google but not as much elsewhere. But on Tuesday, the top-requested App Engine feature, support for Java programs, arrived--albeit only in a preview form initially available only to the first 10,000 developers who sign up.

"It's the language of the enterprise," said Ryan Nichols, leader of product management and marketing at Appirio, a 140-person start-up that builds software for clients who want cloud computing applications. "It allows us to have a different level of conversation with our customers."

Graham Spencer, a Google engineering director, announces new features of Google App Engine at a Campfire One event Tuesday.
Graham Spencer, a Google engineering director, announces new features of Google App Engine at a Campfire One event Tuesday. Stephen Shankland/CNET

Google announced the Java support and a handful of other new App Engine features on its blog and at a Campfire One event for developers at its headquarters here. As with the regular App Engine service, use within certain limits is free, but developers must pay for heavy-duty App Engine use.

Cloud advocacy
The idea of cloud computing is catching on, and Google is a major proponent. Even Microsoft, whose twin cash cows of Windows and Office today are tethered to physical machines, plans cloud-based versions of both those products.

App Engine Product Manager Andrew Bowers demonstrated the creation of a basic application.
App Engine Product Manager Andrew Bowers demonstrated the creation of a basic application. Stephen Shankland/CNET

About 150,000 developers have built 50,000 applications on App Engine so far, Google said, and those apps draw about 100 million page views per day. The most popular is BuddyPoke, which provides social networking sites with an application that people add and control avatars. It's got 35 million users, and meanwhile, BestBuy, eBay, and Forbes "have started to outsource pieces" of their computing operations to App Engine, said Graham Spencer, a Google engineering director.

Cloud computing can bring penalties such as primitive user interfaces, long waits for services to respond, and problems when the network is down or unavailable. In-house computing systems aren't infallible, but when cloud computing services fail, customers are beholden to another company's skills at restoring them.

But all these areas are being addressed, and cloud computing has some advantages, too. Online documents can more easily be shared or collaboratively authored. Applications are available from a variety of computers and mobile devices. And for those willing to yield control, another company bears the burdens of system management and data backup.

Google also announced a handful of other developments that make App Engine more useful for regular programmers:

• Through a feature called Secure Data Connector, App Engine can incorporate private data stored servers behind company firewalls, said App Engine Product Manager Andrew Bowers. For example, information from a company's sales database can be retrieved by App Engine and displayed in a Google Docs chart.

• Using a command called "cron," App Engine can perform some automated actions timed in advance to take place, such as collecting daily statistics and e-mailing them to an administrator, Bowers said.

• App Engine is getting better tools for import and, later this week, export, so it's easier to move information stored in conventional databases to App Engine and back, said App Engine Product Manager Mike Repass. For example, custom instructions can be applied to help convert the data.

Animesh Singh, an IT architect in IBM's cloud labs, moves a Google App Engine program to IBM's WebSphere.
Animesh Singh, an IT architect in IBM's cloud labs, moves a Google App Engine program to IBM's WebSphere. Stephen Shankland/CNET

Java: a natural fit
Sun Microsystems first released Java in 1995 as a way to add pizzazz to Web sites, but it caught on commercially as a way to run server software such as online banking applications. Java's design insulates software from the particulars of the hardware it's running on, so in a way building it into Google App Engine is a natural extension of the technology.

However, there are differences. On the plus side, running Java programs on App Engine means administrators won't have to worry about whether they have enough servers to handle a spike in traffic.

Kevin Gibbs, App Engine's technical leader
Kevin Gibbs, App Engine's technical leader Stephen Shankland/CNET

But because App Engine stores data with Google's BigTable technology rather than the conventional SQL databases, programmers will have to use newer interfaces such as Java Data Objects (JDO) or the Java Persistence API (JPA) rather than the older Java Database Connectivity (JDBC) standard, said Kevin Gibbs, App Engine's technical leader.

Google also brought another tool to bear in the Java support: Google Web Toolkit, which converts Java software into the JavaScript code that lets Web sites use to power interactive applications.

The new version 1.6 of the open-source GWT software lets programmers use the Eclipse programming tool to write a single Java application--both the back-end processing and the JavaScript Web interface--in one fell swoop, said Bowers, who also is a GWT program manager.

Google aims to comply with Java standards, though it offered cautionary words about the preliminary nature of App Engine's Java support. It hasn't passed Sun's Java certification tests, and Google wouldn't comment on whether it plans to do so or on whose Java foundation it actually uses under the covers.

Overall, programming Java on Google App Engine should look more familiar than not to Java programmers, Gibbs said. IBM, for example, demonstrated moving an App Engine Java program to its own WebSphere software using Big Blue's DB2 database.

"Hopefully, it'll be a matter of months when any Java developer can use it and be really satisfied," Gibbs said.

Corrected 11:53 a.m. PDT to note that the Java version of App Engine permits billing.

Spencer's presentation was temporarily derailed by a Windows blue screen of death, but a backup Mac system quickly filled in.
Spencer's presentation was temporarily derailed by a Windows blue screen of death, but a backup Mac system quickly filled in. Stephen Shankland/CNET News

Rain forced Campfire One indoors and morphed real bonfires into these faux electric flames.
Rain forced Campfire One indoors and morphed real bonfires into these faux electric flames. Stephen Shankland/CNET
In line with the Campfire One outdoors theme, this server running IBM WebSphere was perched on a stump.
In line with the Campfire One outdoors theme, this server running IBM WebSphere was perched on a stump. Stephen Shankland/CNET