Skip to main content
After provisioning your repository from grandcentral-connector-template (see Request repository creation), the provisioning workflow has already:
  • Set the pom.xml artifact ID equal to the repository name
  • Set the initial project version to 0.1.0-SNAPSHOT
  • Cleaned CHANGELOG.md
  • Run mvn clean verify to confirm the repository is buildable
Before you scaffold operations, work through the following conventions, layout, and configuration steps.

Naming conventions

Use these names consistently across the project. Camel K relies on several of them at runtime.
  • Repository and artifact: gc-{vendor}-{domain}-connector. The repository name and the Maven artifactId are identical.
  • Inbound connectors: for vendor-initiated callbacks or events into Banking OS, append the -inbound-connector suffix: gc-{vendor}-{domain}-inbound-connector.
  • Connector class: {Vendor}{Domain}Connector extending org.apache.camel.builder.RouteBuilder. The Java filename must match the class name exactly.
  • Java package: com.backbase.gc.connector.
  • Route IDs:
    • Never call .routeId(...). Camel K assigns IDs automatically; manual IDs cause Kubernetes deployment conflicts.
    • Use direct://operationId with a double slash for routes that map 1:1 to an OpenAPI operationId.
    • Use direct:internalRouteName with a single slash for internal sub-routes.
  • Resource files in src/main/resources/:
    • {op}-{entity}-schema-validation.json: Draft-07 JSON Schema
    • {op}-{entity}-request-transformation.json: JOLT request spec
    • {op}-{entity}-response-transformation.json: JOLT response spec
    • {op}-{entity}-request-transformation.xslt: XSLT request stylesheet for SOAP
    • {op}-{entity}-response-transformation.xslt: XSLT response stylesheet for SOAP
  • Test classes in src/test/java/com/backbase/gc/connector/:
    • {Vendor}{Domain}ConnectorTest.java: route integration test
    • {Op}{Entity}TransformationTest.java: JOLT/XSLT unit test
    • {Op}{Entity}SchemaValidationTest.java: JSON Schema unit test
  • Release names: make each release name unique for each deployed version, follow {name}-v{major}, and avoid tokens such as temp, poc, or runtime names.
All workloads in your installation, including Backbase-managed ones, share the same cluster and Azure API Management instance. Prefix the names of everything you create so each name is unique: connector releases, APIs, version sets, backends, products, and subscriptions.

Project layout

Connector styles

Three connector styles exist. The vendor’s integration type determines which to use.

Configure Maven access

To download Banking OS artifacts, configure ~/.m2/settings.xml with two servers:
  • Backbase Artifactory (https://repo.backbase.com): use a token from your Artifactory user profile.
  • GitHub Packages for your organization: use a GitHub personal access token.
Also add both registries under <repositories> and under <pluginRepositories>. Use the Artifactory and GitHub Packages URLs from your installation. The following example shows only the two server entries:

First-time configuration checklist

Before you complete steps 1-3, choose the Unified API domain and CalVer for your connector. For more information about available specifications, see API playground. To open the interactive catalog for your chosen CalVer, use a Backbase.io URL with the version query parameter set to that release. For example, see Unified APIs 2026.08. Pin the OpenAPI spec from pom.xml:
The camel-restdsl-openapi-plugin, inherited from grandcentral-bom, reads that spec at build time, generates the Camel REST DSL, and wires it to your direct://... routes. The connector’s major version must match the major version of the API spec, or the pull request check fails. Align the major and minor versions as well, as step 3 describes.

Compare with the template

If the build fails or behaves unexpectedly, compare your repository with grandcentral-connector-template first. The template holds the reference build configuration and defaults.

Next step

With the project scaffolded and pinned, move on to the route layout. See Anatomy of a connector.