McNealy was referring to Java 2 Enterprise Edition, otherwise known as J2EE. J2EE is the significantly more resource-intensive big brother to J2SE. J2EE is widely regarded as a standard for application servers, although no standards-setting body has ever anointed it. With the exception of Windows, virtually every application server on the market--including BEA's WebLogic, IBM's WebSphere, Oracles's 9iAS, Sun's iPlanet, Borland's Enterprise Server, and Macromedia's JRun Server--is based on J2EE. After Savaje vice president Matthew Catino explained how hard it was to stuff a high-performance J2SE into a handheld, you can imagine how skeptical I was when McNealy casually mentioned J2EE would show up there as well.
The last thing I expected was for someone to march into my office a couple of weeks later and show it to me. But that's pretty darn close to what Zeosoft Chief Technology Officer Michael Huestis did when he demonstrated the company's Zeosphere software. The key to Zeosphere is its support for Java's server-side component architecture, known as Enterprise Java Beans (EJB).
For smaller, mobile applications, Zeosphere's EJB support helps to make handhelds that run it the equal of other J2EE-based application servers. True to form for EJBs, any device can execute any method of any component that's available on the network. But Zeosoft doesn't stop there. What's special about Zeosphere is how the technology has been tuned to support collaborative applications in a mobile environment. Using three iPAQs and a notebook computer, all equipped with wireless Ethernet adapters, Huestis demonstrated how Zeosphere can simultaneously and wirelessly distribute data and applications (EJBs or even plain-old Pocket PC applications) to every handheld.
Normally, loading data and applications into a handheld requires the handheld's companion synchronization software, a PC with access to the application's installation files, and a techno-savvy user. For example, to install Omnisky's wireless drivers into my iPAQ, I must run the installation off the CD-ROM, which is in my PC. And Microsoft's ActiveSync synchronization software, which also runs on the PC, must somehow be connected to my iPAQ (either through a USB-based cradle, an infrared connection, or through the local area network).
With Zeosphere, forget all that. You have one administrator (doesn't even have to be a techno-savvy one), and a bunch of Pocket PC users connected to a network (preferably via a wireless LAN or WAN--all that's needed is an IP address). The one administrator presses a button and whammo (yeah, simple as that), all the Pocket PC users now have whatever software (EJB-based or not) and data they need to start their day. OK, I skipped a step. Every Pocket PC user has to accept the incoming transmission by tapping a "YES" button. Big deal.
I could stop here and declare, "now, isn't that the killer software and data distribution technology of the year?" But if I did, Huestis would be calling me back to say that I missed the point. You would have, too, if all you wanted Zeosphere for was data distribution. Incidentally, there's no reason Zeosoft couldn't distribute to any system (handhelds, desktops, servers, wired or wireless) with a push of a button. But, Huestis says, the company wanted to stay focused on mobile collaboration. Which brings us to Zeosphere's second unique selling proposition.
Once your handhelds have been freshly equipped with whatever new data and applications their users need, those handhelds and other application servers on the network can begin to freely exchange messages, files, images, and anything else that might facilitate collaboration. That collaboration can be deliberate (such as one field technician sending an image to another's handheld to get a question answered) or more automatic, where EJBs on the handhelds and other J2EE servers are talking to each other in the background. Herein lies the elegance of Zeosphere. How your handhelds collaborate with each other and integrate with the network is up to you and what you've designed your beans to do.
Is it really J2EE? No. But it's not J2SE either. It's more like J2EE Lite. The thing that Zeosphere and J2EE have in common is that they're both designed to support EJBs.
To do this, Zeosphere currently requires the presence of a solid J2SE-based virtual machine. On handheld operating systems such as Windows CE, Pocket PC 2002, and Linux, Huestis says, Insignia's J2SE-based Jeode is the only game in town. Even so, he laments its performance, carefully noting that it's not Jeode that's the bottleneck, but rather the underlying OS. The same problem also plagues the Palm OS. Huestis acknowledges what most Palm aficionados already know--a decent Java virtual machine for the Palm OS doesn't exist. The limitations may eventually be lifted when Palm OS devices start shipping with Intel's StrongARM processor. But for now, Palm OS isn't a target. Meanwhile, he melts in adoration over the pocket rocket of handheld Javas--Savaje's XE, which Zeosphere also supports.
"By the end of the year," says Huestis, "Zeosphere's support for EJB will require something more robust than J2SE under the hood. At that point, we'll have to add a layer that provides some of the J2EE functionality that's not readily available in J2SE."
Zeosoft is focused on integrating tightly with the market-leading J2EE servers. A limited edition of the company's toolset is already available with BEA's WebLogic. Huestis says it shouldn't be long before they pop up in BEA's leading competitors. Pricing hasn't been set yet, but Huestis estimates that a 25-seat (Java programmers) version with 100 runtime licenses for the end users will run somewhere between $30,000 and $50,000.
What do you think? Share your thoughts with your fellow readers at ZDNet TechUpdate's Talkback, or write directly to david.berlind@cnet.com.
Got a great tip? An industry rumor? Or do you want to submit your own column to ZDNet TechUpdate? Send David your submission, and if we use it, you'll be compensated with some of the cool vendor schwag that arrives in our mailboxes on a daily basis.










