July 22, 2024

Changes in CCS5 Web Service

CCS5

Since long ago CCS5 provides RESTful API for:

This Web service is implemented in Tcl as part of the SESS_SERVER component. If enabled in ConfigureCCS, it starts automatically on a CCS Server host.

For the upcoming release we have reimplemented the Web service in Python, while keeping the REST API intact. This way we made it more efficient, and in future we will be able to extend its functionality easily. However, it will require additional actions from users when they update to the new release. While the user manual provides detailed instructions about the new Web service in Volume 4, this blog post focuses on differences between the old and new implementation.

Installation

The Web service requires Python 3.8 – 3.10 to run. It is packaged in a “wheel” file included in the CCS5 installer.

The Web service options are now gone from ConfigureCCS and instead we bundle webservice.ini file that you can configure according to your setup.

Although it is possible to install this package system-wide, we recommend to create a dedicated Python venv (virtual environment) in a directory of your choice, so that its dependencies do not conflict with any other Python software that may be installed in the system.

CCS5 provides scripts ws_install.py and ws_start.py to install and start the Web service, assuming the default location of the virtual environment in $HOME/ccs5_env

If you need to start the Web service automatically on system boot, you can find convenience scripts WEB.service and WEBAPI_SERVER.bat in the CCS5 installation directory.

PART Retrievals

The new Python implementation differs from the old one in these points:

Session Control

These are the differences in the session control functionality:

.

.