High Wireless Developer’s Safety Net
Jonathan Knudsen’s <i>Wireless Java</i> will have you writing PDA-friendly SQL Server apps in short time.
“Its time to expand to SQL Server and PocketPCs,” my boss announced. My heart leapt with excitement! Working at a company that uses Java to administer Oracle databases from wireless PalmOS clients has not always been easy for a dyed-in-the-wool Microsoft fanatic.
“So I get to build everything using .NET?” I asked. “Not quite. The client needs to keep working on PalmOS—and phones, too, if you can manage it.” The wheels started turning. .NET Web Services communicating pure XML-over-HTTP seemed the obvious solution. But, how could I write client applications that I could trust to run on any platform? That’s where Jonathan Knudsen’s Wireless Java from APress comes in.[Full disclosure: Reviewer Derek Ferguson is currently writing a book for publisher APress.—Ed.]
I first heard about this book while speaking at a Java conference. I was sitting in on a session about J2ME led by Knudsen. J2ME is the flavor of Java that Sun has targeted at non-PC devices, such as PDAs, cell phones and even automobiles. His book proved to be my salvation on numerous occasions, both at my “day job” and while researching J2ME for my own book. You may be put off by this book’s diminutive size—only 175 pages, excluding the Appendix—but I strongly recommend it.
One of J2ME’s greatest strengths is its strong compatibility with the Java programming language as a whole. For this reason, Knudsen really only needs to educate the reader about the differences in Java when programming for mobile devices. Any more pages devoted to this topic would truly be a waste of the reader’s time.
This having been said, I do suspect that Chapter 9, “Programming a Game Interface,” could have benefited greatly by focusing on the construction of a single, fully-functional Java game. Instead, the chapter relies upon a number of smaller, less immediately-useful code snippets to illustrate his discussion.
The true “jewels in the crown,” though—the chapters that make this book an absolute must-have for anyone integrating Java with .NET—are the bits on XML and J2ME networking. Knudsen profiles five different XML parsers for use with J2ME, telling the reader not only where to get them, but also how to cope with the differences among the various implementations.
Network connectivity is always a disappointment where J2ME is concerned; simple HTTP support is the only requirement currently specified. For my purposes, however, the book paid for itself ten times over simply by showing how to conduct secure communications using Bouncy Castle’s cryptography package.
By applying the XML and networking knowledge contained in this book, I have already managed to build several J2ME applications that can work with .NET Web Services. These successes have benefited me both as current Senior Product Developer for PocketDBA Systems and when writing professionally about .NET.
Derek Ferguson, MCSD, is Chief Technology Evangelist for PocketDBA Systems, a wireless technology company. A Sun Certified Java Programmer and Certified Lotus Principal Professional, Derek is the author of several books, including Debugging ASP (McGraw-Hill), MCSD Solution Architectures (New Riders), and Broadband Internet Access for Dummies (IDG), and has been a featured speaker at Wireless DevCon 2000 and the International Conference on Java Development 2001. He's currently writing a book on writing mobile .NET applications for APress.