This morning’s general session was the Microsoft keynote. Microsoft and Sun made a pretty good attempt at trying to convince the crowd the the two companies are friendly competitors, and the interoperability is the highest goal for both. It looks like they may indeed be making inroads in the data center - SOAP interoperability (finally, after all of these years) for enterprise applications. I suppose that we should be grateful for this. I am, as far as this goes. I’ll really be convinced about MS’s interoperability when then stop “embracing and extending” standards, like ODF.

Alan Bateman from Sun and Carl Quinn from Netflix presented “Hacking the File System with JDK Release 7” They presented a whole new NIO system that has been developed for JDK 7. Some highlights:

  • A FileRef class that is a "dumb" reference to a file, that doesn't know the file's path
  • A Path class that subclasses FileRef, and provides the path and methods to inspect, compare, and minipulate it. One very cool thing is that Path implements Iterable, so that you can iterate through the pieces of the path.
  • FileSystem - represents the file system, and acts as a factory for other file system objects
  • FileStore - a single device in a FileSystem
  • FileSystemProvider - not generally seen by the developer, but allows custom file systems to be implemented
  • The "legacy" File class has been retrofitted with a toPath() method for interoperability
  • new SeekableByteChannel class
  • DirectoryStream - to iterate a directory's contents, without having to load it all into memory first - great for very large directories and network-based file systems like NFS or Samba
  • Files utility class, with walkFileTree method - does depth-first traversal, with filtering capability
  • WatchService and FileChangeNotification classes - no more polling the file system to see if something changed.
    • Path implements Watchable
  • Advanced handling of file attributes (java.nio.file.attribute package)
    • different views, depending on underlying file system implementation, e.g. BasicView, PosixView, ACLView

Don Brown from Atlassian presented “OSGI on the Web: Here’s How” His approach (one of several possible approaches) was to integrate the Felix OSGI container into his existing plug-in framework. He did a quick demo, which was very impressive - adding new functionality to an existing open-source forum application. A real plus is that Atlassian has open sourced the plug-in framework, so it could be pretty easy to do this with your own app. See

The afternoon general session was presented by IBM. They showed a video that was very impressive, and must’ve cost several times my yearly salary. Then Craig Hayman, VP for WebSphere Software, presented IBM’s vision of a “Smarter Planet”. It was mostly a sales presentation for the IBM platform, but he did talk about all of the work that IBM has done on Apache Harmony. Great project, among other things, it forms the basis of the OS for the Android phone. By the way, you can purchase a “CloudBurst Appliance” from IBM for only $45K to manage your own internal “elastic cloud” :-)

I attended a few other sessions today, but nothing particularly worth blogging about.

JavaOne is almost done. It’s been fun and informative, but frankly, I’m ready to get back home.