Taking your data(base) with you
The eternal gotcha with webapp is that "you can't use them on a plane". Connected as we might be much of the time, there are times you're offline, and therefore out of luck.
Or are you? There are plenty of tasks where you should be able to keep working and reconnect at some later time, when you have connectivity. Any developer worth his or her salt knows that this is how source-code management systems like CVS and Subversion work: you need a network connection to check out or update code from the repository, but until you're ready to commit or do a new update, you don't need access to the server. You save your changes locally, queue up
svn adds and their associated comments, and then synchronize with the repository in one fell swoop when you're ready to
So, if it works for you and your code, why shouldn't it work for your users and their data? David Van Couvering takes on this challenge
in today's Feature Article,
Synchronizing a Web Client Database: LocalCalendar and Google Calendar , in which he uses Java DB to keep a local copy of a calendar that syncs with an online Google Calendar.
To build a disconnected or offline web application, there are three main requirements: local storage, synchronization, and your application logic needs to be available offline. The concepts around synchronization are fairly straight-forward once you understand them. Building and delivering this kind of application is possible and achievable, and can provide great value to your customers.
In Java Today,
Java Unlimited's annual Java 4K Programming Contest is underway again. The contest challenges developers to create an entire Java SE game using less than 4096 bytes in the final executable -- the games must be entirely self-contained, pure Java, and use only JRE-supplied classes. Sound challenging? Last year, there were 55 entries, and in 2005, 50 games were entered. The top five entries win a free copy of the Java-based Tribal Trouble.
The 2007 O'Reilly Open Source Convention has opened its call for papers. A track has been set aside for Java -- with "Java as open-source" identified as one of the CFP's "hot topics" -- and Java presenters might also consider proposing sessions for the database, desktop applications, web applications, security, and emerging topics tracks. The CFP closes on February 5. The conference takes place July 23-27 in Portland, and expects to feature 400+ sessions and 40 tutorials for the expected audience of 2,500.
Saying it's part of "maturing and playing a more active part in the broader community", the Eclipse Foundation is in the process of joining the Java Community Process (JCP), as well as the Object Management Group (OMG) and Open Services Gateway initiative Alliance (OSGi). In a blog, Eclipse's Mike Milinkovich says "Sun has always acknowledged that Eclipse is part of the larger Java ecosystem, and we've always used JCP specifications. It's simply time to recognize that."
The iPhone's not the only device with a touch screen, and that has some wondering about ME support for that kind of input method. In today's Forums,
hallenberg kicks off a Touch screen thread:
"I recently got new hardware to try with phoneME. This one has a touch screen and very few keys. Since the touch screen does not work in phoneME it would be nice to know if there is support for pointing devices at all, and if so, what's needed to get it working."
mac_systemswonders about browsing fonts in
Re: Any plans for JXFontChooser?
"I might be mistaken here with newer versions of Java2D but at least in past versions loading a Font was really expensive. Won't it be more efficient to have something like a font fetcher interface rather than a filter interface? Or is the performance of Font object creation not a problem (or no longer a problem)?"
stezakposts a Mobicents update in
Mobicents Management Console - New features:
"Together with the update of resource adaptor management in mobicents, MMC has been enriched [with new] features, which now let an administrator handle: - display of all information about resource adaptors and resource adaptor entities - creation and removal of resource adaptor entities - activation and deactivation of resource adaptor entities - editing of resource adaptor entity configuration properties - creation and removal of entity links"