Virtual File System
December 28, 2010
The “Virtual File System” (VFS) is combination of server-side and client-side software for making all data storage appear identical in the Smalltalk environment.
In the image above, I have a file browser open on a “file directory” in the Google Application Engine. Of course, the data is actually being stored in Google’s “Big Table” database. But, due to server-side VFS (in Java), it appears to be a regular file directory.
VFS also restricts data access by the user sign-in identity – a user can only access his/her data. There will also be a “public data” capability added in the next few days.
On the desktop, data is stored in the local file system, but it appears the same way in Smalltalk. Whether data is stored on a remote server (Google App Engine, PHP/MySql, Amazon S3) or on the local machine, it will appear the same way in the Smalltalk environment.
Also, VFS stores objects, not just text. Any object that can be serialized by JSON can be stored in VFS. So, if you store a dictionary, you will receive a dictionary when you retrieve the data.
The File Browser allows creating, copying, renaming, and deleting files.
At the moment, it requires a user to be signed in – there is no public browsing yet.
VFS will be the basis for shared developer libraries and application deployment. It is working now on Google App Engine – a PHP version may be available in a few weeks.