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}.jsonExamples:
text
systems/outlook/resources/outlook.json
systems/s4hana/resources/s4hana.jsonA package can override a system resource by placing a package-specific file under:
text
packages/{pkg}/systems/{systemKey}/resources/{systemKey}.jsonThe 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.groovyThis keeps CPI scripts from needing to know every detail of system resource lookup or URL composition.