|
aMess
a Messaging Program
|
|
Data Storage
The data storage module is an abstraction presented to the core module (or
anyone interfacing with it) to manage the storage of any persistent data
storage. This point must be emphasized, mainly because all volatile info
would be stored in memory storage (accessed through variables), and not
through the Data Storage. Albeith the generic name is retained for
simplicity, and because in a future implementation volatile info could be
accessed also through this module (this could be very useful for data that
must be encrypted).
To allow a generic use of this interface (and that allows the storage in
any media) in a consistent way across any storage access method (plain text
files, relational databases, etc.), hidding the implementation details to
the core.
First sight
The actions that all storage allow us to do are reading data from it and
writing into it. Additionally there's security considerations to do, such as
context creation (authentication), internal data structure preparation, and
so on.
Based on these generic assumptions, the next methods will be used:
- open: initiates the relationship between the program and the data storage
- close: closes the relationship
- read: reads data objects from the data storage (first usage)
- read_next: reads the next object from data storage
- insert: adds tha passsed data to the data storage
- update: updates the passed data into the data storage
Additionally the storage will be separated into distinct storage classes,
each one representing a conceptually different stored data but that could
be implemented in the same media. Examples of these are configuration data,
profile data and e-mails.
|
aMess
a Messaging program
|