11
Donal Fellows School of Computer Science, The University of Manchester SCAPE Developer Workshop Brno, 19–21 November 2013 Taverna Components The Basics

Taverna Components: The Basics

Embed Size (px)

DESCRIPTION

This is an introduction to creating components in Taverna.

Citation preview

Page 1: Taverna Components: The Basics

Donal FellowsSchool of Computer Science, The University of Manchester

SCAPE Developer WorkshopBrno, 19–21 November 2013

Taverna ComponentsThe Basics

Page 2: Taverna Components: The Basics

• Something that can be put into a workflow• Well described

• What the component does• Where to find it

• Behaves “well” • Conforms to agreed good practice policy

• Curated • Someone looks after it

• Produces and consumes data in agreed formats• Fails in described ways

• Meaningful error messages• Produces agreed type of provenance

2

Taverna Components Are…

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 3: Taverna Components: The Basics

• Implemented by Workflows• Collect Components in Families

• Groups similar components together• Families share common Profile

• Defines what it means to be a family member• Profiles inherit from Base Profile

• Defines semantics of workflows and standard annotations

• Store in a Registry• We use myExperiment as the shared Registry

• Use a local registry on your filesystem when developing new components

3

Components Model

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 4: Taverna Components: The Basics

4

Component Architecture

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 5: Taverna Components: The Basics

5

Finding Components

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Online on myExperiment

Within Taverna

Page 6: Taverna Components: The Basics

• Make sure you have the right version of the tools!

• Out Now: Taverna Workbench 2.4 with Plugin• Component Plugin 1.1.2

• Out Very Soon: Taverna Workbench 2.5• Incorporated as core functionality

• Out Very Soon: Taverna Server 2.5.1 or later• 2.5.2 will have provenance support

6

Supported Versions

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 7: Taverna Components: The Basics

1. Decide what you want to do…• “Combine measures documents”

2. Create a workflow to do it• Don’t forget to annotate!

3. Turn it into a component1. “Components” Menu2. “Create component…”3. Choose registry, family and name

• You may need to create a family (see next slide)

4. Any final adjustments before publication? Do now5. Save component, providing a description

4. If it is public, share component with SCAPE via myExperiment website

7

Making a Component

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 8: Taverna Components: The Basics

1. “Components” “Create family…”2. Select registry and profile

TIP: You can create profiles from the “Components”menu by importing them from myExperiment

3. Provide a name and description4. If it is a family on a public repository, set the sharing

policy and license5. If you want to share your family with SCAPE, you do

that via the myExperiment web interface

TIP: Try to avoid creating families unless there’s a functional reason

8

Creating a Component Family

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 9: Taverna Components: The Basics

• Import the Family into service panel• “Import new services”• “Component service…”• Pick registry and family

• See that family members are now available

• Drag the component across (or right-click and “add” from menu) to add to your workflow

TIP: Private components will not be usable by others or by the execution platform (got to read the component definition to run it!)

9

Using a Component

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 10: Taverna Components: The Basics

• Open the component• “Components” “Open component…”

• Edit the component• Save (either normally or via

“Components” menu)• Provide description of version

• Tell workflows to use new version• Right-click “Configure component…”• Pick the version to use• TIP: They do not update automatically

10

Updating a Component

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐

Page 11: Taverna Components: The Basics

• SPARQL searches not exposed in plugin• They’re there in myExperiment, but too hard to use for most

users so that UI is switched off• Full semantic annotation not exposed

• Gets very problematic when dealing with FOAF annotations for creators

• Profile validation not complete• No true interface for creating profiles

• Just importing already existing profile documents

• Many features wanted by other projects are missing

11

Open Issues

This work was partially supported by the SCAPE Project.The SCAPE project is co funded by the European Union under FP7 ICT 2009.4.1 (Grant Agreement number 270137).‐ ‐