I saw a television ad the other day that portrayed someone using a cellular phone as a fancy cash card to make a vending machine purchase. As a person who hates to carry loose change - once you start, you suddenly realize you have a pocketful - this spoke to the kind of useful integration into people's lives that a new technology needs to be successful.
If you think a cash card is easier to carry than a cellular phone...you're right. But the integration of functions into one device is more convenient still.
A cell phone is one device that could act as a cash card, map, traffic-status monitor, voice recorder, and yes, a competitive deep-sea fishing game.
That last one isn't a joke, by the way. I hear it's the most popular downloadable content in Japan. Apparently the phone vibrates with the tension on the line.
Everyone agrees the wireless industry is poised for incredible growth over the next couple of years.
More interesting is that by 2006 wireless may well supplant wireline as the dominant means to access services. This means there will be an increasing number of users who <i>only</i> have wireless access. And that access will be fast - even 2.5G has a bandwidth comparable to the DSL lines many of us use today.
An examination of the wireless applications being developed shows the network and back end as critical elements of the overall solution. E-mail, consumer e-commerce, and location-based services are a few examples.
Even a deep-sea fishing game needs to synchronize scores, and perhaps simulate the fishing lines getting tangled when 20 suits on the same Tokyo street corner hook a marlin at the same time.
This begs the question: "What infrastructural capabilities are required for the server-side of wireless applications?"
Scalability is clearly most important. Many people will be using handhelds to access a wide variety of services.
But there are less obvious requirements.
Many of these applications aren't <i>pure wireless</i> - they need to access back-end applications and data. So effective integration with back ends using a standards-base architecture is critical to the success of the wireless application. Effective in this case means both capable and easy to program, because faster time-to-market for both new applications and upgrades will be important to profits.
These back-end applications don't all run on one platform. Consumer e-commerce applications will need to be integrated with billing and shipping systems, some of which have been around for many years, and deployed on a wide variety of hardware.
Another reality is that consumers will access the same services with a multitude of devices, from palmtops to phones and even the desktop. A large online book retailer lets me browse and buy books from my desktop and palmtop - hopefully using the same application code.
Finally, these applications will see rapid upgrades. We're entering a world of mix-and-match services in which new applications will be aggregated out of existing services as quickly as people can imagine it. Sometimes these applications will be transactional, as in e-commerce. This leads to the requirement for a flexible component reuse platform that allows <i>just right</i> integration.
We're looking for a highly scalable platform with great support for back-end integration, device- and platform-independence, and flexible component reuse that supports transactions.
This is where the J2EE fits in. The Java technology community has been solving these problems for years now, and J2EE version 1.3, released in September 2001, has the solutions in a 3G platform.
In particular, the J2EE Connector Architecture provides frequently demanded standardization to the integration of back-end systems into new applications. This is what will eventually make these new wireless applications useful, and foster the adoption of the next wave of wireless applications.
The J2EE Client Provisioning Specification, currently in process, will go one step further to manage and deploy the different client-side parts of applications that serve multiple devices.
Even better, J2EE eliminates vendor lock through strong third-party vendor support.
Check it out.
Gotta run, I've got a fish on my phone.
Glen Martin is the J2EE Specifications marketing manager at Sun Microsystems, and is responsible for specifying and advocating the future of enterprise Java. He has 14 years of industry experience building everything from packet switches to development tools.