44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
# as4-411
|
|
|
|
Standards-aware directory and discovery service that cross-maps identifiers and endpoints across AS4, SS7, and additional messaging ecosystems. Enables deterministic routing, dynamic discovery, and policy-driven interoperability for messaging gateways.
|
|
|
|
## Goals
|
|
|
|
- **Unified Directory Core:** Store and resolve "who/where/how" for messaging participants across networks.
|
|
- **Cross-Discovery:** Translate identifiers between domains (e.g., AS4 PartyId ↔ PEPPOL ParticipantId ↔ E.164/GT ↔ SS7 PC/SSN). FI-to-FI: ISO 20022 over AS4 (PartyId → endpoint) documented in [docs/protocols/iso20022-over-as4.md](docs/protocols/iso20022-over-as4.md).
|
|
- **Routing Outputs:** Produce normalized routing directives for gateways (endpoint URL, transport profile, security material references, QoS).
|
|
- **Pluggable Ecosystems:** Add new protocol domains via adapters.
|
|
- **Gateway Submodule:** Embed as a library and/or sidecar service into gateway stacks (AS4 MSH, SS7 STP/SCP, API gateways).
|
|
|
|
## Repository Structure
|
|
|
|
- **[docs/](docs/)** — Architecture, ADRs, API specs, security, operations. Scope and non-goals: [ADR-000](docs/adr/000-scope-and-non-goals.md).
|
|
- **packages/core** — Domain model, validation, policy engine.
|
|
- **packages/resolver** — Resolution pipeline, scoring, caching.
|
|
- **packages/storage** — Persistence (Postgres, SQLite, in-memory).
|
|
- **packages/api** — REST and gRPC APIs.
|
|
- **packages/connectors** — SMP/SML, DNS, file, SS7 ingest.
|
|
- **packages/client** — TypeScript, Python, Go clients.
|
|
- **packages/cli** — Admin and import/export tools.
|
|
- **examples/** — Gateway sidecar and embedded-library usage.
|
|
|
|
## Submodule Integration
|
|
|
|
Gateways can include `as4-411` as a git submodule (e.g. under `vendor/as4-411` or `modules/as4-411`) and consume:
|
|
|
|
- **Library:** `packages/core` + `packages/resolver` for embedded resolution with a local store (SQLite/Postgres).
|
|
- **Service:** `packages/api/rest` (or gRPC) as a sidecar or shared network service.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
pnpm install
|
|
pnpm run build
|
|
pnpm run lint
|
|
pnpm run test
|
|
```
|
|
|
|
## License
|
|
|
|
See LICENSE file.
|