You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by bu...@apache.org on 2015/02/09 16:57:21 UTC

svn commit: r939574 - in /websites/staging/taverna/trunk: cgi-bin/ content/ content/documentation/components/ content/documentation/components/index.html

Author: buildbot
Date: Mon Feb  9 15:57:21 2015
New Revision: 939574

Log:
Staging update by buildbot for taverna

Added:
    websites/staging/taverna/trunk/content/documentation/components/
    websites/staging/taverna/trunk/content/documentation/components/index.html
Modified:
    websites/staging/taverna/trunk/cgi-bin/   (props changed)
    websites/staging/taverna/trunk/content/   (props changed)

Propchange: websites/staging/taverna/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb  9 15:57:21 2015
@@ -1 +1 @@
-1658438
+1658443

Propchange: websites/staging/taverna/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb  9 15:57:21 2015
@@ -1 +1 @@
-1658438
+1658443

Added: websites/staging/taverna/trunk/content/documentation/components/index.html
==============================================================================
--- websites/staging/taverna/trunk/content/documentation/components/index.html (added)
+++ websites/staging/taverna/trunk/content/documentation/components/index.html Mon Feb  9 15:57:21 2015
@@ -0,0 +1,314 @@
+<!DOCTYPE html>
+<html lang="en">
+      <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">	  
+    <meta name="viewport" content="width=device-width, initial-scale=1">      
+    <title>Apache Taverna - Components</title>
+
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <meta property="og:image" content="/img/taverna-logo-145x134.png" />
+
+	<link rel="shortcut icon" href="/favicon.ico">
+	<link rel="icon" type="image/png" sizes="145x134" href="/img/taverna-logo-145x134.png">
+	<link rel="apple-touch-icon" sizes="145x134" href="/img/taverna-logo-145x134.png">
+
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap-theme.min.css">
+    <link rel="stylesheet" href="/css/sticky-footer-navbar.css">
+    <link rel="stylesheet" href="/css/taverna.css">
+
+    
+
+    
+    <!-- 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 &quot;License&quot;); 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 &quot;AS IS&quot; 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. -->
+
+    <!-- JSON-LD markup for Google Structured Data -->
+	
+	  <!-- generic JSON-LD for this page -->
+	  <script type="application/ld+json">  
+		{
+			"@context" : "http://schema.org",
+			"@type" : ["CreativeWork"],
+			"@id": "",
+			"name" : "Components",
+			"publisher" : {
+				"@type" : "Organization", 
+				"url" : "http://www.apache.org/",
+				"name" : "The Apache Software Foundation (ASF)" 
+			},
+			"license": { 
+				"@type": "CreativeWork",
+				"@id": "http://www.apache.org/licenses/LICENSE-2.0",
+				"url": "http://www.apache.org/licenses/LICENSE-2.0",
+				"name": "Apache License, Version 2.0"
+			}
+		}		
+</script>
+	  
+  </head>
+
+  <body>
+
+              <!-- Static navbar -->
+      <nav class="navbar navbar-default" role="navigation">
+        <div class="container">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+			<a class="navbar-brand" href="/"><img src="/img/taverna-logo-145x134.png" alt="">Apache Taverna</a>
+			  
+          </div>
+          <div id="navbar" class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">              
+                <li class="dropdown">
+					<a href="/introduction/" data-toggle="dropdown" role="button" aria-expanded="false">Introduction<span class="caret"></span></a>
+					<ul class="dropdown-menu"  role="menu">
+					   <li><a href="/introduction/taverna-features">Taverna features</a></li>
+					   <li><a href="/introduction/why-use-workflows">Why use workflows?</a></li>
+					   <li><a href="/introduction/what-is-in-silico-experimentation">What is ‘in silico’ experimentation?</a></li>
+					   <li><a href="/introduction/what-is-a-workflow-management-system">What is a Workflow Management System?</a></li>
+					   <li><a href="/introduction/how-can-taverna-help-me">How can Taverna help me?</a></li>
+					   <li><a href="/introduction/services-in-taverna">Services in Taverna</a></li>
+					   <li><a href="/introduction/related-projects">Related projects</a></li>
+					   <li><a href="/introduction/chemistry-web-services">Chemistry-web-services</a></li>
+                       <li><a href="/introduction/taverna-in-use">Taverna in use</a></li>
+				       <li><a href="/introduction/works-with">Works with...</a></li>
+                       <li><a href="/introduction/roadmap.html">Raod Map</a></li>						
+					</ul>
+				</li>
+                <li class="dropdown">
+					<a href="/documentation" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/documentation/glossary">Glossary1</a></li>
+					  <li><a href="/documentation/quick-start-guide">Quick start guide</a></li>
+					  <li><a href="/documentation/components">Components</a></li>
+					  <li><a href="/documentation/interaction">Interactions</a></li>
+					  <li><a href="/documentation/tutorials">Tutorials</a></li>
+					  <li><a href="/documentation/videos">Videos</a></li>
+					  <li><a href="/documentation/example-workflows">Example workflows</a></li>
+					  <li><a href="/documentation/service-sets">Service sets</a></li>
+					  <li><a href="/documentation/provenance">Provenance management</a></li>
+					  <li><a href="/documentation/command-line">command-line</a></li>
+					  <li><a href="/documentation/server">Taverna Server</a></li>
+					  <li><a href="/documentation/taverna-player">Taverna Player</a></li>
+					  <li><a href="/documentation/plugins">Plugins</a></li>
+					  <li><a href="/documentation/dataviewer-tool">DataViewer Tool</a></li>
+					  <li><a href="/documentation/api-consumer-tool">API Consumer Tool</a></li>
+					  <li><a href="/documentation/taverna-galaxy">Taverna 2-Galaxy</a></li>
+					  <li><a href="/documentation/training-and-workshops">Training and workshops</a></li>
+				  </ul>
+    			</li>
+                <li class="dropdown">
+					<a href="/download" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Download<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/download">Apache Taverna 3.x</a></li>
+					  <li><a href="/download/pre-apache">Taverna 2.x (Pre-Apache)</a></li>
+				  </ul>
+				</li>
+                <li><a href="/code">Code</a></li>            
+                <li class="dropdown">
+					<a href="/community" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/community#mailinglists">Mailing Lists</a></li>
+					  <li><a href="/community#contribute">Contribute</a></li>
+					  <li><a href="/community#reportbugs">Report a Bug</a></li>
+				  </ul>
+				</li>
+            </ul>
+             
+              <form >
+                      
+                      
+                      <!--<input type="submit" id="submit" value="Search">-->
+                    </form>
+              
+              <form class="navbar-form navbar-right" role="search"
+                  name="search" id="search" action="http://www.google.com/search" method="get">
+                      <input value="taverna.incubator.apache.org" name="sitesearch" type="hidden"/>
+                      <div class="form-group input-group">
+                          <input type="text" name="q" id="query" placeholder="Search" class="form-control">
+						  <span class="input-group-btn">
+                            <button type="submit" class="btn btn-default">Search</button>
+						  </span>
+                      </div>                  
+              </form>
+
+             <ul class="nav navbar-nav navbar-right">                
+            <li class="dropdown">
+                <a href="http://www.apache.org/" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">ASF<span class="caret"></span></a>
+                <ul class="dropdown-menu" role="menu">
+                    <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
+                    <li><a href="http://www.apache.org/foundation/how-it-works.html">How it works</a></li>
+                    <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+                    <li><a href="http://incubator.apache.org/projects/taverna.html">Taverna Incubation Status</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div><!--/.nav-collapse -->
+        </div><!--/.container-->
+      </nav>
+
+
+    <div id="page" class="container">
+       <h1>Components</h1>
+	   <div class="alert alert-info" role="alert"><p><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
+
+Taverna is transitioning to the Apache Incubator. 
+This webpage reflects material not yet released under Apache Incubator.
+Instead it shows <a class="alert-link" href="http://www.taverna.org.uk/">taverna2</a> material that is expected to become part of the Apache Incubator project in the future.
+</div>
+
+
+		<div id="content"><p>Taverna Workflow Components are a system for creating shareable, reusable, 
+   encapsulated sub-workflows that perform clearly defined tasks while abstracting away from 
+   the details of how those tasks are performed. 
+They are an integrated feature of Taverna Since Workbench 2.5.0 and Server 2.5.4.</p>
+<p>As part of the BioVeL and SCAPE projects, 
+  we have developed a system of service components for Taverna. 
+This consists of tools for the creation, management and use of workflow components, 
+   and a repository for the storage and sharing of those components. 
+Workflow components within a given component family will work together cleanly, 
+   for example by adhering to a tidy type system and being well described.</p>
+<p>A set of minimal functional requirements for service component management has been developed 
+   based upon previous component-related work carried out as part of the e-Lico project and 
+   also an examination of the needs of BioVeL and SCAPE.</p>
+<p>These requirements include:</p>
+<ul>
+<li>The ability to create components</li>
+<li>The specification of the characteristics that are necessary for a set of components to 
+   ‘play’ together – called a ‘component profile’</li>
+<li>Creating a component so it complies with a given profile</li>
+<li>Checking that a component complies with a given profile</li>
+<li>Publishing a component</li>
+<li>Discovering a component</li>
+<li>Including a component in a workflow</li>
+<li>Executing the component within a workflow run</li>
+</ul>
+<p><img class="aligncenter" title="The Model of Components" src="/img/registry.png" alt="" 
+     width="433" height="251" /></p>
+<h2 id="example">Example</h2>
+<p>This is an example workflow that includes components, with internal ports hidden for simplicity:</p>
+<p><img class="alignnone" title="Componentized Workflow" src="/img/component_b_1.png" alt="" 
+     width="679" height="294" /></p>
+<p>Without components, using the same view, it would instead look like this:</p>
+<p><a href="http://www.taverna.org.uk/pages/wp-content/uploads/2013/05/component_c.png"><img class="aligncenter" title="Un-componentized Workflow" src="/img/component_c.png" alt="" width="245" height="526" /></a></p>
+<h2 id="including-a-component-in-a-workflow">Including a component in a workflow</h2>
+<p>A component can be added into a Taverna workflow in the same way as an ordinary service, 
+   by dragging it from the service panel of the workbench into the workflow design view. 
+   Note that although it may be realized internally as a workflow, 
+   a user sees it as a ‘black box’ and cannot (normally) edit the component’s workflow.</p>
+<p><img class="aligncenter" src="/img/arch3.png" alt="" width="500" height="401" /></p>
+<p>It is intended that there will be consistency checks to ensure that components are only plugged 
+   together in a sensible manner, and for the discovery of and connection to suitable components 
+   based upon existing workflow structure.</p>
+<h2 id="executing-a-component-in-a-workflow-run">Executing a component in a workflow run</h2>
+<p>When a component is invoked during a workflow run, the underlying workflow is called with the 
+   corresponding data. 
+The results of the workflow are used as the output data for the component invocation. 
+Note that the user sees the component invocation as a ‘black box’ and cannot see details of 
+   what happens inside.</p>
+<p>Note that if you publish a workflow containing a component, you <em>need</em> to make sure that the 
+   component is publicly readable in a globally-accessible component registry; 
+   myExperiment is such a suitable registry.</p>
+<h2 id="component-creation">Component creation</h2>
+<p>It was decided that the majority of the information necessary for a component will be specified 
+   as a Taverna workflow. 
+This allows complex internal component functionality and removes the need for extensive new 
+   software to design components.</p>
+<p><img class="aligncenter" src="/img/arch1.png" alt="" width="340" height="433" /></p>
+<h2 id="component-profile">Component profile</h2>
+<p>A specification of the format for the component profile has been agreed. 
+The format is in XML and an XML schema (xsd) has been created. 
+An example <a href="http://www.myexperiment.org/files/905/versions/1/download/Characterisation%20Component.xml">component profile</a> 
+   is available. 
+Components that share a profile will be collected together into component families. 
+A <a href="/developers/work-in-progress/components/component-profile-editor">component profile editor</a> 
+   is being developed.</p>
+<p style="text-align: center;">
+<img class="aligncenter" src="img/arch2.png" alt="" width="359" height="412" />
+</p>
+
+<p>The SCAPE project has an 
+   <a href="https://openplanets.github.io/scape-component-profiles/">extended discussion of component profiles</a>
+   available.</p>
+<h2 id="component-creation-against-a-profile">Component creation against a profile</h2>
+<p>In order to conform to a component profile, it can be necessary to make semantic annotations 
+   parts of the corresponding workflow. 
+For example, the annotation of the type of format in which data is output by a port or 
+   a service with the task it performs.</p>
+<p>The component profile specifies the ontologies that will be used for the components within the 
+   family, the correspondence between object classes within a workflow 
+   (input port, service etc.) and the concepts within the ontologies.</p>
+<h2 id="checking-a-component-against-a-profile">Checking a component against a profile</h2>
+<p>Although the components will be modified using a chosen profile, 
+   it is unlikely that the components can be assured as being ‘correct by construction’. 
+For this reason, a separate 
+   <a href="href=&quot;/developers/work-in-progress/components/component-validator/">component validator</a>
+   is being implemented. 
+The component validator is included within 
+   <a href="http://www.myexperiment.org">myExperiment</a>.</p>
+<h2 id="publishing-a-component">Publishing a component</h2>
+<p>Since components are realized  as ‘extensions’ to Taverna workflows, 
+   it was decided that rather than using a separate component repository, 
+   the extensive capabilities of myExperiment  would be used. 
+Thus a component is currently published and shared on myExperiment as (a pack containing) 
+   a workflow. 
+The components themselves are items within a pack corresponding to the component family.</p>
+<p>To facilitate the development of components, a workflow can also be saved to the user’s local 
+   machine.</p>
+<p>When a user publishes a component either to myExperiment or to their local file system, 
+   their service panel is updated to reflect the new component.</p>
+<h2 id="discovering-a-component">Discovering a component</h2>
+<p>Since component families are realized as packs on myExperiment 
+   (or by analogous structures in the user’s file system), 
+   we use the existing Taverna code to talk to the myExperiment REST interface to give users 
+   access to families of components. 
+Users can then see the discovered families of components via the Taverna Workbench service 
+   panel, and the components within those families. 
+A component can then be added to a workflow.</p></div>
+
+    </div>
+
+        <footer class="footer">
+      <div class="container">
+           <p id="copyright" class="text-muted">
+              Copyright &#169; 2014-2015 The Apache Software Foundation, Licensed under the 
+              <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+              Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+          </p>
+      </div>
+    </footer>
+      
+
+
+    <script src="/lib/jquery/jquery-1.11.1.min.js"></script>
+<script src="/lib/bootstrap/js/bootstrap.min.js"></script>
+
+<script>
+	jQuery(function($) {
+        if($(window).width()>769){
+            $('.navbar .dropdown').hover(function() {
+                $(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
+
+            }, function() {
+                $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp();
+
+            });
+
+            $('.navbar .dropdown > a').click(function(){
+                location.href = this.href;
+            });
+
+        }
+    });
+</script>
+
+
+  </body>
+</html>
\ No newline at end of file