So I've updates the readmes in taverna-language, but there might still be some uk.org.taverna-isms around (or claims about LGPL license).
Could someone have a second look? https://github.com/apache/incubator-taverna-language/blob/master/README.md Also - how much of this should also be on the website? It is trickier to link to source code from the site (but I guess you could still link to GitHub browsings). On 26 Feb 2015 23:14, <[email protected]> wrote: > Repository: incubator-taverna-language > Updated Branches: > refs/heads/master bdf5bd306 -> 8904075ea > > > README updated (somewhat) for Apache Taverna Language > > .. and the new module structure > > > Project: > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo > Commit: > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/8904075e > Tree: > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/8904075e > Diff: > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/8904075e > > Branch: refs/heads/master > Commit: 8904075eaf465243e1cab1272230090ddae73303 > Parents: bdf5bd3 > Author: Stian Soiland-Reyes <[email protected]> > Authored: Thu Feb 26 23:13:22 2015 +0000 > Committer: Stian Soiland-Reyes <[email protected]> > Committed: Thu Feb 26 23:13:22 2015 +0000 > > ---------------------------------------------------------------------- > README.md | 281 +++++++++++++++----------------------- > taverna-scufl2-api/README.md | 145 ++++++++++++++++++++ > 2 files changed, 258 insertions(+), 168 deletions(-) > ---------------------------------------------------------------------- > > > > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/8904075e/README.md > ---------------------------------------------------------------------- > diff --git a/README.md b/README.md > index 4c543f7..841ec94 100644 > --- a/README.md > +++ b/README.md > @@ -1,4 +1,4 @@ > -<!--- > +<!-- > Licensed to the Apache Software Foundation (ASF) under one or more > contributor license agreements. See the NOTICE file distributed with > this work for additional information regarding copyright ownership. > @@ -13,218 +13,163 @@ > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > See the License for the specific language governing permissions and > limitations under the License. > ----> > +--> > # Apache Taverna Language > > -[](https://travis-ci.org/taverna-incubator/incubator-taverna-language > ) > -[](http://dx.doi.org/10.5281/zenodo.10651 > ) > +Apache Taverna Language is a set of APIs for workflow definitions (SCUFL2) > +and workflow inputs/outputs/run (DataBundle), as consumed and produced > +by the [Apache Taverna](http://taverna.incubator.apache.org/) workflow > +system. > > +The API includes support for the legacy formats from Taverna 2 and Taverna > +1, and therefore can be also used independently of Apache Taverna 3. > > -## SCUFL2 > +## License > > +(c) 2015 Apache Software Foundation > > -See also the [SCUFL2 wiki][1] > +This product includes software developed at The [Apache Software > +Foundation](http://www.apache.org/). > > -(c) 2009-2014 University of Manchester, UK > +Licensed under the [Apache License > +2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file > +[LICENSE](LICENSE) for details. > > -Licensed under the [GNU Lesser General Public License (LGPL) 2.1][6]. > -See LICENSE.txt for the full terms of LGPL 2.1. > +The file [NOTICE](NOTICE) contain any additional attributions and > +details about embedded third-party libraries and source code. > > -This is the [API][9], model and format of [SCUFL2][1], which replaces > -[Taverna][5]'s workflow format .t2flow. This API allows > -JVM applications to inspect, generate and modify Taverna workflow > -definitions without depending on the Taverna runtime. > > -A new format, called [Scufl2 Workflow Bundle][7] is defined alongside this > -API. This format can be inspected, generated and modified independently > -of this API. > +## Modules > > -Note that the ability for Scufl2 API to read a workflow bundle (using > -the `scufl2-rdfxml` module) does not guarantee it is valid or > -structurally sound. The experimental modules `scufl2-validation-*` will > -in the future be able to provide such verification. > - > -For more information, see the [SCUFL2 API][9] pages, the > -[Javadoc][10] and the [SCUFL2 examples][8]. > - > -Requisites > ----------- > - > -* Java 1.6 or newer (tested with Java 1.7) > -* Maven 2.2.2 or newer (for building, tested with Maven 3.0.5) > - > - > -Building > --------- > - > -* `mvn clean install` > - > -This will build each module and run their tests, producing JARs like > -`scufl2-api/target/scufl2-api-0.14.0.jar`. > +Official modules: > > -First time you build Scufl2 this might download dependencies needed for > -compliation. These have separate open source licenses, but should be > -compatible with LGPL. None of the dependencies are neccessary for > -using the compiled SCUFL2 API. > +* [taverna-robundle](taverna-robundle/) [Research Object bundles]( > https://w3id.org/bundle), a ZIP-based container format > +* [taverna-databundle](taverna-databundle/) DataBundle - load/save RO > bundle > + with workflow inputs/outputs/provenance of Taverna workflow runs > +* [taverna-scufl2-api](taverna-scufl2-api/) Inspect and build SCUFL2 > workflow > + definitions that can be executed and edited in Apache Taverna 3 > +* [taverna-scufl2-wfbundle](taverna-scufl2-wfbundle/) load/save Apache > Taverna 3 `.wfbundle` workflows > +* [taverna-scufl2-t2flow](taverna-scufl2-t2flow/) load Taverna 2 > `.t2flow` workflows > +* [taverna-scufl2-schemas](taverna-scufl2-schemas) SCUFL2 XML Schemas and > OWL ontologies > +* [taverna-scufl2-wfdesc](taverna-scufl2-wfdesc/) save [wfdesc]( > https://w3id.org/ro#wfdesc) workflow structure as RDF Turtle > +* [taverna-scufl2-examples](taverna-scufl2-examples) Example usage of the > SCUFL2 APIs > > -Some of the experimental modules are not built automatically, to build > -them separately, run the same command from within their folder. > +Experimental modules: > > +* [taverna-scufl2-scufl](taverna-scufl2-scufl/) Load Taverna 1 `.xml` > workflows (SCUFL 1) > +* [taverna-scufl2-annotation](taverna-scufl2-annotation/) Annotation > utillity functions > +* [taverna-baclava-language](taverna-baclava-language) Load Taverna 2 > data documents (wokrkflow inputs/outputs) > > +Deprecated modules: > +* *taverna-scufl2-ucfpackage*: API for [Adobe > + UCF]( > https://wikidocs.adobe.com/wiki/display/PDFNAV/Universal+Container+Format) > + ZIP files - superseeded by *taverna-robundle* > > -Usage > ------ > > -Scufl2 is built as a Maven project, and the easiest way to use it is > -from other Maven projects. > +For more details, see the READMEs of: > > -Typical users of the Scufl2 API will depend on the three modules > -*scufl2-api*, *scufl2-t2flow* and *scufl2-rdfxml*. In your Maven > -project's POM file, add this to your `<dependencies>` section: > +* [taverna-robundle](taverna-robundle/) > +* [taverna-databundle](taverna-databundle/) > +* [taverna-scufl2-api](taverna-scufl2-api/) > > - <dependency> > - <groupId>uk.org.taverna.scufl2</groupId> > - <artifactId>scufl2-api</artifactId> > - <version>0.14.0</version> > - </dependency> > - <dependency> > - <groupId>uk.org.taverna.scufl2</groupId> > - <artifactId>scufl2-rdfxml</artifactId> > - <version>0.14.0</version> > - </dependency> > - <dependency> > - <groupId>uk.org.taverna.scufl2</groupId> > - <artifactId>scufl2-t2flow</artifactId> > - <version>0.14.0</version> > - </dependency> > > -All Scufl2 modules are also valid OSGi bundles, see the OSGi section > -below. > +## Requisites > > -You can alternatively copy and add the JARs from these modules to your > -classpath: > +* Java 1.7 or newer (tested with OpenJDK 1.8) > +* [Apache Maven](https://maven.apache.org/download.html) 3.2.5 or newer > (older > + versions probably also work) > > -* scufl2-api/target/scufl2-api-0.14.0.jar > -* scufl2-rdfxml/target/scufl2-rdfxml-0.14.0.jar > -* scufl2-t2flow/target/scufl2-t2flow-0.14.0.jar > > -See the [SCUFL2 Javadoc](http://mygrid.github.io/scufl2/api/0.14/) for > -documentation of classes and methods of SCUFL2. The package > -[uk.o.rg.taverna.scufl2.api]( > http://mygrid.github.io/scufl2/api/0.14/uk/org/taverna/scufl2/api/package-summary.html > ) > -is a good starting point. > +# Building > > -See the *scufl2-validation* folder for examples of > -usage. The best classes to start exploring would be > -`uk.org.taverna.scufl2.api.io.WorkflowBundleIO` and > -`uk.org.taverna.scufl2.api.container.WorkflowBundle`. > +To build Apache Taverna Language, use: > > -Example of converting .t2flow to .wfbundle: > + mvn clean install > > - import uk.org.taverna.scufl2.api.container.WorkflowBundle; > - import uk.org.taverna.scufl2.api.io.ReaderException; > - import uk.org.taverna.scufl2.api.io.WorkflowBundleIO; > - import uk.org.taverna.scufl2.api.io.WriterException; > +This will build each module and run their tests, producing JARs like > +`taverna-scufl2-api/target/scufl2-api-0.14.0.jar`. > +Some of the experimental modules are not built automatically, to build > +them separately, run the same command from within their folder. > > - // .. > - > - WorkflowBundleIO io = new WorkflowBundleIO(); > - File t2File = new File("workflow.t2flow"); > - File scufl2File = new File("workflow.wfbundle"); > - WorkflowBundle wfBundle = io.readBundle(t2File, > "application/vnd.taverna.t2flow+xml"); > - io.writeBundle(wfBundle, scufl2File, > "application/vnd.taverna.scufl2.workflow-bundle"); > +## Skipping tests > > -Check out the GitHub project scufl2-examples[8] for examples of using > Scufl2, > -including the above code. > +To skip the tests (these can be timeconsuming), use: > > -Supported file formats with WorkflowBundleIO and their required modules: > + mvn clean install -DskipTests > > -<table> > - <tr><th>Media type</th> <th>Support</th> <th>JAR</th> > <th>Description</th> </tr> > - > <tr><td>application/vnd.taverna.t2flow+xml</td><td>read</td><td>scufl2-t2flow</td><td>Taverna > 2 t2flow</td></tr> > - > <tr><td>application/vnd.taverna.scufl2.workflow-bundle</td><td>read/write</td><td>scufl2-rdfxml</td><td>Taverna > 3 workflow bundle</td></tr> > - > <tr><td>application/vnd.taverna.scufl+xml</td><td>read</td><td>scufl2-scufl</td><td>Taverna > 1 SCUFL (experimental)</td></tr> > - > <tr><td>text/vnd.taverna.scufl2.structure</td><td>read/write</td><td>scufl2-api</td><td>Textual > format for testing/debugging</td></tr> > - <tr><td>text/vnd.wf4ever.wfdesc+turtle</td><td>write</td><td><a href=" > https://github.com/wf4ever/scufl2-wfdesc">scufl2-wfdesc</a></td><td>Abstract > workflow structure in <a href="http://www.w3.org/TR/turtle/">RDF > Turtle</a> according to the <a > href="http://purl.org/wf4ever/model#wfdesc">Wf4Ever > wfdesc ontology</a></td></tr> > - <tr><td>text/vnd.mgrast.awe.awf+json</td><td>read</td><td><a href=" > https://github.com/stain/scufl2-awf">scufl2-awf</a></td> <td>Workflow > definition of the MG-RAST <a href="https://github.com/MG-RAST/AWE">AWE</a> > workflow engine. (experimental)</td></tr> > - <tr><td>application/vnd.shiwa.iwir+xml</td><td>read/write</td> <td><a > href="https://github.com/stain/scufl2-iwir/">scufl2-iwir</a></td> <td><a > href="http://www.shiwa-workflow.eu/">SHIWA</a>'s <a href=" > https://www.shiwa-workflow.eu/documents/10753/55350/IWIR+v1.1+Specification">IWIR</a> > interoperabile workflow language (experimental)</td></tr> > - <tr><td>application/json</td> <td>write</td> <td><a href=" > https://github.com/myGrid/scufl2-examples">scufl2-examples</a></td> > <td>Abstract workflow as JSON (experimental)</td></tr> > -</table> > > +If you are modifying this source code independent of the > +Apache 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: > > -OSGi services > -------------- > -To use SCUFL2 from OSGi, use the following OSGi Services. Example, from > -META-INF/spring/run-context.osgi.xml: > + mvn clean install -Drat.skip=true > > - <?xml version="1.0" encoding="UTF-8"?> > - <beans:beans xmlns="http://www.springframework.org/schema/osgi" > - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - xmlns:beans="http://www.springframework.org/schema/beans" > - xsi:schemaLocation=" > http://www.springframework.org/schema/beans > - > http://www.springframework.org/schema/beans/spring-beans.xsd > - > http://www.springframework.org/schema/osgi > - > http://www.springframework.org/schema/osgi/spring-osgi.xsd"> > > - <service ref="myService" interface="com.example.MyService"/> > > - <reference id="workflowBundleIO" > interface="uk.org.taverna.scufl2.api.io.WorkflowBundleIO" /> > +Usage > +----- > > - </beans:beans> > +Apache Taverna Language is a Maven project, and the easiest way to use it > is > +from other Maven projects. > > -And in run-context.xml: > +Released binaries of Apache Taverna Language are published in [Maven > +Central](http://search.maven.org/). > > - <?xml version="1.0" encoding="UTF-8"?> > - <beans xmlns="http://www.springframework.org/schema/beans" > - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - xsi:schemaLocation="http://www.springframework.org/schema/beans > - > http://www.springframework.org/schema/beans/spring-beans.xsd"> > +Typical users of this API will depend on these modules: > > - <bean id="myService" class="com.example.impl.MyServiceImpl" > > - <property name="workflowBundleIO" ref="workflowBundleIO"/> > - </bean> > + <dependency> > + <groupId>org.apache.taverna.language</groupId> > + <artifactId>taverna-robundle</artifactId> > + <version>0.15.0-incubating</version> > + </dependency> > + <dependency> > + <groupId>org.apache.taverna.language</groupId> > + <artifactId>taverna-databundle</artifactId> > + <version>0.15.0-incubating</version> > + </dependency> > + <dependency> > + <groupId>org.apache.taverna.language</groupId> > + <artifactId>taverna-scufl2-api</artifactId> > + <version>0.15.0-incubating</version> > + </dependency> > + <dependency> > + <groupId>org.apache.taverna.language</groupId> > + <artifactId>taverna-scufl2-wfbundle</artifactId> > + <version>0.15.0-incubating</version> > + </dependency> > + <dependency> > + <groupId>org.apache.taverna.language</groupId> > + <artifactId>taverna-scufl2-t2flow</artifactId> > + <version>0.15.0-incubating</version> > + </dependency> > > - </beans> > +To find the latest `<version>` to use above (this README might > +not have been updated), see the the [Apache Taverna Language download > +page](http://taverna.incubator.apache.org/download/language/) > > -This will provide a WorkflowBundleIO instance with its readers and > -writers loaded through OSGi, which when the bundles for scufl2-t2flow > -and scufl2-rdfxml are loaded, would include support for the Taverna 2 > -t2flow format and the Taverna 3 wfbundle format. > > -Note that you do not need to use OSGi services to instantiate > -Scufl2Tools or URITools, but may do so if you wish. > +All Scufl2 modules are also valid OSGi bundles, see the OSGi section > +below. > > +You can alternatively copy and add these JARs from the build to add > +to your classpath: > > -Modules > -------- > +* taverna-robundle/target/taverna-scufl2-robundle-0.15.0-incubating.jar > +* > taverna-databundle/target/taverna-scufl2-databundle-0.15.0-incubating.jar > +* taverna-scufl2-api/target/taverna-scufl2-api-0.15.0-incubating.jar > +* > taverna-scufl2-wfbundle/target/taverna-scufl2-wfbundle-0.15.0-incubating.jar > +* > taverna-scufl2-ucfpackage/target/taverna-scufl2-ucfpackage-0.15.0-incubating.jar > +* taverna-scufl2-t2flow/target/taverna-scufl2-t2flow-0.15.0-incubating.jar > > -Official modules: > +## Javadoc > > -* *scufl2-api* Java Beans for working with SCUFL2 > -* *scufl2-t2flow* .t2flow import from Taverna 2 > -* *scufl2-rdfxml* .wfbundle import/export (RDF/XML) > +See the [Taverna Language > +Javadoc](http://taverna.incubator.apache.org/javadoc/taverna-language/) > for > +documentation of classes and methods of Taverna Language. Good starting > +points: > + * [org.apache.taverna.scufl2.api]( > http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/package-summary.html > ) > + * [org.apache.taverna.robundle]( > http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/robundle/package-summary.html > ) > + * [org.apache.taverna.databundle]( > http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/databundle/package-summary.html > ) > > -Experimental modules: > > -* *scufl2-usecases* Example code covering [SCUFL2 use cases][4] (out of > date) > -* *scufl2-rdf* Pure RDF export/import (out of date) > -* *scufl2-scufl* SCUFL 1 .xml import from Taverna 1 > -* *scufl2-validation* API for validating a Scufl2 workflow bundle > -* *scufl2-validation-correctness* > - Validate correctness of Scufl2 workflow definition > -* *scufl2-validation-structural* > - Validate that a Scufl2 workflow definition is structurally sound > -* *scufl2-validation-integration* > - Integration tests for scufl2-validation modules > - > - > - > -[1]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2 > -[2]: http://www.mygrid.org.uk/ > -[3]: > http://www.mygrid.org.uk/dev/wiki/display/story/Dataflow+serialization > -[4]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2+use+cases > -[5]: http://www.taverna.org.uk/ > -[6]: http://www.gnu.org/licenses/lgpl-2.1.html > -[7]: > http://www.mygrid.org.uk/dev/wiki/display/developer/Taverna+Workflow+Bundle > -[8]: https://github.com/mygrid/scufl2-examples > -[9]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2+API > -[10]: http://mygrid.github.io/scufl2/api/0.14/ > > > http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/8904075e/taverna-scufl2-api/README.md > ---------------------------------------------------------------------- > diff --git a/taverna-scufl2-api/README.md b/taverna-scufl2-api/README.md > new file mode 100644 > index 0000000..24618cf > --- /dev/null > +++ b/taverna-scufl2-api/README.md > @@ -0,0 +1,145 @@ > +<!-- > + Licensed to the Apache Software Foundation (ASF) under one or more > + contributor license agreements. See the NOTICE file distributed with > + this work for additional information regarding copyright ownership. > + The ASF licenses this file to You under the Apache License, Version 2.0 > + (the "License"); you may not use this file except in compliance with > + the License. You may obtain a copy of the License at > + > + http://www.apache.org/licenses/LICENSE-2.0 > + > + Unless required by applicable law or agreed to in writing, software > + distributed under the License is distributed on an "AS IS" BASIS, > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > + See the License for the specific language governing permissions and > + limitations under the License. > +--> > +# SCUFL2 > + > +SCUFL2 API is part of [Apache Taverna Language](). > + > + > +This is the [API][9], model and format of [SCUFL2][1], which is the > +workflow format of [Apache Taverna](http://taverna.incubator.apache.org/ > ). > +SCUFL2 replaces the `.t2flow` format of Taverna 2. > +This API allows JVM applications to inspect, generate and modify > +Apache Taverna workflow definitions without depending on the Apache > Taverna > +runtime. > + > +The format [Scufl2 Workflow Bundle][7] is defined alongside this > +API. This format can be inspected, generated and modified independently > +of this API. > + > +Note that the ability for Scufl2 API to read a workflow bundle (using > +the `scufl2-wfbundle` module) does not guarantee it is valid or > +structurally sound. The > + > +For more information, see the [SCUFL2 API][9] pages, the > +[Javadoc][10] and the [SCUFL2 examples][8]. > + > + > + > + > + > +Usage > +----- > + > +See the [Apache Taverna Language](../) README for details on building and > +using Apache Taverna Language using Maven. You will typically want to > also use > +at least [taverna-scufl2-wfbundle](../taverna-scufl2-wfbundle) to support > +loading and saving of SCUFL2 workflows in the `.wfbundle` format. > + > +All Scufl2 modules are also valid OSGi bundles, see the [OSGi > +section](#OSGI_services) below. > + > +See the [Taverna Language Javadoc][10] for documentation of classes and > methods > +of SCUFL2. The package > +[org.apache.taverna.scufl2.api]( > http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/package-summary.html > ) > +is a good starting point. > + > +See the folder [taverna-scufl2-examples](../taverna-scufl2-examples/) > +for examples of usage. The best classes to start using would be > +`org.apache.taverna.scufl2.api.io.WorkflowBundleIO` and > +`org.apache.taverna.scufl2.api.container.WorkflowBundle`. > + > +Example of converting `.t2flow` to `.wfbundle`: > + > + import org.apache.taverna.scufl2.api.container.WorkflowBundle; > + import org.apache.taverna.scufl2.api.io.ReaderException; > + import org.apache.taverna.scufl2.api.io.WorkflowBundleIO; > + import org.apache.taverna.scufl2.api.io.WriterException; > + > + // .. > + > + WorkflowBundleIO io = new WorkflowBundleIO(); > + File t2File = new File("workflow.t2flow"); > + File scufl2File = new File("workflow.wfbundle"); > + WorkflowBundle wfBundle = io.readBundle(t2File, > "application/vnd.taverna.t2flow+xml"); > + io.writeBundle(wfBundle, scufl2File, > "application/vnd.taverna.scufl2.workflow-bundle"); > + > +Supported file formats with `WorkflowBundleIO` and their required modules: > + > +<table> > + <tr><th>Media type</th> <th>Support</th> <th>JAR</th> > <th>Description</th> </tr> > + > <tr><td>application/vnd.taverna.t2flow+xml</td><td>read</td><td>taverna-scufl2-t2flow</td><td>Taverna > 2 t2flow</td></tr> > + > <tr><td>application/vnd.taverna.scufl2.workflow-bundle</td><td>read/write</td><td>taverna-scufl2-wfbundle</td><td>Taverna > 3 workflow bundle</td></tr> > + > <tr><td>application/vnd.taverna.scufl+xml</td><td>read</td><td>taverna-scufl2-scufl</td><td>Taverna > 1 SCUFL (experimental)</td></tr> > + > <tr><td>text/vnd.taverna.scufl2.structure</td><td>read/write</td><td>taverna-scufl2-api</td><td>Textual > format for testing/debugging</td></tr> > + <tr><td>text/vnd.wf4ever.wfdesc+turtle</td><td>write</td><td><a href=" > https://github.com/wf4ever/scufl2-wfdesc">taverna-scufl2-wfdesc</a></td><td>Abstract > workflow structure in <a href="http://www.w3.org/TR/turtle/">RDF > Turtle</a> according to the <a > href="http://purl.org/wf4ever/model#wfdesc">Wf4Ever > wfdesc ontology</a></td></tr> > + <tr><td>text/vnd.mgrast.awe.awf+json</td><td>read</td><td><a href=" > https://github.com/stain/scufl2-awf">scufl2-awf</a></td> <td>Workflow > definition of the MG-RAST <a href="https://github.com/MG-RAST/AWE">AWE</a> > workflow engine. (experimental)</td></tr> > + <tr><td>application/vnd.shiwa.iwir+xml</td><td>read/write</td> <td><a > href="https://github.com/stain/scufl2-iwir/">scufl2-iwir</a></td> <td><a > href="http://www.shiwa-workflow.eu/">SHIWA</a>'s <a href=" > https://www.shiwa-workflow.eu/documents/10753/55350/IWIR+v1.1+Specification">IWIR</a> > interoperabile workflow language (experimental)</td></tr> > + <tr><td>application/json</td> <td>write</td> <td><a href=" > https://github.com/myGrid/scufl2-examples">scufl2-examples</a></td> > <td>Abstract workflow as JSON (experimental)</td></tr> > +</table> > + > + > +OSGi services > +------------- > +To use SCUFL2 from OSGi with Spring, use the following OSGi Services. > Example, > +from `META-INF/spring/run-context.osgi.xml`: > + > + <?xml version="1.0" encoding="UTF-8"?> > + <beans:beans xmlns="http://www.springframework.org/schema/osgi" > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > + xmlns:beans="http://www.springframework.org/schema/beans" > + xsi:schemaLocation=" > http://www.springframework.org/schema/beans > + > http://www.springframework.org/schema/beans/spring-beans.xsd > + > http://www.springframework.org/schema/osgi > + > http://www.springframework.org/schema/osgi/spring-osgi.xsd"> > + > + <service ref="myService" interface="com.example.MyService"/> > + > + <reference id="workflowBundleIO" > interface="org.apache.taverna.scufl2.api.io.WorkflowBundleIO" /> > + > + </beans:beans> > + > +And in `META-INF/spring/run-context.xml`: > + > + <?xml version="1.0" encoding="UTF-8"?> > + <beans xmlns="http://www.springframework.org/schema/beans" > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > + xsi:schemaLocation="http://www.springframework.org/schema/beans > + > http://www.springframework.org/schema/beans/spring-beans.xsd"> > + > + <bean id="myService" class="com.example.impl.MyServiceImpl" > > + <property name="workflowBundleIO" ref="workflowBundleIO"/> > + </bean> > + > + </beans> > + > +This will provide a `WorkflowBundleIO` instance with its readers and > +writers loaded through OSGi, which when the bundles for > `taverna-scufl2-t2flow` > +and `taverna-scufl2-wfbundle` are also loaded, would include support for > the > +Taverna 2 t2flow format and the Taverna 3 wfbundle format. > + > +Note that you do not need to use OSGi services to instantiate > +`Scufl2Tools` or `URITools`, but may do so if you wish. > + > + > + > + > +[1]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2 > +[3]: > http://www.mygrid.org.uk/dev/wiki/display/story/Dataflow+serialization > +[4]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2+use+cases > +[7]: > http://www.mygrid.org.uk/dev/wiki/display/developer/Taverna+Workflow+Bundle > +[9]: http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2+API > +[10]: http://taverna.incubator.apache.org/javadoc/taverna-language/ > >
