Protocol Development Overview
Summary: This article provides a high-level overview of how to develop, test, and publish protocol services for ScienceCloud.
ScienceCloud offers environments for developing and testing protocols to be deployed as services in the various ScienceCloud applications. Pipeline Pilot is the authoring tool for the development of these services. ScienceCloud applications that can be extended this way include ScienceCloud Web Tasks, ScienceCloud Project Data, ScienceCloud Analysis (Pipette), ScienceCloud Assay, ScienceCloud Notebook, and the Mobile Tasks app.
The following diagram illustrates how Pipeline Pilot protocols are published and made available in ScienceCloud.
To use the Pipeline Pilot Client with ScienceCloud, you must use a compatible version of the client. You can download the latest client version from the ScienceCloud developer home page.
In general, a protocol is authored for use within a specific target application.
- The Authoring environment contains the server you connect Pipeline Pilot to to develop your protocol and test it within Pipeline Pilot
- The Sandbox environment is where you (and any end-user testers) test your protocol within the target application
- The Production environment is where you deploy your 'final' protocol for everyone to use.
Moving your protocol in the Sandbox or Production environments is called the 'Publication' step and can be done from the Pipeline Pilot client.
The publication process takes care of validating your protocol for security issues, documentation, and for best practices related to protocol building. You also have the option to make your protocol available to the ScienceCloud community by contributing it to the ScienceCloud Protocol Exchange. Many protocol publishers choose to do both.
When developing protocols for ScienceCloud it is useful to distinguish between 1) protocols that run on-prem, yet access data in ScienceCloud and 2) protocols that are deployed and run in the cloud:
- On-prem protocols are typically protocols that either move data into ScienceCloud or that get data out. Since data can generally not be pushed from the cloud back into an organization as is has the penetrate the firewall. These protocols are therefore run on-prem, and they can use the various component collections for write and read operations to ScienceCloud
- Cloud protocols do not transfer data to on prem but run specific tasks in the cloud, for example, business rules within Project Data, Web Tasks, Notebook Tasks, etc.
When you are writing a new protocol it is important to understand what type of protocol it is that you need.
The following component collections are typically used for building protocols.
|Project Data Collection||Move data in or out of ScienceCloud Project Data or ScienceCloud Project Documents or to read and write to the social dashboard.|
|Notebook Collection||Move data in or out of ScienceCloud Notebook|
|Inventory Collection||Move data in or out of ScienceCloud Inventory|
|Assay Collection||Move data in or out of ScienceCloud Assay, Automate ScienceCloud Assay Run, Administrate ScienceCloud Assay.|
|Sample Collection||Move data in or out of ScienceCloud Sample|
|Mobile Collection||Deploy protocols into the ScienceCloud Tasks Mobile App|
For further details, refer to the articles related to each collection.