The next version of the SRM Framework, SRM 1.2.18, is now available. It includes a feature to return data from a Profile Load Script, as well as several other enhancements. To better understand the benefits of this new feature, let’s take a quick look at what Profile Load Scripts actually do in our SRM Framework.
In an orchestration scenario, the Life Cycle Service Orchestration (LSO) Script typically orchestrates the configuration of Resources. During each event of a Booking (e.g. at the beginning of pre-roll, the end of pre-roll, the beginning of post-roll, etc.), the LSO script gets executed by the Framework and triggers the configuration of each Resource in the Booking.
LSO Scripts are usually custom scripts that depend on the workflow that needs to be supported. The LSO Script for pushing a video stream to the cloud and encoding it is completely different from the LSO Script used to configure a satellite reception chain.
LSO does not interface with Resources at all; it only triggers a Profile Load Script per Resource. It is the Profile Load Script that applies a Profile Instance (containing settings) to a Resource. Profile Load scripts should not do more than that.
Up to now, a Profile Load Script could only report a success or a failure of the script execution. This could be used to update the Booking to a failed state if necessary. Now this has been extended so that Profile Load Scripts can return data as well, which LSO can use when triggering the configuration of other Resources.
A typical example of how this can be used is when orchestrating the deployment and the configuration of an application server. First the Profile Load Script will deploy the application, and then a second script will configure the application. The script deploying the application needs to return a reference to the application so that the second script can configure it.
Another example is related to orchestrating media services on AWS. A first Profile Load Script can instruct AWS Cloud Formation to deploy the stack and return references of the AWS resources being used. Other Profile Load Scripts can then use these references to further configure the media services.
For a complete list of features and enhancements, check the 1.2.18 release notes.