Welcome to the business module of the SIRIUS OpenSource framework created by scireum GmbH. To learn more about what SIRIUS is please refer to documentation of the kernel module.
Provides a foundation for creating web based SaaS solutions. This module contains frameworks which permit to create rock solid business applications that can easily be clustered to achieve high availability. Also a lot of common data objects and frameworks (multi tenancy, code lists, background jobs, storage, data import) are provided.
If sirius-biz is used in a custom project, the docker-compose.yml and develop.conf are a good starting point for getting to pace quickly. Note that you can use the Setup class provided by sirius-kernel to start SIRIUS in your IDE locally.
Using the configuration provided above will enable a default user manager (and even create a default user "system" with password "system"). After logging in, you can examine the built-in functions like the Console, SQL Debugger, SQL Schema Tool. You can also inspect the cluster state using Cluster. Note that you can also access the tooling provided by sirius-web.
- HTTP/WebUI Helpers
Provides a set of base classes for generating CRUD controllers for JDBC Databases, MongoDB and Elasticsearch. - Model Helpers
Provides commonly used composites to be embedded in database entities. - JDBC Helpers
Provides a set of base classes for JDBC entities and a controller to view and update the database schema and to directly perform SQL queries. - MongoDB Helpers
Provides a set of base entities to be used with MongoDB. - Elasticsearch Helpers
Contains base entities for Elasticsearch. Also, index maintenance jobs are provided to manage schema migrations which are not supported by Elasticsearch directly. - Cluster Management Facility
Provides an interconnect facility which is used to discover and to communicate with other cluster nodes. Also provides an orchestration layer for caches, cluster health and distributed cluster tasks. - Isenguard
Provides a clusterwide firewall and rate limiting facility based on Redis. - Global Locks
Contains a framework to manage cluster wide locks. Various strategies are provided to best match the system topology. - Analytics Framework
Provides a collection for frameworks for acquiring, aggregating and reporting analytical data. - Jobs Frameworks
Permits to define jobs which can be started by users of the system. These are dispatched and executed via the distributed tasks facility and can be monitored using processes. - Process Facility
Provides a management and report facility for background activities performed for the system or individual users. - Data Import Facility
Contains a framework to load, convert and store data into database entities. Depending on the underlying database it permits to maximize performance by using prepared statements and batch updates. - System Protocol Facility
Provides various facilities which record and store system events like log messages, sent mails, service incidents or security related events. - Multi Tenant User Management
Provides a database independent model to represent multiple tenants and users which have access to the system. Currently implementations for JDBC and for MongoDB are available. - Sequence Generators
Provides sequence generators for JDBC databases and MongoDB. - Storage System
Contains a facility which stores files / objects in an object store but keeps all metadata in either a JDBC database or MongoDB for efficient access. Also provides a management and maintenance UI. - Virtual File System Layer
Provides an abstraction layer for virtual file systems which can be accessed via remote protocols like FTP(S). - ObjectStore access
Contains a thin abstraction layer for AWS compatible S3 object stores. - Code lists
Permits to manage and access code lists which are either stored in JDBC databases or MongoDB.