| Crates.io | bios-basic |
| lib.rs | bios-basic |
| version | 0.2.0 |
| created_at | 2024-10-23 07:42:50.206717+00 |
| updated_at | 2024-10-23 07:42:50.206717+00 |
| description | An embeddable message queue system |
| homepage | https://bios.idealworld.group |
| repository | https://github.com/ideal-world/bios |
| max_upload_size | |
| id | 1419804 |
| size | 914,954 |
WIP
For computers, BIOS (Basic Input/Output System) is the foundation for loading and running the operating system. It abstracts hardware access and serves as a critical link between hardware and software. For enterprises, we also hope to have a similar system that provides basic capabilities for upper-level business applications and abstracts the access of mainstream cloud services, providing a consistent access interface.
In a nutshell, BIOS is a stable, secure, lightweight, and extensible technology platform that empowers enterprises to achieve digital transformation.

The vast majority of BIOS functionalities are written in the Rust language and rely on the Tardis(https://github.com/ideal-world/tardis) framework maintained by the same group of contributors.
From the bottom to the top, BIOS is divided into five layers: RBUM, SPI, Middlewares, Supports, and FaaS.
RBUM (Resource-Based Unified Model) is a unified model based on resources. The model provides upper-level operations with unified basic operations, unified credential management, and unified access control.
SPI (Service Provider Interface) provides abstractions for commonly used basic operations to adapt to mainstream middleware/cloud services. For example, we provide the full-text search operation, which adapts to PostgreSql and ElasticSearch and can be further extended to other implementations.
Middlewares provides some commonly used middleware. Different from the SPI layer, these middleware do not consider adaptability, thus gaining greater flexibility and freedom, and can be used to build some special features. For example, we provide the event service, which is based on the Websocket protocol and implements event penetration between the front and back ends and between the back and back ends.
Supports is used to provide some complex domain services. Different from the Middleware layer, these supporting services aggregate the capabilities of SPI and Middleware to form more complex business-oriented services.
FaaS is used to implement the construction of general business applications with simple front-end technologies.
All of these layers are optional. They are libraries and do not contain executable services. We use a special aggregation service layer to aggregate different capabilities into the required services. In actual use, we can select the required capabilities to build customized services that meet our own needs.
In terms of gateway selection, we support the self-developed gateway named SpaceGate (https://github.com/ideal-world/spacegate) by default to better integrate with BIOS.
|-- backend
|-- basic Basic operation module, including common logic of RBUM and SPI
|-- spi SPI layer
|-- middlewares Middleware layer
|-- supports Support layer
|-- faas FaaS layer
|-- services Aggregation service layer
|-- gateways Gateway adaptation layer
|-- spacegate-plugins Customized plugins for SpaceGate gateway
|-- frontend
|-- console Console front-end
|-- sdks Interface encapsulation and operation client
|-- examples Usage examples
|-- docs Documentation