Solution Architecture
The solution is organized as four layers. Face Matcher — a product of its own — produces the identification signals at the bottom; the corridor's processing layer groups them into identities and zone behaviour; the Smart Corridor & eGate Hub turns them into clearance decisions and exposes them; thin UI clients consume them on top. For corridor events only the Hub is visible to integrators; Face Matcher additionally keeps its own public APIs and Station UI for camera and watchlist management.
The three corridor layers and Face Matcher deploy together as one Compose-based stack, with Face Matcher vendored as a byte-identical release copy; deployment topologies are covered in Deployment Layouts.
Face Matcher and the integration boundary
Face Matcher processes the camera streams, detects faces, matches them against watchlists and publishes every identification on its GraphQL, RabbitMQ and S3 interfaces. The corridor consumes it strictly through Face Matcher's published integration list — the face-matcher-network network, the container names and ports, the credentials, the license and the start order — and never modifies it. That boundary is what allows the vendored copy to be swapped for a separately deployed Face Matcher in a future release. See Face Matcher in the corridor and, for the engine itself, Face Matcher Architecture.
Processing & adaptation
This layer turns Face Matcher's signals into the Hub's unified event model: the adapters translate their sources' output, while CIGS and CBS add the processing that groups identities and derives zone behavior. The optional MCT overlay adds cross-camera tracking as a further source.
| Component | Role | Connection |
|---|---|---|
| VPP Adapter | Translates Face Matcher identification events | Hub component |
| CIGS — Identity Grouping Service | Groups cross-camera face detections into corridor identities | Via CIGS Adapter |
| CIGS Adapter | Translates CIGS identity events | Hub component |
| CBS — Behavior Service | Derives zone behavioral events (entry, dwell, exit) | Publishes directly |
| MCT — Multi Camera Tracking (optional) | Tracks people across cameras from an embedded-camera feed | Via CBS |
Without MCT, CBS derives the zone signals from Face Matcher and CIGS data.
Smart Corridor & eGate Hub
The Hub is the central integration layer and the only system integrators interact with for corridor events. It aggregates and normalizes events from the internal components, decides clearance, persists the finalized outgoing events, and exposes them to external consumers. Internally, components communicate over a RabbitMQ exchange named biometric_events.
| Service | Role | Status |
|---|---|---|
| GraphQL API | Live subscriptions and data queries for external consumers | Active |
| DbWorker Service | Event persistence and data retention | Active |
| REST API | Alternative HTTP interface for integrations | Planned |
UI
On top sits the corridor dashboard — the Officer Monitoring App and the Traveler Display — which connects exclusively to the Hub's GraphQL API. See the Operational Interface for details.
Related pages
- Components — every source system and Hub service in detail
- Integration — the unified event model, event catalog, and storage
- Operational Interface — the GUI clients built on the Hub's API