Each component deploys independently. An ANSP uses the consumer. An AISP uses the provider. Both share the same framework.
SWIM adoption accelerates when ATM entities collaborate. Our modular architecture enables different organizations to develop independent components that integrate seamlessly into a unified solution. The framework supports any SWIM service. Current implementations include DNOTAM, ED-254, and FF-ICE, with the same architecture applicable to MET and other services.
Demo Environment: This diagram shows all components deployed together for validation and testing. In production, Consumer and Provider are deployed independently by different organizations.
Air Navigation Service Providers deploy only the Consumer module. It connects to an external AISP (like EUROCONTROL EAD) via AMQP to receive DNOTAM events. Kafka distributes events to internal ATM systems.
Aeronautical Information Service Providers deploy only the Provider module. It receives events from internal systems via Kafka and exposes SWIM-compliant APIs (AMQP pub/sub + REST) to external consumers.
For validation and testing, all components deploy together in a single cluster. Consumer Validator simulates an AISP provider for testing consumers. Provider Validator tests provider implementations. This enables end-to-end testing without real infrastructure.
While Consumer and Provider are typically deployed by different organizations, there are valid operational scenarios where the same organization deploys both:
Note: This project focuses on demonstrating technical capabilities for SWIM compliance. The operational validity of specific scenarios should be verified with domain experts and relevant aviation authorities.
All modules are open source. Fork, contribute, or use as reference for your implementation.
github.com/swim-developerPre-built, scanned, and signed container images. Deploy on Kubernetes, Podman, Docker, or run as standalone Java services.
quay.io/swim-developerANSPs, vendors, and developers can contribute modules, tests, or documentation.
See how to contributeAll service-to-service communication secured with mutual TLS via cert-manager; PKI ready for EACP integration.
AMQP for external SWIM network communication; Kafka for internal event streaming and module integration.
Metrics, traces, and logs correlated for complete operational visibility.
All components were developed and tested using enterprise-grade downstream versions. The upstream (community) versions are fully compatible and can be used without vendor dependency.
| Category | Upstream (Community) | Downstream (Enterprise) |
|---|---|---|
| Application Framework | Quarkus | Red Hat Build of Quarkus |
| Message Broker (AMQP) | Apache ActiveMQ Artemis | Red Hat AMQ Broker |
| Event Streaming | Apache Kafka | Red Hat AMQ Streams |
| Identity & Access | Keycloak | Red Hat Build of Keycloak |
| Document Database | MongoDB | MongoDB (UBI Container) |
| Relational Database | PostgreSQL | PostgreSQL (UBI Container) |
| Certificate Management | cert-manager | cert-manager Operator for Red Hat OpenShift |
| Container Registry | Quay.io | Red Hat Quay |
| Container Platform | Kubernetes | Red Hat OpenShift |
| Observability | OpenTelemetry, Prometheus, Loki, Tempo, Grafana | OpenShift Logging, OpenShift Observability |
No Vendor Lock-in: While components were validated using Red Hat downstream versions, upstream community versions are fully compatible. No vendor dependency is required.