Skip to content

Systems & Services

iFlowKit ships system catalogs under systems/ so packages can include system configuration and service assets consistently.

System resources

A system can ship a JSON descriptor:

text
systems/{systemKey}/resources/{systemKey}.json

Examples:

text
systems/outlook/resources/outlook.json
systems/s4hana/resources/s4hana.json

A package can override a system resource by placing a package-specific file under:

text
packages/{pkg}/systems/{systemKey}/resources/{systemKey}.json

The default classpath resolver checks package overrides before the shared system catalog.

Services

A system may provide service folders:

text
systems/{systemKey}/services/{ServiceName}/

Service folders can contain:

  • Groovy sources
  • non-code assets
  • service-specific resources

Packages declare the required services in package.json:

json
{
  "systems": {
    "outlook": { "services": ["Mail"] }
  }
}

Package access pattern

Packages normally expose system-specific methods through a facade layer. The sample package uses:

text
packages/iflowkit-email/iflowkit/Services.groovy

This keeps CPI scripts from needing to know every detail of system resource lookup or URL composition.