Apstrata basic concepts
Apstrata is a Back-end as a Service that provides REST APIs
The Apstrata API groups
Apstrata provides APIs in 4 groups:
- Identity: User & group management and authentication service
- Persistence: Database and media management service
- Orchestration: Server side scripting service
- Messaging: Email and other messaging service
The persistence model
Apstrata providers a NoSQL database service with a "document" (or "object") basic entity paradigm. Our database service provides more natural abstractions for storing business objects compared to the classic relational model.
If one were to store most real-life business objects (for example a blog or a purchase order) in a Relational database one would need to create multiple tables, using 3rd normal form schema and to use triggers and stored procedures to enforce data integrity and application code to enforce security rules and provide digital asset management (file attachments).
In contrast, the Apstrata database uses a document metaphor to store the business object. All of the fields, rules and security are defined and stored together.
The Apstrata database supports more naturally the complexity and richness of the business object natively and greatly simplifies the development, maintenance and enhancement of business application data.
Apstrata doesn't create an artificial limit between meta-data and digital assets, furthermore the store provides an automatice versionning of document changes. Our full text search service automatically indexes meta-data and digital asset contents (MS-Office or PDF files).
Concepts
- Store: The equivalent of a database in RDBMs, depending on his account type, an apstrata account owner is give the ability to create an arbitrary number of Stores to store his data.
- Document: The basic storage entity to persist data. A document is saved in a particular Store.
- ACLs: Fields in a document can be arranged into Access Control List groups. The ACLs enforce the list of users and groups that are allowed to view or write into certain fields or delete a document.
- Multi-Value fields: A field can be designated as multi-value, receiving an arbitrary amount of values (or as set by its cardinality property).
- Attachement: Binary file types (such as images, videos and Office or PDF documents) are stored into documents exactly like the meta-data (text, numbers).
- Version Control: Documents can be version controlled.
- Full text Search: All documents stored into apstrata are full text indexed including their attachments.
- Schema: A document can be created based on a schema that enforces field types and ACLs.
- Transactions: Our Stores support ACID transactions, multiple simultaneous operations succeed or fail together