Figure 1: Overview of the Application Package.
The Application Metadata describes the
application that is encapsulated in the container with
sufficient detail, i.e. it provides information about the
application’s purpose, capabilities, and requirements in
terms of input data, parameterization for execution,
and result data. It does not contain any detail about the
encapsulated software as such, i.e. types and versions
of libraries, programming languages, internal
workflows etc. This information is entirely opaque.
The container itself is not part of the application
package, but referenced from herein (Container
Reference). Using state of the art container
technology such as Docker, the reference would point
to a Docker Hub where the container is stored.
The optional Auxiliary Data contains any type of
references, links, or further information that helps
users to execute the application package successfully.
It may, for example, contain links to Web-based
catalogues that provide (Big) process-ready data that
this application can work with.
The Input/Output Data section of the application
package describes the required input data to run an
application, e.g. satellite imagery, reference data,
calibration data, etc. and informs what type of output
the application produces. Given the volatile nature of
many containers, applications will most likely
produce output that is made persistent externally to
the application container itself.
Some elements of the container package serve
administrative purposes only. The Data Mappings
provide instructions to the execution environment how
external data sets need to be mapped and mounted to
the container system, and the Deployment and
Execution instructions provide all information required
to deploy the container in a virtual machine
environment and to start the actual application process.
4 OGC WEB SERVICE
ENVIRONMENT
The information model of the Application Package
and its encoding is ideally matching the service and
information environment it operates in. The Web
service interface standards, information models, and
encodings released by the Open Geospatial
Consortium (OGC) provide a robust and standardized
environment for geospatial data, processing, and
visualization and provide all required base-types for
Application Package definition and serialization.
To exchange information about geospatial resources
and services, the OGC has released the OGC Web
Services Context Document (OWS Context
Document). Initially developed to allow a set of
configured information resources (the so-called
service set) to be passed between applications, OWS
Context is used today for general exchange of
information about geospatial data and services. It
supports OGC Web service instances, arbitrary online
resources, and inline encoded content. A ‘context
document’ specifies a fully configured set which can
be exchanged (with a consistent interpretation)
among clients supporting the standard (OGC, 2017).
In order to achieve maximal interoperability, the core
context document is largely agnostic of any particular
resource type and therefore serves as a solid base for
the Application Package. Specific resource types are
then defined in individual requirement classes that
further specify the handling of that resource offering.
The standardized resources types include Web
service interface types (e.g. to access maps (Web Map
Service, WMS), feature data (Web Feature Service,
WFS), or coverage data (Web Coverage Service,
WCS)), encodings for in-line content (e.g. Geography
Markup Language (GML) or GeoTiff), and storage
for external content. The work described in this paper
has extended this set with the notion of containers and
application parameters to support the deployment of
applications in hybrid cloud environments.
Alternatively to the OWS Context Document based
approach, process descriptions as offered by the Web
Processing Service, WPS, can be used. The WPS is
the second essential component within the OGC Web
service environment necessary for standardized Big
Data processing in hybrid clouds. The service
interface allows to execute any type of software
process in a standardized way. Recursively, any WPS
process can spawn any number of child processes that
again call other WPS or data access or processing
services. The WPS interface standard defines process
descriptions that contain sufficient detail for any type
of parameterization in a similar fine-granular
structure as the OWS Context Document. The service
supports synchronous and asynchronous interaction
patterns, out-of-band parameterization, and can be
extended with publish-subscribe messaging
functionality.