How to Develop a ScienceCloud RESTful Web Service for Data Syncing


The following is a guest post by Ton van Daelen, PhD, Senior Product Director, BIOVIA ScienceCloud.

As corporations are defining their research informatics cloud strategies, it is becoming clear is that this will be a measured migration rather than a lift-and-shift” operation. During this migration, organizations will support a “hybrid-cloud” environment. This involves moving data between on-prem applications and applications running in the cloud.

Pipeline Pilot has long been a preferred tool for creating these syncing operations.  For some use cases, it is convenient to expose these services as programmatic interfaces. In this article we outline how a cloud-hosted Pipeline Pilot protocol can be exposed as a standard RESTful web service and how it can be called programmatically by your applications.

As an example, consider an on-prem application that needs to query ScienceCloud for new batches and assay results uploaded for a particular project.

The first step is to create a Pipeline Pilot protocol that retrieves the data. This protocol is written with components from the Project Data collection, using the object model that underlies the ScienceCloud Project Data application. The results will be saved in an SD file.

Pipeline Pilot Protocol

Next step then is to get the REST URL for calling this protocol. Pipeline Pilot automatically constructs this URL for you. Right-click on the saved protocol and select Create Protocol Link…. You can copy-and-paste it from the UI:


ScienceCloud Batches

This URL can be pasted into your code and it will call the protocol and return the results as a file object.

ScienceCloud provides a Sandbox environment for building and testing these services. The Sandbox environment mimics the Production environment, yet is safe for testing as it does not contain production data.

The final step, once you have confirmed that your protocol and service are working correctly, is to publish to the Production environment. Right-click on the protocol and select the option Publish to ScienceCloud… in your Pipeline Pilot client:

ScienceCloud Production

These are the basics of creating a RESTful web service in ScienceCloud. Consult the links below for additional information on making asynchronous calls, how to retrieve other objects within ScienceCloud Project Data, and details for how a protocol is tested and published.

For examples of how companies utilize Pipeline Pilot and how their processes are assisted by BIOVIA technology, see these articles: