Skip to content

Application packages

An application package describes an application, its input/output interface, runtime dependencies, and metadata so compatible platforms can deploy and execute it. It separates the processing definition from a particular service or computing environment.

What a package describes

For AntFlow, the package combines a CWL workflow and its referenced files with runtime image references and useful documentation. The GitLab repository can also contain image build sources, licensing information, and test inputs.

The repository need not contain the container images or all processing data. References do not make those dependencies available: the execution environment must still reach the images, input data, and services the workflow uses.

The OGC Earth Observation Best Practice

The OGC Best Practice for Earth Observation Application Package describes application, package, and platform responsibilities. It is an OGC Best Practice, not itself an OGC Standard. Its use of CWL does not impose a universal CWL v1.2-only requirement.

AntFlow applies this packaging approach to scientific workflows. Actual supported CWL versions, extensions, and container behavior depend on the runner and deployment. AntFlow-specific rules are in the application-package reference.

What packaging enables

An explicit input/output interface helps users understand an application without reading its implementation. Image references and dependency declarations make execution requirements visible. Documentation explains what the application computes and how to interpret its outputs.

These properties support portability and reproducibility; they do not prove that every platform supports the package or that every run will be identical. Test the complete package with representative inputs before publication.

Package, process, and results

The package is the authored material. AntFlow discovers its workflow and exposes a process; an execution creates a job and produces results. Local development and validation can happen before the package is published.

Follow Publish a workflow for the procedure and Workflows, processes, and jobs for the lifecycle.