This is an automated email from the ASF dual-hosted git repository. stain pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-taverna-engine.git
The following commit(s) were added to refs/heads/master by this push: new 5b180d5 Taverna retired from Apache Incubator 5b180d5 is described below commit 5b180d5b0e54a9a235346141299ab50b7a1ad5ec Author: Stian Soiland-Reyes <st...@apache.org> AuthorDate: Thu Mar 12 17:25:31 2020 +0100 Taverna retired from Apache Incubator --- DISCLAIMER | 12 +-- NOTICE | 3 +- README.md | 251 +++++++++++++++++++++++++++++++++---------------------------- 3 files changed, 138 insertions(+), 128 deletions(-) diff --git a/DISCLAIMER b/DISCLAIMER index 3e3a5ce..aa10f6e 100644 --- a/DISCLAIMER +++ b/DISCLAIMER @@ -1,10 +1,2 @@ -Apache Taverna is an effort undergoing incubation at the Apache Software -Foundation (ASF), sponsored by the Apache Incubator PMC. - -Incubation is required of all newly accepted projects until a further review -indicates that the infrastructure, communications, and decision making process -have stabilized in a manner consistent with other successful ASF projects. - -While incubation status is not necessarily a reflection of the completeness -or stability of the code, it does indicate that the project has yet to be -fully endorsed by the ASF. +Taverna is no longer maintained and this code base +is provided for archive purposes only. diff --git a/NOTICE b/NOTICE index f9c2689..5e1fbdd 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,6 @@ +This product is based on: Apache Taverna Engine -Copyright 2014-2018 The Apache Software Foundation +Copyright 2014-2020 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). diff --git a/README.md b/README.md index 4ec6109..a3c078f 100644 --- a/README.md +++ b/README.md @@ -14,20 +14,66 @@ See the License for the specific language governing permissions and limitations under the License. --> -# Apache Taverna Engine + + +## Taverna Project Retired + +> tl;dr: The Taverna code base is **no longer maintained** +> and is provided here for archival purposes. + +From 2014 till 2020 this code base was maintained by the +[Apache Incubator](https://incubator.apache.org/) project _Apache Taverna (incubating)_ +(see [web archive](https://web.archive.org/web/20200312133332/https://taverna.incubator.apache.org/) +and [podling status](https://incubator.apache.org/projects/taverna.html)). + +In 2020 the Taverna community +[voted](https://lists.apache.org/thread.html/r559e0dd047103414fbf48a6ce1bac2e17e67504c546300f2751c067c%40%3Cdev.taverna.apache.org%3E) +to **retire** Taverna as a project and withdraw the code base from the Apache Software Foundation. + +This code base remains available under the Apache License 2.0 +(see _License_ below), but is now simply called +_Taverna_ rather than ~~Apache Taverna (incubating)~~. + +While the code base is no longer actively maintained, +Pull Requests are welcome to the +[GitHub organization taverna](http://github.com/taverna/), +which may infrequently be considered by remaining +volunteer caretakers. + + +### Previous releases + +Releases 2015-2018 during incubation at Apache Software Foundation +are available from the ASF Download Archive <http://archive.apache.org/dist/incubator/taverna/> + +Releases 2014 from the University of Manchester are on BitBucket <https://bitbucket.org/taverna/> + +Releases 2009-2013 from myGrid are on LaunchPad <https://launchpad.net/taverna/> + +Releases 2003-2009 are on SourceForge <https://sourceforge.net/projects/taverna/files/taverna/> + +Binary JARs for Taverna are available from +Maven Central <https://repo.maven.apache.org/maven2/org/apache/taverna/> +or the myGrid Maven repository <https://repository.mygrid.org.uk/> + + + + + +# Taverna Engine Workflow engine for -[Apache Taverna](http://taverna.incubator.apache.org/) (incubating). +[Taverna](https://web.archive.org/web/*/https://taverna.incubator.apache.org/). The engine executes a Taverna workflow, defined using -[Apache Taverna Language](https://taverna.incubator.apache.org/download/language/). +[Taverna Language](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/). Note that the engine does not include the [activity implementations](https://github.com/apache/incubator-taverna-common-activities/) that actually perform work (e.g. calling a REST service). To use the engine, use the -[Apache Taverna Command Line](https://github.com/apache/incubator-taverna-commandline/) -or [Apache Taverna Server](https://github.com/apache/incubator-taverna-server/). +[Taverna Command Line](https://github.com/apache/incubator-taverna-commandline/) +or [Taverna Server](https://github.com/apache/incubator-taverna-server/). All Taverna Engine modules are also valid [OSGi](http://www.osgi.org/) bundles, providing OSGi [Spring services](#spring-services). @@ -50,38 +96,9 @@ details about embedded third-party libraries and source code. # Contribute -Please subscribe to and contact the -[dev@taverna](http://taverna.incubator.apache.org/community/lists#dev mailing list) -mailing list for any questions, suggestions and discussions about -Apache Taverna. - -Bugs and planned features are tracked in the Jira -[Issue tracker](https://issues.apache.org/jira/browse/TAVERNA/component/12326810) -under the `TAVERNA` component _Taverna Engine_. Feel free -to add an issue! - -To suggest changes to this source code, feel free to raise a -[GitHub pull request](https://github.com/apache/incubator-taverna-engine/pulls). Any contributions received are assumed to be covered by the [Apache License -2.0](https://www.apache.org/licenses/LICENSE-2.0). We might ask you -to sign a [Contributor License Agreement](https://www.apache.org/licenses/#clas) -before accepting a larger contribution. - - -## Disclaimer - -Apache Taverna is an effort undergoing incubation at the -[Apache Software Foundation (ASF)](http://www.apache.org/), -sponsored by the [Apache Incubator PMC](http://incubator.apache.org/). - -[Incubation](http://incubator.apache.org/incubation/Process_Description.html) -is required of all newly accepted projects until a further review -indicates that the infrastructure, communications, and decision-making process -have stabilized in a manner consistent with other successful ASF projects. +2.0](https://www.apache.org/licenses/LICENSE-2.0). -While incubation status is not necessarily a reflection of the completeness -or stability of the code, it does indicate that the project has yet to be -fully endorsed by the ASF. @@ -92,14 +109,14 @@ fully endorsed by the ASF. versions probably also work) This code relies on other -[Apache Taverna modules](https://taverna.incubator.apache.org/download/code/), +[Taverna modules](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/code/), which Maven shuold automatically download from -[Apache's Maven repository](https://taverna.incubator.apache.org/download/maven/); +[Apache's Maven repository](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/maven/); however you might want to compile these yourself in the below order: -* [taverna-language](https://taverna.incubator.apache.org/download/language/) -* [taverna-osgi](https://taverna.incubator.apache.org/download/osgi/) +* [taverna-language](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/) +* [taverna-osgi](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/osgi/) Please see the `<properties>` of this [pom.xml](pom.xml) to find the correct versions to build. @@ -131,7 +148,7 @@ To skip the tests (these can be time-consuming), use: If you are modifying this source code independent of the -Apache Taverna project, you may not want to run the +Taverna project, you may not want to run the [Rat Maven plugin](https://creadur.apache.org/rat/apache-rat-plugin/) that enforces Apache headers in every source file - to disable it, try: @@ -149,37 +166,37 @@ should only need to depend on the `-api` modules, while the `-impl` are added by packaging of the [taverna-commandline-product](https://github.com/apache/incubator-taverna-commandline/tree/master/taverna-commandline-product). -* [taverna-capability-api](taverna-capability-api/) Apache Taverna Platform Capability API -* [taverna-capability-impl](taverna-capability-impl/) Apache Taverna Platform Capability impl -* [taverna-credential-manager-api](taverna-credential-manager-api/) Apache Taverna Credential Manager API -* [taverna-credential-manager-impl](taverna-credential-manager-impl/) Apache Taverna Credential Manager impl -* [taverna-database-configuration-api](taverna-database-configuration-api/) Apache Taverna Database Configuration API -* [taverna-database-configuration-impl](taverna-database-configuration-impl/) Apache Taverna Database Configuration impl -* [taverna-execution-api](taverna-execution-api/) Apache Taverna Platform Execution Service API -* [taverna-execution-impl](taverna-execution-impl/) Apache Taverna Platform Execution Service impl -* [taverna-execution-local](taverna-execution-local/) Apache Taverna Platform Local Execution Service -* [taverna-reference-api](taverna-reference-api/) Apache Taverna Reference Manager API -* [taverna-reference-impl](taverna-reference-impl/) Apache Taverna Reference Manager impl -* [taverna-reference-types](taverna-reference-types/) Apache Taverna Engine Reference Types -* [taverna-report-api](taverna-report-api/) Apache Taverna Platform Report Service -* [taverna-run-api](taverna-run-api/) Apache Taverna Platform Run Service API -* [taverna-run-impl](taverna-run-impl/) Apache Taverna Platform Run Service impl -* [taverna-services-api](taverna-services-api/) Apache Taverna Services API -* [taverna-services-impl](taverna-services-impl/) Apache Taverna Platform Services impl -* [taverna-workflowmodel-api](taverna-workflowmodel-api/) Apache Taverna Workflow Model API -* [taverna-workflowmodel-impl](taverna-workflowmodel-impl/) Apache Taverna Workflow Model impl -* [taverna-workflowmodel-extensions](taverna-workflowmodel-extensions/) Apache Taverna Workflow Model Extension Points +* [taverna-capability-api](taverna-capability-api/) Taverna Platform Capability API +* [taverna-capability-impl](taverna-capability-impl/) Taverna Platform Capability impl +* [taverna-credential-manager-api](taverna-credential-manager-api/) Taverna Credential Manager API +* [taverna-credential-manager-impl](taverna-credential-manager-impl/) Taverna Credential Manager impl +* [taverna-database-configuration-api](taverna-database-configuration-api/) Taverna Database Configuration API +* [taverna-database-configuration-impl](taverna-database-configuration-impl/) Taverna Database Configuration impl +* [taverna-execution-api](taverna-execution-api/) Taverna Platform Execution Service API +* [taverna-execution-impl](taverna-execution-impl/) Taverna Platform Execution Service impl +* [taverna-execution-local](taverna-execution-local/) Taverna Platform Local Execution Service +* [taverna-reference-api](taverna-reference-api/) Taverna Reference Manager API +* [taverna-reference-impl](taverna-reference-impl/) Taverna Reference Manager impl +* [taverna-reference-types](taverna-reference-types/) Taverna Engine Reference Types +* [taverna-report-api](taverna-report-api/) Taverna Platform Report Service +* [taverna-run-api](taverna-run-api/) Taverna Platform Run Service API +* [taverna-run-impl](taverna-run-impl/) Taverna Platform Run Service impl +* [taverna-services-api](taverna-services-api/) Taverna Services API +* [taverna-services-impl](taverna-services-impl/) Taverna Platform Services impl +* [taverna-workflowmodel-api](taverna-workflowmodel-api/) Taverna Workflow Model API +* [taverna-workflowmodel-impl](taverna-workflowmodel-impl/) Taverna Workflow Model impl +* [taverna-workflowmodel-extensions](taverna-workflowmodel-extensions/) Taverna Workflow Model Extension Points These modules include utilities used by the above, or for test purposes: -* [taverna-observer](taverna-observer/) Apache Taverna Observer pattern -* [taverna-activity-test-utils](taverna-activity-test-utils/) Apache Taverna Activity test utils -* [taverna-reference-testhelpers](taverna-reference-testhelpers/) Apache Taverna Reference Test Helpers +* [taverna-observer](taverna-observer/) Taverna Observer pattern +* [taverna-activity-test-utils](taverna-activity-test-utils/) Taverna Activity test utils +* [taverna-reference-testhelpers](taverna-reference-testhelpers/) Taverna Reference Test Helpers These modules include structural workflow activities: -* [taverna-dataflow-activity](taverna-dataflow-activity/) Apache Taverna Dataflow Activity -* [taverna-stringconstant-activity](taverna-stringconstant-activity/) Apache Taverna StringConstant Activity +* [taverna-dataflow-activity](taverna-dataflow-activity/) Taverna Dataflow Activity +* [taverna-stringconstant-activity](taverna-stringconstant-activity/) Taverna StringConstant Activity _See the separate release of [taverna-common-activities](taverna.incubator.apache.org/download/common-activities/) @@ -188,95 +205,95 @@ for activities that invoke Beanshell, WSDL, REST and command line tool services. These modules are experimental: -* [taverna-execution-remote](taverna-execution-remote/) Apache Taverna Platform Remote Execution Service -* [taverna-execution-hadoop](taverna-execution-hadoop/) Apache Taverna Hadoop Workflow Execution Service +* [taverna-execution-remote](taverna-execution-remote/) Taverna Platform Remote Execution Service +* [taverna-execution-hadoop](taverna-execution-hadoop/) Taverna Hadoop Workflow Execution Service These modules are not yet fully updated to Taverna 3 (contributions welcome!): -* [taverna-activity-archetype](taverna-activity-archetype/) Apache Taverna Activity archetype -* [taverna-prov](taverna-prov/) Apache Taverna PROV support () -* [taverna-provenanceconnector](taverna-provenanceconnector/) Apache Taverna Provenance Connector -* [taverna-prov-owl-bindings](taverna-prov-owl-bindings/) Apache Taverna PROV OWL bindings +* [taverna-activity-archetype](taverna-activity-archetype/) Taverna Activity archetype +* [taverna-prov](taverna-prov/) Taverna PROV support () +* [taverna-provenanceconnector](taverna-provenanceconnector/) Taverna Provenance Connector +* [taverna-prov-owl-bindings](taverna-prov-owl-bindings/) Taverna PROV OWL bindings -See the [taverna-engine JavaDoc](http://taverna.incubator.apache.org/javadoc/taverna-engine/) +See the [taverna-engine JavaDoc](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/) for more details. ## Which module does what? This section shows how different Taverna Engine module are involved when running a Taverna workflow, e.g. from the -[Apache Taverna Command Line](https://github.com/apache/incubator-taverna-commandline/). +[Taverna Command Line](https://github.com/apache/incubator-taverna-commandline/). There are two layers of Taverna Engine: -* Apache Taverna Platform provides an outer API for creating and managing workflow runs, potentially remotely. -* Apache Taverna Core (aka `workflowmodel`, formerly `t2.core`) is the orchestrating part of the Taverna Engine. Its [Activity](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/processor/activity/Activity.html) is implemented by multiple plugins depending on the activity type. +* Taverna Platform provides an outer API for creating and managing workflow runs, potentially remotely. +* Taverna Core (aka `workflowmodel`, formerly `t2.core`) is the orchestrating part of the Taverna Engine. Its [Activity](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/processor/activity/Activity.html) is implemented by multiple plugins depending on the activity type. ### Preparations -* Load a SCUFL2 [WorkflowBundle](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html) +* Load a SCUFL2 [WorkflowBundle](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html) from a `.wfbundle` or `.t2flow` file - using [WorkflowBundleIO](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/io/WorkflowBundleIO.html) - from [Taverna Language](http://taverna.incubator.apache.org/download/language/). - + (Optional) Choose a [Workflow](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getWorkflows--) to bind + using [WorkflowBundleIO](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/io/WorkflowBundleIO.html) + from [Taverna Language](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/). + + (Optional) Choose a [Workflow](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getWorkflows--) to bind workflows (usually the - [main workflow](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getMainWorkflow--)). - + (Optional) Choose a [Profile](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getProfiles--) to bind + [main workflow](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getMainWorkflow--)). + + (Optional) Choose a [Profile](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getProfiles--) to bind workflow implementations. (There is normally only one profile.) -* Create or load a [Bundle](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) - with the expected [inputs](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Workflow.html#getInputPorts--) of the - [main workflow](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getMainWorkflow--) using - [DataBundles](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/databundle/DataBundles.html) -from [Taverna Language](http://taverna.incubator.apache.org/download/language/). +* Create or load a [Bundle](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) + with the expected [inputs](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Workflow.html#getInputPorts--) of the + [main workflow](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getMainWorkflow--) using + [DataBundles](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/databundle/DataBundles.html) +from [Taverna Language](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/). ### Running a workflow * You must be running within OSGi to support multiple Taverna activities and their dependencies, e.g. by using the - [OsgiLauncher](https://taverna.incubator.apache.org/javadoc/taverna-osgi/org/apache/taverna/osgilauncher/OsgiLauncher.html) from [Apache Taverna OSGi](http://taverna.incubator.apache.org/download/osgi/). + [OsgiLauncher](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-osgi/org/apache/taverna/osgilauncher/OsgiLauncher.html) from [Taverna OSGi](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/osgi/). See the [TavernaStarter example](https://github.com/taverna-extras/taverna-starter/blob/master/src/main/java/org/apache/taverna/osgistarter/TavernaStarter.java) for details. * (Optional) Populate service credentials (username/password) to be used by the workflow into the - [CredentialManager](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/security/credentialmanager/CredentialManager.html) from + [CredentialManager](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/security/credentialmanager/CredentialManager.html) from [taverna-credential-manager-api](taverna-credential-manager-api/). -* Use the [RunService](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html) from the [taverna-run-api](taverna-run-api) (discovered as a [Spring service](#spring-services)). -* Use [runService.getExecutionEnvironments()](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getExecutionEnvironments-org.apache.taverna.scufl2.api.container.WorkflowBundle-) to find an executer for your workflow bundle or profile. +* Use the [RunService](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html) from the [taverna-run-api](taverna-run-api) (discovered as a [Spring service](#spring-services)). +* Use [runService.getExecutionEnvironments()](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getExecutionEnvironments-org.apache.taverna.scufl2.api.container.WorkflowBundle-) to find an executer for your workflow bundle or profile. + The RunService selects an appropriate - [ExecutionService](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionService.html) - service ([taverna-execution-api](taverna-execution-api)), checking the [Profile](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getProfiles--) against the installed [activity types](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionEnvironment.html#getActivityTypes--) from [common-activities](https://github.com/apache/incubator-taverna-common-activit [...] - + In the Taverna Command Line there is typically only one match, a [LocalExecutionEnvironment](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/impl/local/LocalExecutionEnvironment.html), representing the [LocalExecutionService](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/impl/local/LocalExecutionService.html) from [taverna-execution-local](taverna-execution-local). + [ExecutionService](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionService.html) + service ([taverna-execution-api](taverna-execution-api)), checking the [Profile](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/container/WorkflowBundle.html#getProfiles--) against the installed [activity types](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionEnvironment.html#getActivityTypes--) from [common-activities [...] + + In the Taverna Command Line there is typically only one match, a [LocalExecutionEnvironment](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/impl/local/LocalExecutionEnvironment.html), representing the [LocalExecutionService](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/impl/local/LocalExecutionService.html) from [taverna [...] + The experimental module [taverna-execution-remote](taverna-execution-remote) aims to execute a workflow on a remote [Taverna Server](http://github.com/apache/incubator-taverna-server/) - e.g. for running workflows remotely from Taverna Workbench. + The prototype module [taverna-execution-hadoop](taverna-execution-hadoop) is an attempt to execute compatible Taverna workflows as an [Apache Hadoop](http://hadoop.apache.org/) map-reduce workflow. (This code needs to be updated for newer Hadoop releases.) For details, see the [SCAPE report on feasibility of parallelising preservation processes](http://scape-project.eu/wp-content/uploads/2013/04/SCAPE_D6.1_TUB_V1.2.pdf). -* [Create an execution job](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionService.html#createExecution-org.apache.taverna.platform.execution.api.ExecutionEnvironment-org.apache.taverna.scufl2.api.container.WorkflowBundle-org.apache.taverna.scufl2.api.core.Workflow-org.apache.taverna.scufl2.api.profiles.Profile-org.apache.taverna.robundle.Bundle-), and provide the `ExecutionEnvironment`, the `WorkflowBundle`, its `Workflow`, [...] +* [Create an execution job](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionService.html#createExecution-org.apache.taverna.platform.execution.api.ExecutionEnvironment-org.apache.taverna.scufl2.api.container.WorkflowBundle-org.apache.taverna.scufl2.api.core.Workflow-org.apache.taverna.scufl2.api.profiles.Profile-org.apache.taverna.robundle.Bundle-), and provide the `ExecutionEnvironment`, the `Wo [...] + Typically this creates a [LocalExecution](taverna-execution-local/src/main/java/org/apache/taverna/platform/execution/impl/local/LocalExecution.java#L105) instance ([taverna-execution-local](taverna-execution-local)), which converts the - abstract SCUFL2 [Workflow](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Workflow.html) to an executable - [Dataflow](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/Dataflow.html) ([taverna-workflowmodel-api](taverna-workflowmodel-api)) which has corresponding [Processor](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/Processor.html)s and - [Activity](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/processor/activity/Activity.html) implementations from the installed plugins. - + A [WorkflowInstanceFacade](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/facade/WorkflowInstanceFacade.html) is prepared - the engine's top-level representation of a workflow run. + abstract SCUFL2 [Workflow](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Workflow.html) to an executable + [Dataflow](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/Dataflow.html) ([taverna-workflowmodel-api](taverna-workflowmodel-api)) which has corresponding [Processor](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/Processor.html)s and + [Activity](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/processor/activity/Activity.html) implementations from the installed plugins. + + A [WorkflowInstanceFacade](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/facade/WorkflowInstanceFacade.html) is prepared - the engine's top-level representation of a workflow run. + A [LocalExecutionManager](https://github.com/apache/incubator-taverna-engine/blob/master/taverna-execution-local/src/main/java/org/apache/taverna/platform/execution/impl/local/LocalExecutionMonitor.java) is added as a bridge between the Taverna Core engine and the Platform. -* Start the run using [runService.start()](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#start-java.lang.String-). - * Input values from the data [Bundle](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) are +* Start the run using [runService.start()](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#start-java.lang.String-). + * Input values from the data [Bundle](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) are [converted](https://github.com/apache/incubator-taverna-engine/blob/master/taverna-execution-local/src/main/java/org/apache/taverna/platform/execution/impl/local/T2ReferenceConverter.java#L34) to be registered with a -[ReferenceService](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/ReferenceService.html) ([taverna-reference-api](taverna-reference-api)) - as Taverna workflows pass [T2Reference](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/T2Reference.html)s. - + Values are represented as either a [InlineStringReference](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/external/object/InlineStringReference.html) or [InlineByteArrayReference](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/external/object/InlineByteArrayReference.html), or could be external [HttpReference](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/ref [...] +[ReferenceService](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/ReferenceService.html) ([taverna-reference-api](taverna-reference-api)) - as Taverna workflows pass [T2Reference](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/T2Reference.html)s. + + Values are represented as either a [InlineStringReference](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/external/object/InlineStringReference.html) or [InlineByteArrayReference](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/external/object/InlineByteArrayReference.html), or could be external [HttpReference](https://web.archive.or [...] where supported, with conversion to strings and bytes if needed. - + Lists, values and references are stored [in memory](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/InMemoryReferenceSetDao.html). + + Lists, values and references are stored [in memory](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/impl/InMemoryReferenceSetDao.html). + This was previously backed by [Hibernate](https://github.com/apache/incubator-taverna-engine/blob/old/core-pre-incubator-20141219/reference-impl/src/main/java/net/sf/taverna/t2/reference/impl/HibernateReferenceSetDao.java) stored in [Apache Derby](http://db.apache.org/derby/) - this code was removed due to license incompatibility. - + TODO: Add a different [ReferenceSetDao](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/ReferenceSetDao.html) implementation - that is backed directly by the platform's [Bundle](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) + + TODO: Add a different [ReferenceSetDao](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/reference/ReferenceSetDao.html) implementation + that is backed directly by the platform's [Bundle](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/Bundle.html) (effectively file-based). -* Monitor the [state of the run](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getState-java.lang.String-) or -[get](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getWorkflowReport-java.lang.String-) the [WorkflowReport](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/WorkflowReport.html) for detailed progress ([taverna-report-api](taverna-report-api)), such as -the [number of jobs completed](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ProcessorReport.html#getJobsCompleted--) for a given [Processor](https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Processor.html). -* Once the workflow is [COMPLETED](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/State.html#COMPLETED) (and even while it is [RUNNING](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/State.html#RUNNING)), you can -retrieve the [bundle](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getDataBundle-java.lang.String-) containing the output values and intermediate values. +* Monitor the [state of the run](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getState-java.lang.String-) or +[get](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getWorkflowReport-java.lang.String-) the [WorkflowReport](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/WorkflowReport.html) for detailed progress ([taverna-report-api](taverna-report-api)), such as +the [number of jobs completed](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ProcessorReport.html#getJobsCompleted--) for a given [Processor](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/core/Processor.html). +* Once the workflow is [COMPLETED](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/State.html#COMPLETED) (and even while it is [RUNNING](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/State.html#RUNNING)), you can +retrieve the [bundle](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/run/api/RunService.html#getDataBundle-java.lang.String-) containing the output values and intermediate values. + To relate intermediate values, you will need to inspect either the - [WorkflowReport](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/WorkflowReport.html), - [ProcessorReport](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ProcessorReport.html) or [ActivityReport](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ActivityReport.html)s - to [get the invocations](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/StatusReport.html#getInvocations--), which provide the [inputs](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/Invocation.html#getInputs--) - and [outputs](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/Invocation.html#getOutputs--) as + [WorkflowReport](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/WorkflowReport.html), + [ProcessorReport](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ProcessorReport.html) or [ActivityReport](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/ActivityReport.html)s + to [get the invocations](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/StatusReport.html#getInvocations--), which provide the [inputs](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/Invocation.html#getInputs--) + and [outputs](https://web.archive.org/web/*/https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/report/Invocation.html#getOutputs--) as [Path](http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html)s within the bundle. @@ -340,9 +357,9 @@ The following provides more details on the included cryptographic software: [BouncyCastle](https://www.bouncycastle.org/) bcprov encryption library. The [JCE Unlimited Strength Jurisdiction Policy](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) may need to be installed separately to use keystore passwords with 7 or more characters. -* Apache Taverna Engine depends on - [Apache Taverna Language](http://taverna.incubator.apache.org/download/language/), - [Apache Taverna OSGi](http://taverna.incubator.apache.org/download/osgi/) and +* Taverna Engine depends on + [Taverna Language](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/), + [Taverna OSGi](https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/osgi/) and [Apache Jena](http://jena.apache.org/), which depend on [Apache HttpComponents](https://hc.apache.org/) Client, which can initiate encrypted `https://` connections using