Core Services
The Core Services constitute the “Operational Backbone” of an OMI application. In a traditional architecture, you would spend 80% of your time hard-coding identity, billing, and discovery into every microservice. In the OMI swarm, these functions are delegated to a set of standardized, high-trust providers.
Think of it this way: if Domain Services (CMS, CRM, etc.) are the “rooms” in your house where life happens, the Core Services are the plumbing, electricity, and the deed to the property.
The “What”: The Backbone Components
| Service | Role | Core Responsibility |
|---|---|---|
| App Registry | The Librarian | Acts as a “Service DNS.” It stores the AppID, the Master Public Key, and the current location/keys of all bound Domain Services. |
| Auth Provider | The Trust Anchor | Manages user identities and issues the cryptographic tokens that Domain Services use to verify “Who” is making a request. |
| Operational Services | The Back Office | Includes specialized providers for Billing (usage metrics), Logging (error tracking), Audit (history) etc. |
The “Why”: Breaking the Silo Cycle
Unified Identity (No more “Login” logic) By using a Core Auth Provider, individual Domain Services never see a password. They simply verify a signature against a public key fetched from the App Registry. This removes the need to rebuild user-management tables for every new feature.
Zero-Trust Discovery Because the App Registry is the source of truth, services don’t need to be “hard-wired” to each other. If you move your CMS to a new server, you update the Registry once, and the entire swarm knows where to find it.
Out-of-the-Box Governance Core services enforce the “Operational Context.” When a Domain Service joins the swarm, it is told exactly where to send its logs and how to report its billing. The developer doesn’t “configure” the service; the swarm injects the configuration.
The Sovereign Advantage: Unlike traditional SaaS, you aren’t locked into a specific core provider. If you don’t like your Logging provider, you swap the pointer in your App Registry, and the entire swarm begins reporting to the new provider instantly.
How they interact: The “Swarm” Workflow
- Identity: The developer registers the AppID in the App Registry.
- Trust: The developer designates an Auth Provider as the primary trust anchor.
- Operation: The developer sets the “Backbone” (Logging/Billing) in the Registry.
- Binding: Domain Services handshake with the Registry to receive this “Operational Context” and go live.