| <!-- |
| 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. |
| --> |
| |
| # Apache Taverna Common Activities |
| |
| Common Activities to be invoked as part of |
| [Apache Taverna](https://taverna.incubator.apache.org/) workflows. |
| |
| Note that this module relies on other |
| [Apache Taverna modules](https://taverna.incubator.apache.org/code) for |
| the actual workflow execution. |
| |
| |
| ## License |
| |
| * (c) 2007-2014 University of Manchester |
| * (c) 2014-2016 Apache Software Foundation |
| |
| This product includes software developed at The |
| [Apache Software Foundation](http://www.apache.org/). |
| |
| Licensed under the |
| [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file |
| [LICENSE](LICENSE) for details. |
| |
| The file [NOTICE](NOTICE) contains any additional attributions and |
| details about embedded third-party libraries and source code. |
| |
| |
| # Contribute |
| |
| Please subscribe to and contact the |
| [dev@taverna](https://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/12326811) |
| under the `TAVERNA` component _Taverna Common Activities._ 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-common-activities/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. |
| |
| 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. |
| |
| |
| |
| ## Prerequisites |
| |
| * Java 1.8 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) |
| |
| This code relies on other |
| [Apache Taverna modules](https://taverna.incubator.apache.org/download/code/), |
| which Maven shuold automatically |
| download from |
| [Apache's Maven repository](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-engine](https://taverna.incubator.apache.org/download/engine/) |
| |
| Please see the `<properties>` of this [pom.xml](pom.xml) to find the |
| correct versions to build. |
| |
| |
| # Building |
| |
| To build, use |
| |
| mvn clean install |
| |
| This will build each module and run their tests. |
| |
| |
| ## Building on Windows |
| |
| If you are building on Windows, ensure you unpack this source code |
| to a folder with a [short path name](http://stackoverflow.com/questions/1880321/why-does-the-260-character-path-length-limit-exist-in-windows) |
| lenght, e.g. `C:\src` - as |
| Windows has a [limitation on the total path length](https://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath) |
| which might otherwise |
| prevent this code from building successfully. |
| |
| |
| ## Skipping tests |
| |
| To skip the tests (these can be time-consuming), use: |
| |
| mvn clean install -DskipTests |
| |
| |
| 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: |
| |
| mvn clean install -Drat.skip=true |
| |
| # Modules |
| |
| Each module implement a particular type of |
| Taverna [Activity](https://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/workflowmodel/processor/activity/Activity.html). |
| |
| * [taverna-beanshell-activity](taverna-beanshell-activity/): Apache Taverna Beanshell Activity, |
| runs [Beanshell](https://github.com/beanshell/beanshell/) scripts. |
| * [taverna-external-tool-activity](taverna-external-tool-activity/): Apache Taverna External Tool Activity, |
| run command line locally or over SSH |
| * [taverna-interaction-activity](taverna-interaction-activity/): Apache Taverna Interaction Activity, |
| ask questions to the user through a browser |
| * [taverna-rest-activity](taverna-rest-activity/): Apache Taverna REST Activity, |
| invoke [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) HTTP(S) web services based on a URI template. |
| * [taverna-spreadsheet-import-activity](taverna-spreadsheet-import-activity/): Apache Taverna Spreadsheet Import Activity, |
| imports from CSV, Excel and OpenOffice. |
| * [taverna-wsdl-activity](taverna-wsdl-activity/): Apache Taverna WSDL Activity, |
| invoke [WSDL](https://en.wikipedia.org/wiki/Web_Services_Description_Language)-described SOAP services. |
| * [taverna-wsdl-generic](taverna-wsdl-generic/): Apache Taverna WSDL-generic Library, |
| library for parsing WSDL and calling SOAP services |
| * [taverna-xpath-activity](taverna-xpath-activity/): Apache Taverna XPath Activity, |
| select XML fragments using [XPath](https://www.w3.org/TR/xpath/) expressions |
| |
| |
| # Export restrictions |
| |
| This distribution includes cryptographic software. |
| The country in which you currently reside may have restrictions |
| on the import, possession, use, and/or re-export to another country, |
| of encryption software. BEFORE using any encryption software, |
| please check your country's laws, regulations and policies |
| concerning the import, possession, or use, and re-export of |
| encryption software, to see if this is permitted. |
| See <http://www.wassenaar.org/> for more information. |
| |
| The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), |
| has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, |
| which includes information security software using or performing |
| cryptographic functions with asymmetric algorithms. |
| The form and manner of this Apache Software Foundation distribution makes |
| it eligible for export under the License Exception |
| ENC Technology Software Unrestricted (TSU) exception |
| (see the BIS Export Administration Regulations, Section 740.13) |
| for both object code and source code. |
| |
| The following provides more details on the included cryptographic software: |
| |
| * [taverna-rest-activity](taverna-rest-activity) |
| depends on |
| [Apache HttpComponents](https://hc.apache.org/) Client, |
| and can be configured to initiate |
| `https://` connections. |
| * [taverna-wsdl-generic](taverna-wsdl-generic) |
| and [taverna-wsdl-activity](taverna-wsdl-activity) use |
| [Java Secure Socket Extension](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html) |
| (JSSE) and depend on |
| [Apache WSS4J](https://ws.apache.org/wss4j/), |
| [Apache XML Security for Java](https://santuario.apache.org/javaindex.html) |
| for accessing secure SOAP Web Services. |
| * Apache Taverna Common Activities depends on the |
| [Apache Taverna Engine](http://taverna.incubator.apache.org/download/engine/) |
| Credential Manager API for |
| management of username/password and client/server SSL certificates. |
| * [taverna-interaction-activity](taverna-interaction-activity) depends on |
| [Jetty](http://www.eclipse.org/jetty/), |
| which includes UnixCrypt.java for one way cryptography, and can be |
| configured for SSL encryption using |
| [Java Secure Socket Extension](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html). |
| |