How Integration Manager Works
IM integrations are built from three core building blocks — Routes, Mappers, and Filters — which together define how data flows between external systems and Pricefx.
Three-Tier Model
|
Layer |
Purpose |
What It Does |
|---|---|---|
|
Routes |
Orchestration |
Define data flow: what triggers the route, where data comes from, how it is processed, where it goes |
|
Mappers |
Transformation |
Map source data fields to Pricefx fields — rename, convert types, calculate values |
|
Filters |
Selection |
Define criteria for which records to fetch, delete, or mass-edit |
Deployment Model
All IM instances are provisioned — deployed and managed via PlatformManager on AWS or GCP. There are no self-hosted installations.
Developer --> Git push --> PlatformManager detects change --> Deploys to AWS/GCP
--> Restarts IM instance
--> Applies new config
Each IM instance is an isolated deployment with its own:
-
Git repository — source of truth for all routes, mappers, filters, and configuration
-
Memory and CPU allocation — configurable per instance via PlatformManager (e.g. 512 MB–4 GB RAM, 0.5–2 vCPU)
-
Runtime environment — dedicated JVM process, no shared state between instances
Infrastructure regions:
|
Cloud |
Regions |
|---|---|
|
AWS |
EU (eu-central-1), US (us-east-1) |
|
GCP |
EU (europe-west1), US (us-central1) |
-
Deployment: Automatic via PlatformManager on Git push
-
Connections: Managed via PlatformManager UI or connection JSON files
-
Monitoring: Via PlatformManager dashboard + error email notifications
See Project Structure for the complete directory layout of a provisioned instance.
Camel Integration Lifecycle
-
PlatformManager deploys the IM instance from the Git repository
-
Spring Boot starts, auto-configuration loads framework defaults
-
config/application.propertiesapplies project-specific configuration -
Connection definitions from
connections/are registered -
Mapper and filter XML files from
mappers/andfilters/are parsed -
Route XML files from
routes/are loaded into the Camel context -
Routes activate — triggers fire (file, timer, scheduler, event)
-
Data flows through routes: source --> mapper --> pfx-api --> Pricefx
-
onCompletion runs: flush, internal copy, cleanup
Custom Components
IM provides custom Camel components with the pfx- prefix:
|
Component |
URI Prefix |
Purpose |
|---|---|---|
|
pfx-api |
|
Pricefx API operations (loaddata, fetch, truncate, etc.) |
|
pfx-csv |
|
CSV parsing and generation |
|
pfx-excel |
|
Excel file manipulation |
|
pfx-rest |
|
REST API calls to external systems |
|
pfx-sftp |
|
Secure file transfer |
|
pfx-sql |
|
Database queries |
|
pfx-event |
|
Pricefx event processing |
See Components for detailed reference of each component.
Configuration Layers
Configuration is resolved in this order (later overrides earlier):
-
Framework defaults (built into the IM JAR)
-
Project
config/application.properties -
Profile-specific
application-{profile}.properties -
Environment variables (managed via PlatformManager)
-
PlatformManager managed properties and connections
Key Technologies
|
Technology |
Version |
Purpose |
|---|---|---|
|
Java |
17 |
Runtime |
|
Apache Camel |
4.1.0 |
Integration framework |
|
Spring Boot |
3.x |
Application framework |
|
Groovy |
|
Scripting in mappers, routes, and tests |
|
Spock |
|
Test framework |
|
WireMock |
|
HTTP mocking for tests |