Skip to main content
Employer projectRule engine

CurationEngine

Fullstack and platform engineering work on a Drools and Business Central-based curation engine around the Lufthansa Cargo smartBooking / Cargo Booking API.

Fullstack Software Engineer at Lufthansa Industry Solutions, Jan 2024 - 2025

Lufthansa Cargo rule curation engine project visual
Drools
rule execution
KIE
runtime containers
CI/CD
rule deployments

Work overview

A quick read on where the work sat, what made it hard, what I owned, and what changed.

Context

CurationEngine sat around the smartBooking / Cargo Booking API as a rule-driven decision service. Instead of hardcoding every cargo-booking condition inside the Java API, rule assets were authored and managed through Business Central, packaged as Maven/KJAR artifacts, deployed to KIE Server, and executed by Drools.

What was hard

Cargo-booking rules change more often than core API contracts. The platform needed a governed way to author, test, version, deploy, observe, and roll back booking logic without destabilizing the Booking API.

My part

I worked across implementation, integration, and platform ownership: backend service interaction, Business Central and KIE Server configuration, Maven artifact handling, CI/CD workflows, containerized runtime deployment, runtime properties, secrets, health checks, logs, and release troubleshooting.

What changed

The platform helped turn volatile cargo-booking logic into managed rule artifacts with controlled promotion across environments and a clearer operational path when deployments or runtime integrations failed.

Constraints that mattered

  • Rule changes could affect booking eligibility, warnings, rejected options, or fallback behavior.
  • Business Central, KIE Server, Maven repositories, containers, credentials, and API integration had to be aligned per environment.
  • Troubleshooting needed enough logging and correlation to understand whether a failure came from an artifact, container, runtime property, API call, or environment difference.
  • Rule behavior had to be explainable across business tooling, API integration, runtime config, and operations.

Approach

01

Make rules deployable software

The rules were treated like versioned deployable artifacts, not loose configuration. Builds, artifact publishing, promotion, and rollback were part of the platform work.

02

Stabilize the runtime boundary

KIE Server connectivity, runtime containers, service credentials, Maven resolution, and environment-specific properties needed to be repeatable across non-production and production setups.

03

Debug the whole chain

Failures could happen in rule packaging, container startup, Business Central/KIE communication, artifact resolution, or the Booking API integration, so observability had to cover more than application logs.

Key decisions

A few engineering choices that shaped the implementation and delivery path.

Decision

Externalize volatile booking logic

Reason

Cargo booking policies can change faster than the core API should be released.

Impact

Business-rule changes could be packaged, deployed, promoted, and rolled back separately from API code changes.

Decision

Use Maven/KJAR artifacts as the release unit

Reason

Rule assets still need traceable versions, reproducible builds, and clear promotion between environments.

Impact

The runtime could execute a known rule-container version instead of an ambiguous set of manual changes.

Decision

Treat runtime diagnostics as platform work

Reason

A wrong rule result is hard to investigate without artifact version, container status, request context, logs, and deployment history.

Impact

Troubleshooting became more concrete across KIE Server startup, artifact resolution, API integration, and environment drift.

What I did

Built

  • CI/CD workflows for rule artifacts and platform services around Drools/KIE deployments.
  • Environment-specific setup for Business Central, KIE Server, runtime containers, Maven artifacts, and service configuration.
  • Container deployment support with runtime properties, secrets, health checks, and release diagnostics.

Improved

  • Promotion and rollback paths for cargo-booking rule changes.
  • Observability through logs, health checks, runtime status, and deployment troubleshooting.
  • Separation between fast-changing business rules and the core Booking API release cycle.

Owned

  • End-to-end engineering support from rule authoring and backend integration to packaging and runtime execution.
  • Troubleshooting of rule-runtime deployments, Maven artifact resolution, KIE Server connectivity, and configuration differences.
  • Clear explanation of runtime boundaries, artifact versions, environment differences, and support paths.

Rule-driven cargo booking decision service

A sanitized architecture view of how authored rules became executable booking decisions.

01

Business Central

Rule authoring, governance, test scenarios, project versioning, and deployment management.

02

Maven / KJAR

Packaged rule artifacts with metadata and KIE configuration for repeatable releases.

03

KIE Server / Drools

Runtime containers executing rules against booking, shipment, route, product, and customer facts.

04

smartBooking API

Java/REST integration sending booking context and receiving curated booking decisions.

05

Delivery & Operations

CI/CD, environment config, containers, secrets, logs, metrics, release support, and rollback.

Learnings

  • Rule engines create value only when the delivery lifecycle is as disciplined as normal application releases.
  • For decision services, the artifact version is part of the business answer; without it, debugging becomes guesswork.
  • The most useful engineering work often sits at the boundary between business tooling, backend APIs, runtime configuration, and operations.