Develop an abstract storage system for streams that supports transactions. This feature must accommodate storage subsystems using directory-and-file, content addressable, and keyed-stream paradigms. It must be suitable for use in development of storage layer plug-ins for the Fedora repository service and replace the current LLStore architecture.
This feature must support transactions with roll-back on error semantics. It is not required that this feature support JTA or be a fully compliant XA resource within the same transactional boundary as the Registry or the optional RI triplestore however it must be reliable with respect to those features. This feature should anticipate use as a JTA-XA resource in a subsequent feature development.