Build Once, Extend for Any Service

The framework was designed to meet SWIM-TI Yellow Profile requirements as a reusable base. Service-specific logic is isolated into extension points—interfaces that you implement to support DNOTAM, Arrival Sequence, MET, or any CP1 service.

Extensible Architecture — Common Framework + Service-Specific Extensions CONSUMER Common Framework (Designed for Yellow Profile) Built-in Capabilities: Subscription Manager AMQP Consumer mTLS Security Inbox/Outbox Fault Tolerance Observability Health Checks 12-Factor / Cloud-Native Extension Points (5 Interfaces to Implement) • Subscription Builder • Message Validator • Message Enricher • Queue Provisioning • Distribution Router (SwimSubscription) (SwimPayloadValidator) (SwimEventExtractor) (QueueProvisioningStrategy) (SwimOutboxRouter) DNOTAM Module AIXM 5.1.1 schemas Scenario-based routing Event enrichment ED-254 Module FIXM schemas Airport-based routing Sequence enrichment MET Module IWXXM schemas Weather-based routing METAR/TAF enrichment PROVIDER Common Framework (Designed for Yellow Profile) Built-in Capabilities: Subscription CRUD Queue Manager mTLS + OIDC JWT Validation AMQP Publisher State Machine Observability 12-Factor / Cloud-Native Extension Points (5 Interfaces to Implement) • Subscription Validator • Data Model • Query Indexes • Queue Provisioning • Distribution Router (SwimSubscription) (SwimPayloadValidator) (SwimEventExtractor) (QueueProvisioningStrategy) (SwimOutboxRouter) DNOTAM Module AIXM validation Scenario-based queues Event filtering ED-254 Module FIXM validation Airport-based queues Sequence filtering MET Module IWXXM validation Weather-based queues METAR/TAF filtering Resulting Container Images swim-dnotam-consumer Framework + DNOTAM ext. swim-ed254-consumer Framework + ED-254 ext. swim-met-consumer Framework + MET ext. swim-dnotam-provider Framework + DNOTAM ext. swim-ed254-provider Framework + ED-254 ext. swim-met-provider Framework + MET ext. Deployment Model — Same Image, Different Configurations Development Pulls: swim-dnotam-consumer AISP_URL=https://aisp.dev.local KAFKA_BROKERS=kafka.dev.local MONGO_URI=mongodb://db.dev.local UAT Pulls: swim-dnotam-consumer AISP_URL=https://aisp.uat.local KAFKA_BROKERS=kafka.uat.local MONGO_URI=mongodb://db.uat.local Pre-Production Pulls: swim-dnotam-consumer AISP_URL=https://aisp.preprod.local KAFKA_BROKERS=kafka.preprod.local MONGO_URI=mongodb://db.preprod.local Production Pulls: swim-dnotam-consumer AISP_URL=https://ead.eurocontrol.int KAFKA_BROKERS=kafka.prod.local MONGO_URI=mongodb://db.prod.local

Reusable Base

All Yellow Profile complexity is implemented once. Security, messaging, resilience—handled by the framework.

Extension Points

Implement only service-specific interfaces: validation, business rules, routing, enrichment. Everything else is inherited.

Queue Provisioning Strategy

Environment-aware queue provisioning. Dev uses Jolokia JMX API for local Artemis, Prod uses Kubernetes Secrets + AMQ Operator. Same security model, different infrastructure.

Accelerated Adoption

New SWIM services in days, not months. Pull an image, configure environment variables, deploy.

Community Modules

Different organizations contribute different service modules. Everyone benefits from shared work.

Ready to Build Your SWIM Service?

Explore our ready-to-deploy implementations or create your own using the framework