Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API
In Part 2, I discussed how to produce and synthesize XML content. In Part 3, I will demonstrate how to deploy a simple application to three different mobile targets using commonly available technology. You can't control the software and hardware environment of wireless devices but, by using well-constructed server technologies, you can economically adapt to them. Deployment, maintenance, and development costs drop if we only use one language. Of course, I would prefer Java to be that universal language for wireless devices, and that day may come to pass. In the meantime, however, you can utilize the methodology described in this article to support the various languages.
The 1-wire weather station provides a data source for many of the examples in Part 3. It is interfaced to the Brazil technology via a handler and can be found at http://www.brazilhandlers.com:9090/Applications/WeatherStation. Note that the concepts in this article apply to any data source and are not specific to the 1-wire weather station.
Read the whole series on Brazil technology:
One of the benefits of Brazil technology is that it removes the distinction between where the data is coming from and how it is delivered. For example, a client connected to a server utilizing the Brazil technology does little to facilitate communication with the device.
In this article's examples, you will look at the weather station data as content. In Part 2, I discussed how to convert the data to XML. As ubiquitous as XML may be, many XML extensions and unrelated approaches often require support on the server. It would be nice to only support XML, which is a perfectly valid approach, and ignore XML extensions. If you did, you can bet that everyone would come to your standard. Or you could architect your code to support multiple standards, which is a goal I hope to help you meet.
In this article, I provide all of the required URLS, examples, and some of the problems that I stumbled upon so that you can avoid the mistakes I made. All of the examples provide end-to-end solutions; a Brazil handler delivers data from a remote weather station to a remote wireless client using one of the following environments:
This article will focus on basic architecture and will describe how to deliver content from point A to B with respect to the particular client. I will not go into detail about the best way to design a user interface using J2ME or, in the case of WAP-enabled phones, how to organize cards in a WAP application using WML.
To understand what the server must provide to meet the client requirements, let's discuss each of the clients.
Due to unpredictable communication errors, wireless environments can produce a hostile communication environment. Palm has designed a hardware/software solution with the Palm VII that addresses the challenges of that volatile environment. Palm's handheld device Palm VII performs low bandwidth wireless operations. To facilitate application development for the device, Palm developed an environment commonly referred to as Web clipping; it features the following drawbacks:
To tackle those challenges, Palm developed a special type of database for wireless access called Palm query application (PQA).
You can think of a PQA as a self-contained mini-Website and Web clipping as the results page that answers the query sent from the PQA on the Palm VII organizer. To develop a Palm Web clipping application, write some HTML pages using standard HTML tags with some restrictions, such as no cookies. See the Web clipping programming guide for more details.
Run the Webpages through a program called QAB.exe, (unfortunately a Windows-only product) to create a .prc file that you will download to the Palm. Normally, you go to a Website by entering the URL; however, with PQAs, you create
a PQA for the Website that users install to access Web applications. As technology progresses, we hopefully will not have
to preinstall those apps, or perhaps Palm will provide a facility for downloading PQAs over its proprietary wireless network.
I wrote a small PQA, shown below, that sends a query to the Brazil handlers Website and returns users the results on their Palm VII. If you don't have a Palm VII, you can test that out with the emulator for the Palm VII called POSE. Each of the three technologies I discuss in this article provide emulators.
Listing 1: HTML file for the Web clipping application
<html>
<head>
<title>Weather</title>
<meta name="palmcomputingplatform" content="true">
</head>
<body>
<table>
<tr>
<td><a href="about_weather.html"><img
src="weathericon.gif"></a>
<td align="center"><h1>Weather Handlers</h1>
<p><font size="+1"><b>1-wire Weather
Station</b></font></p>
</table>
<br>
<br>
<a href=http://www.digiorgio.com/brazil/weather/GetSample.html>Get
Sample</a>
<p align="center"><a href="about_weather.html">About</a>
</body>
</html>
In this case, the Brazil server uses remapping to map requests from digiorgio.com to brazilhandlers.com if the first part
of the incoming URL is /brazil.
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq