Glossary and Concepts
Domain Terminology
Atomics
Heart.work has a unique concept where each individual process is separated as a distinct, isolated function: called an atomic.
Think of atomics like each individual read and write operation, such as: CreateSalesOrder, GetLedgerBalanceForPeriod etc.
There are hundreds of atomics in Heart.work which together and combined make up for a vast but self-explenatory domain field.
At the essence, each atomic can be used to customize and override logic using Rules, or inform other systems in an event-driven fahsion through Webhooks.
Technically, target to separate individual operations (atomics) at logical and technical level, CQRS (Command Query Responsibility Segregation) patterns are used. Using this design pattern allows application's read and write operations into distinct models, and distinct request/response models, allowing them to be optimized and scaled independently. Effectively improving performance, scalability and flexibility, especially in complex systems with high read/write imbalances, like the Heart.work Platform itself.
Users
There are different types of users:
- Workspace users, organization members having access to all workspace data.
- Client Logins, end-users, a.k.a. client logins for Contacts.
Workspace users can be managed through the /users endpoints from the Core API. These refer to workspace users and should never be used for end-users, like customers.
Client Logins can be managed through the /identities endpoints. These are specific for end-users and clients and can be linked to a Contact.
Workspaces
A workspace contains the isolated is a single tenant, or organization.
As Heart.work has a multi-layered architecture, with several functional and technical layers, there is not one database that stores everything. Data is, however, seggregated by each workspace_id.
The workspace_id is also known as a slug and is a humanly readable shortname of the organization in question. For example, our demo environment has the acme slug as identifier.
Technical Features
Webhooks
Webhooks can be used to inform other systems in an event-driven fahsion through Webhooks.
Read more on Webhooks on the Feature page of Webhooks.
Rules
Rules are programmable scripts that can be used to customize and override logic from their default behaviour. Basically, each individual atomic operation can be extended over overridden to accomodate.
Read more on Rules on the Feature page of Rules.