BOBUP is a platform-independent, application-independent framework for backup and recovery. BOBUP focuses on backing up application entities, rather than files and databases.
Traditional backup methodology involves backing up files and databases that comprise the application. If there are several applications running on a server, this backup approach can cheaply cover all applications without being application-centric.
The big downside, however, is the expense of restoration. Traditional backups work best when an entire system needs to be restored (as in a crash). They are inefficient when used to restore "pieces" of an application. Higher the granularity (i.e. the smaller the "piece"), higher the inefficiency. The granularity of an application "piece" is typically an application entity.
Consider the case where a healthcare plan administrator accidentally deleted a patient record. Chances are high that some time, even a few days has elapsed before the user discovers the delete. There are two choices: (a) restore data from a backup. (b) recreate the data. Recreating data may not be possible, while restoring data from a prior backup is expensive. In a high volume enterprise application, restoration typically involves IT staff. Either the system has to be restored to the "last good state" and rolled forward with current data or pieces of the backup data must be extracted and applied to the current data.
Applications used to be primarily database-driven. So backup strategies focused around the database.
A modern thin-client application comprises much more than the database. Data can come from web services, data feeds, portals, caching servers and include images and video.
In this heteregeneous space, traditional backups cannot cope during the restoration process. There are just too many elements of the application to be "tied" together.
With this paradigm, let us revisit the scenario of the healthcare administrator deleting the patient record, but with the BOBUP framework integrated into the application. This "record" may include basic data about the patient plus more complex material like photograph, scanned documents, enrollment transaction history, doctor visits etc.
Via the framework, the application can browse a list of backups and locate the deleted record. The user (or the admin if the user does not have that privilege) can then have the application restore that record. No current data is affected, no systems are taken offline and manual input (and error) is minimized.