In our platform, we maintain a JVM software that takes a configuration for execution logic. The application code is written once, but it works based on user configuration.