Skip to Content

Introducing BlueFS – a database backed and versioned filesystem on the ABAP stack

Because everything is a table in the ABAP programming model, the standard way of ensuring data persistence is to use database tables. However, there are situations when one simply needs to store, name, organize or even share chunks of data. Ideally, one would like a true filesystem, similar to Unix or Windows.

BlueFS introduces such a powerful filesystem inside the Netweaver Application Server that is fully integrated with its lifecycle and user management. BlueFS comes with an easy and intuitive interface and it even supports WebDAV for external access. The features as overview:

  • Versioning
  • Every time one changes or deletes a file, the old version is implicitly saved. This feature allows a trip back in time, without ever losing data!

  • Partitioning
  • BlueFS supports partition folders whose content is stored in separate tables.

  • Multi-Tenancy
  • BlueFS supports Unix-like rights management on file and folder granularity. For example, the creator implicitly has all “rwx” rights and can define them for other users. In contrast to the Unix file system, our current version does not have the notion of “groups” yet, but it has been designed to be extendable to such notion.  

  • Concurrency
  • Concurrent modifications are detected so ones avoid the “lost update” problem.

  • Speed
  • BlueFS is designed with high performance requirements in mind, and is optimized for read access. Due to its implementation (using DB tables as persistency store),  a future search function could be significantly faster than standard filesystem implementations.

  • ABAP Lifecycle Support
  • BlueFS fully integrates with the ABAP lifecycle management system (transport system), so one can easily transport the data between different systems. It is also possible to transport only parts of the filesystem when using partition folders.

  • WebDAV Support
  • BlueFS is accessible from Windows, Mac OS X, or any other WebDAV client, making data copying from one system to another easy.

So why not just use the MIME repository? Well, we’ve had a look at it and decided that this is not suited for our needs. First, MIME has been designed as a repository, write once – read often. A true filesystem has a more dynamic character. Second, the MIME repository supports only a subset of the features we need (listed above) and we wanted true versioning (not only on transport granularity) and an independent rights management.

An alternative would have been to leverage the API to access the underlying operating system’s filesystem. However, this option neither offers a lifecyle nor a user management integration, making data untransportable, not to mention the absence of any versioning, partitioning or WebDAV support.

BlueFS has been developed as part of the BlueRuby project (to satisfy Ruby’s notion of a filesystem) but due to its lack of dependencies to BlueRuby it can be easily reused in other contexts. BlueFS is a research project and is not part of any official SAP product or near future release. However, we are currently offering a BlueRuby trial, so if you want to try it out feel free to contact me at

Be the first to leave a comment
You must be Logged on to comment or reply to a post.