Weaver¶
- Workflow Execution Management Service (EMS)
- Application, Deployment and Execution Service (ADES)
- Weaver (the nest-builder)
Weaver birds build exquisite and elaborate nest structures that are a rival to any human feat of engineering. Some of these nests are the largest structures to be built by birds. (Eden).
Although weavers are named for their elaborately woven nests, some are notable for their selective parasitic nesting habits instead. (Wikipedia)
Weaver is an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution is deferred by the EMS to an Application Deployment and Execution Service (ADES), as defined by Common Workflow Language (CWL) configurations.
Weaver can be launched either as an EMS or an ADES according to configuration values it is deployed with. For more details, see Configuration section.
dependencies | |
---|---|
build status | |
releases |
Summary¶
Weaver is primarily an Execution Management Service (EMS) that allows the execution of workflows chaining various applications and Web Processing Services (WPS) inputs and outputs. Remote execution of each process in a workflow chain is dispatched by the EMS to one or many registered Application Deployment and Execution Service (ADES) by ensuring the transfer of files accordingly between instances when located across multiple remote locations.
Weaver can also accomplish the ADES role in order to perform application deployment at the data source using the application definition provided by Common Workflow Language (CWL) configuration. It can then directly execute a registered process execution with received inputs from a WPS request to expose output results for a following ADES in a EMS workflow execution chain.
Weaver can be launched either as an EMS or an ADES according to configuration values it is deployed with. For more details, see Configuration and Documentation sections.
Links¶
Docker image repositories:
- CRIM registry: ogc/weaver
- OGC processes: ogc-public
- DockerHub: pavics/weaver
$ docker pull pavics/weaver:1.7.0
For convenience, following tags are also available:
weaver:1.7.0-manager
: Weaver image that will run the API for WPS process and job management.weaver:1.7.0-worker
: Weaver image that will run the process job runner application.
Following links correspond to existing servers with Weaver configured as EMS/ADES instances respectively.
- ADES Test server: https://ogc-ades.crim.ca/weaver/
- EMS Test server: https://ogc-ems.crim.ca/weaver/
- EMS Extra server: https://ogc.crim.ca/ems/
Note
The test servers will not necessarily be up-to-date with the latest version.
Request the ${server}/weaver/versions
route to verify the running version.
Configuration¶
All configuration settings can be overridden using a weaver.ini
file that will be picked during
instantiation of the application. An example of such file is provided here: weaver.ini.example.
Setting Weaver’s operational mode (EMS/ADES) is accomplished using the
weaver.configuration
field of weaver.ini
.
For more configuration details, please refer to Documentation.
Documentation¶
The REST API documentation is auto-generated and served under {WEAVER_URL}/api/
using
Swagger-UI with tag latest
.
More ample details about installation, configuration and usage are provided on readthedocs. These are generated from corresponding information provided in docs.
Extra Details¶
The project is developed upon OGC Testbed-14 – ESA Sponsored Threads – Exploitation Platform findings and following improvements. It is also advanced with sponsorship of U.S. Department of Energy to support common API of the Earth System Grid Federation (ESGF).
The project is furthermore developed through the Data Analytics for Canadian Climate Services (DACCS) initiative.
Weaver is a prototype implemented in Python with the Pyramid web framework. It is part of PAVICS and Birdhouse ecosystems.