|
|
||
David Van Couvering 's BlogMay 2006 ArchivesThe Synchronized WebPosted by davidvc on May 30, 2006 at 05:30 PM | Permalink | Comments (3)I was listening to a RedMonk podcast with James Governor and Cote talking about their impressions of JavaOne and Sun. They were quite enthusiastic about Sun and Java (disclaimer: Sun is their customer) -- nice things to hear being a Sun employee and a Java enthusiast. The other great thing they talked about was near and dear to my heart, and this was the Synchronized Web, as James has coined it . This defines a class of web applications where you have the ability to run your application both online and offline, including the ability to synchronize your data for this web application between your local machine and the server. Francois Orsini and I were having drinks with Mr. Governor and David Berlind after hours at Java One and James (in a bit of tipsy enthusiasm) came up with this new term, and mentioned he was going to start talking about it, and here it is. There seems to be some synchronicity (no pun intented) around this, because I was just talking with Bob Brewin, our tools Distinguished Engineer, and he said this is a vision he has had for quite some time. In his podcast James specifically mentioned JavaDB as part of the technology to enable this new class of web applications. Cote was also talking about being able to run all your applications off of a USB stick, something I (almost) demonstrated at our Apache Derby talk. So, it sounds like another lightbulb moment, this time with the folks at RedMonk. I am talking with Francois Orsini about pulling together a proof of concept that shows how you might accomplish synchronizing a Java DB database embedded in the browser with a backend server. This shouldn't be too hard to accomplish, but it would all be hand-crafted code. What we really want is to get this type of synchronization into the product itself. But that's a fair amount of work; in the meantime we're going to try to show you how you might do this yourself to build a Synchronized Web application. So, stay tuned. Lightweight persistence in the browser and the clientPosted by davidvc on May 25, 2006 at 05:55 PM | Permalink | Comments (2)A very nice article by Josh Marinacci about how to get some simple persistence on the client side, using the new Java Persistence API. By the “client side,” in this article Josh means Java clients, not browser clients. I have been thinking about what it would mean to get Java Persistence into a browser (assuming that the app developer wants to work in JavaScript, not Java). I wonder if Java Persistence really helps, because what you really want is something native to JavaScript. Well, now what does that mean? JavaScript is a dynamic language. Object types can and do change dynamically. So how do you map a JavaScript object into a database table? Hmm... Something I'm going to go look into. By the way, Josh uses Hibernate and HSQL in his example. But Hibernate could be replaced by any lightweight Java Persistence implemetation, and HSQL could easily be replaced by Java DB (shameless plug). People regularly ask me why would they want to use Java DB instead of HSQL, and my answers consistently are: with Java DB you get full recoverability and database consistency even in multi-client/multi-threaded applications, you get support from a large established company, and you get a very robust developer community. These may not be important to you, but they are important to a lot of folks, and that's why I think Java DB has value. Silly database joke: database developers are robust, consistent, and durable, but they can also be very isolated. Need a hint? See http://en.wikipedia.org/wiki/ACID Google Summer of Code is on!Posted by davidvc on May 25, 2006 at 02:14 PM | Permalink | Comments (0)The Google Summer of Code is officially on, and the Apache Derby project got three great students to work with us. This was my first time participating in this, and it was interesting, somewhat chaotic, a bit confusing, but it was also great to work with all these other open-sourcers on pulling this all together. Kudos for Google for managing this, and it's also great to see how many open source projects are going on out there. For Derby we have Ramin Moazeni working on writing a migration tool from MySQL to Derby, Gokul Soundarajan working on improving the algorithim for the LRU cache manager, and Sanket Sharma working on adding JMX support to Derby. If you're interested, you can find out more about these projects and their ongoing status at http://wiki.apache.org/db-derby/GoogleSummerOfCodeProjects. Portable offline data for a web app - Derby on a stickPosted by davidvc on May 18, 2006 at 04:25 PM | Permalink | Comments (2)Well, my efforts to do the demo continued to run into obstacles, and was finally killed by the fact that at the last minute the USB reader on the demo machine set up for us in the session hall stopped working. So I had to talk about it and use the four words no demonstrator ever wants to say: “you get the idea.” But the session was well attended, the audience seemed interested, I got lots of positive feedback, and the subsequent Derby event was packed, so much so that we had to ask non-Derby Sun and IBM employees to leave so that the fire marshal wouldn't throw us out. Before I forget, I want to remind you that what I almost demonstrated at the Apache Derby talk, and what I have demonstrated numerous times elsewhere on machines with a working USB port, was the portability of the data. Apache Derby data format is completely portable across platforms. So I was able to copy my database to a USB stick on Solaris, hand it to Dan, who plugged it into his XP machine. He then pointed is DerbyTax app to the USB stick, made some mods, handed it back to me, and I plugged it back into my Solaris machine and saw his mods. You see what this implies, right? I can take my data with me, go to any machine that has Internet access, and keep going where I left off. I can keep all my docs, my blogs, my news reports, on my stick, and work anywhere, with a web-based app. I could even copy the entire app to the USB stick, so I can work offline, anywhere, on any machine. Cool stuff. Removing my home directory, JavaOne, and Minority ReportPosted by davidvc on May 16, 2006 at 04:53 PM | Permalink | Comments (0)Well, it was a long night for me last night. I couldn't believe what I did. I thought I was removing the database directory on my machine but instead I blew away my entire home directory! Luckily I had it backed up, but I had to redo all my changes for the demo I'm doing tomorrow in my talk and was up until midnight. Then my daughter, bless her heart, was up like clockwork at 6am saying “read to me Daddy, read to me!” Derby Drinks and Discussion DowntownPosted by davidvc on May 15, 2006 at 10:09 AM | Permalink | Comments (1)JavaOne is in full swing, and it’s getting mighty busy. We have a lot of folks from the Sun Derby team in Norway coming to visit and I’m trying to set up meetings with them, trying to prepare for my talk (including getting the demos to actually work and rehearsing timings with Dan), trying to figure out what sessions I want to go to, trying to meet with other folks coming in for JavaOne. At the same time, I’m trying to figure out what proposal I am going to mentor for the Google Summer of Code. I feel bad for the students, they haven’t heard much from me this week :(. I do want to invite any and all of you coming to JavaOne to come to the Derby event hosted by Sun and IBM on Tuesday night from 7:30-9:30 at Jillian's in the Sony Metreon. It’s happening just after the Derby talk (at 5:45 in Hall E134). There will be many of the committers, contributors and users of Derby there, and we expect to have some lively conversations. There will be beer, wine and tasty snacks. The Sony Metreon is right next to the Moscone Center -101 4th Street. Jillian’s is suite 170. So, see you there! David Berlind of ZDNet sees the lightPosted by davidvc on May 01, 2006 at 04:17 PM | Permalink | Comments (2)The lightbulb effect continues to grow around the potential for Java DB to act as an offline web cache for web-based applications (e.g. those using AJAX to provide rich browser-side functionality). David Berlind of ZDNet just posted a great blog about his “aha” experience around this. I love how he waxes poetic about using it in an airplane with your USB stick. I’m going to do a demo showing how you can run the DerbyTax demo off a USB stick during my JavaOne talk. I haven’t tested it yet, so pray for me :) I noticed some complaints about having to download the JRE for this to work. I’m curious, how many of you think this is a real issue? I know at least with Firefox it has become so easy to install plugins, but I can also see the point that if a click is required, the click may not happen. On that note, I actually see Java DB in the browser having great value in corporate settings. Imagine providing a web-based app where users can store their own personal data (like legal forms, or expense records) their machine -- fast local database access, secure storage of sensitive personal information, the ability to run offline, but the application itself is centrally deployed and managed. It’s like the best of both worlds! And in the corporate world, it’s easier to require a one-click download of the JRE. But even in the consumer market, if the application has enough value, people will download the plugin. I also like David’s argument that Java gives ubiquity – you can build the same app and have it run on a laptop, a PDA, and (some day) on a cell phone. You don’t have to retool your app for each platform – JavaDB is a portable lightweight persistence framework. What I’d love to get back into Derby is the synchronization mechanism that automatically synchronizes between your local Derby database and some centralized store. This would make the offline model even more compelling. Is anyone game? Let’s talk... | ||
|
|