InstantDB Project
About InstantDB
Project Mail Lists
Short History
Reporting Bugs
Screen Shots
3rd Party Examples
FAQs

Software
Downloads
Documentation
CVS Repositories
Roadmap
License

About Enhydra.org
Who We Are
News, Articles & Events
Getting Involved
Contact Us

Community
Demos
Contributions
Resources
Case Studies
On The Edge! -NEW-
Commercial Vendors



XML and Open Source Deliver Wireless Application Infrastructure

At least 200 million people use the Internet today to communicate with others, search for information, or perform some type of commerce. In contrast, there are 300 million cellular phone users worldwide[1] today. As a result of new technologies like Short Message Service [SMS] and the Wireless Application Protocol [WAP], cell phone users have joined the Internet revolution - as illustrated by the 2 billion emails they sent using their phones in October 1999, the multi-month backorders of cellular phones capable of Web site browsing, and the emerging mobile eCommerce market segment, which is projected to grow from just $313 million in 1998 to $23.7 billion by 2003[2].

If we believe the phone manufacturers, there will be 1 billion cell phone users by 2005. According to Nokia and Ericsson, fully half of these will be Internet-enabled, creating a mobile Internet platform with hundreds of millions of users. Take into account that the Federal Communications Commission [FCC] has mandated that by the end of 2001, all cell phones will be able to broadcast their geographic location using GPS, and all of a sudden cell phones have become the most sophisticated and dynamically controllable Internet appliance ever imagined.

Enter the Open Source movement
Before wireless began to dominate the press, the technology darling of the last few years has been world-beater Linux and the Open Source movement that delivered Linux. Those who have been involved with the Internet for years know that Linux is only one of a number of key technologies that has been spawned and nurtured by the Open Source movement and helped deliver the Internet itself. Who can deny that Open Source graduates sendmail, the NCSC browser, and the Apache Web server were largely responsible for expanding the Internet from the lab to the mall?

Is Open Source relevant to the accelerating emergence of the wireless world? Are there efforts today? The answer, of course, is yes. But before considering these efforts, some key standards critical to providing linkages between wireless and Internet technologies and infrastructures could bear review.

Taking Web applications wireless
The implications of the above-cited growth and evolution in cell phone technology are ominous. Aggressive Internet dot coms and business-to-business product companies must plan to support their increasingly mobile customers with the content and services of their Web applications. This must be done within the restrictions of the more hostile environment of handheld display devices, which are less accommodating than their PC counterparts. Handhelds, particularly cell phones, are constrained by low power consumption requirements, low speed CPUs, nominal bandwidth, and spotty connections. Worse yet, these devices have barely 12 keys on their phones to support navigation and data entry functions.

Despite technical and interface design challenges, wireless support is a natural eventuality for Web applications. Receiving notifications when, for example, your Mercata bid has crashed below your hoped-for price point is something perfectly suited for a Web device on the go. The challenge is for vendors to find a way to rework their existing Web applications to "speak wireless."

XML bridges the display gap
There are two general challenges for Web applications in a wireless world: presentation and connectivity.

Presentation refers to the display of content and the user's interaction with mobile applications. Of course, the more mobile devices behave like browsers, the better. The wireless industry's answer to HTML is the Wireless Markup Language, WML, a derivation of HTML in XML format. Unlike HTML, WML takes full advantage of the mobile user's experience. The screen is described as a deck, broken up into cards to deal with the constrained viewing area. The phone's keyboard is assumed to be the default set of controls, rather than the standard QWERTY keyboard. And the phone's micro browser even has a scripting language, WMLscript, and keypad accelerators.

In an environment of exploding technology strategies, there is more than one way to address the support of multiple display devices. One technology for performing XML-to-HTML/WML transformations is the style sheet specification, XSL, eXtensible Style Language. Using the appropriate XSL style sheet, the Web server/Application server can format the XML data to appear correctly on the target Internet screen. An Open Source effort, discussed below, uses Java manipulations for transforming documents on the server side.

The key to any successful application in the future will be its ability to create a well-formed XML document, accurately interpreted for any browser's experience, wired or wireless.

WAP gateways deliver connectivity
Generating WML is all fine and good, but once you have it, how do you actually deliver it to a wireless device? The fact is that HTTP is not appropriate for handheld devices. The technology destined to overcome the resource and communication constraints of wireless devices is WAP, the Wireless Application Protocol. WAP, as defined by the WAP Forum, provides the presentation and delivery of wireless information and telephony services to mobile phones and other Internet appliances, such as Palm Pilots, WinCE devices, and automobile computers.

How do you get bandwidth-hungry Web applications to negotiate with wireless devices? The answer is the WAP gateway. WAP is the HTTP of the wireless world. A WAP gateway is purposely designed to leverage the bulk of existing content and services on the Web side and deliver it to the phone side. WAP translates from one stack, HTTP, to the other, WAP. It encodes and decodes Web content into a compact form for the conservative wireless data network. WAP gateways are essential, helping to isolate the proprietary mechanisms used by phone companies to access individual subscriber's phones.

The Open Source engines for wireless applications
The advance of Web support for the wireless industry is about to get a boost from the same source that made Linux nearly a household term: Open Source. Open Source is an amazingly natural phenomenon - spurred by the Internet - that leverages email and newsgroup technology to link thousands of developers across the world to produce top-quality code. With fingertip access to source code, constant code review is an inherent process that ensures optimal code supported by many. No proprietary vendor, including Microsoft, can mimic the development and deployment environment that Open Source represents.

The Open Source movement is growing to accommodate the WAP and XML standards. Already, a number of organizations are providing wireless building blocks to the development community.

Apache Xerces for Open Source parsing
A significant event took place in December 1999 when IBM contributed the code base of its XML4J XML parser to the Apache project, code-named "Xerces." This commercial grade tool cleared the logjam of other Open Source efforts keying on the XML standard. Available for download from the xml.apache.org group, Xerces is an XML tool that reads XML-formatted data and generates a data structure in the form of a Document Object Model, or DOM. The DOM class represents the XML document as a hierarchical tree of tags, or elements with attributes. Thus, program logic can manipulate the XML content in memory using an object-oriented view of the document data. Defined by the w3c.org group, the same group that defined XML, the DOM specification also includes the programming methods used to traverse, trim, and augment a DOM tree. The quality and completeness of the IBM parser combined with its Open Source status has given a boost to many Open Source efforts, wireless and otherwise.

Enhydra XML Compiler (XMLC)
One of those dependent efforts is Enhydra, an Open Source project (www.enhydra.org) that supports a Java/XML application server. Though not originally designed to support wireless application development, the Enhydra community saw the value of the XML compiler, XMLC, to co-serve WML and HTML presentations. XMLC uses the Xerces parser to put XML in control of serving up Web documents. Originally, XMLC was created to avoid all the limitations of embedding programming logic inside a markup language, as popularized by JavaServer Pages, JSP, and Microsoft's ASP.

XMLC's approach addresses many of the shortcomings of WML/XSL generation. XSL was designed to completely separate content and presentation in the publishing world. Writers produce the content and give it to designers, who specialize in style sheet creation. This model works well for paper publishing, allowing writers and designers can concentrate on what they do best.

In Web publishing, however, designers design the pages and programmers insert the logic that brings those pages to life. In other words, both designer and programmer work on the presentation. The content is stored in a database and is separated from the presentation template (i.e., layout). The real-world problem with embedded script like JSP and ASP is that every time a designer changes pages, programmers have to re-do all their code insertion. In the paper-publishing world, a presentation is designed to be handled by a designer, whereas in digital publishing, the effort is further divided among designers and programmers.

XSL, without extensive tools support, doesn't address this problem. XSL is an extremely low level language, and it is difficult for non-programmers to create. More succinctly, the tools for supporting XSL-based development are not yet matured. In the real world, this fact is a showstopper. XMLC reduces the reliance on XSL for device-specific transformations, making it possible to continue using XSL style sheets, but in more useful, non-programmatic ways.

XMLC compiles HTML/XML into a Java object presentation in order to simplify the manipulation of the presentation programmatically. The application retrieves the Java object required to generate the document.

Internet consultant DigitalSesame (formerly Topware Technology), www.digitalsesame.com, was commissioned by the online newspaper service FormosaToday to construct a Web application to support the distribution of news content to multiple devices, from browsers to handheld devices. DigitalSesame used Enhydra and the Enhydra XML compiler to build a content management system called Avalokit. To serve FormosaToday, XML is used heavily in the backend for content storage. XMLC is used to build the DOM from XML sources, and then manipulate it via XMLC accessor methods. Java is used to manipulate the DOM tree, alleviating the need for XSL scripting.

Even though Avalokit relies heavily on XML in its backend storage, DigitalSesame chose to use XMLC instead of XSL for the presentation creation. The practical question in dealing with Web and handheld publishing is how to coordinate between designer and programmers? In order to design the best possible presentation on a new device, designers must do a lot of experimentation to become familiar with the characteristics of that device.

With XSL, designers must communicate with programmers to transfer that same knowledge. Programmers have to learn all this in order to execute the code insertion. This methodology is fine if time is not an issue, but time to market normally cannot tolerate this painstaking approach.

With XMLC, designers give the mocked-up pages to a programmer who compiles the pages into Java and manipulates the Java object to alter the content. DigitalSesame found that this approach significantly cut down the time to market for a content site serving a new wireless device.

Looking ahead
The migration of today's Web-based services to the wireless data network will be somewhat rocky. But overall, it's just a matter of leveraging the incredible cooperation of industry standards groups and Open Source efforts. Usually, a new industry is fraught with incompatibilities and backroom political brawls. Certainly some of this still exists. But the level playing field created by the combination of de facto Internet standards and technologies such as WAP, XML, WML and DOM will excuse the migration to the wireless world from many traditionally wasteful battles.

___________________________________________

[1] Source: Dataquest
[2] Source: Durlacher Research

© 1999-2000 by Lutris Technologies Inc., Santa Cruz, California, USA. All rights reserved.

 

 


 


Wireless Tutorials

Wireless Web Sites

 

 

 

If you would like to contribute wireless news and information to this area please write to: webmaster@enhydra.org