The main job of the SIS is to evaluate compositions, to control invoking services.
Composition components specify which services to invoke, when. They may include conditional logic, to invoke different services depending on parameters in the request, or the outcome of earlier services in the composition.
What’s in a composition?
A composition contains the following information:
|Care should be taken to make sure compositions invoke services in a sensible order. For example, services that perform some form of authorization would typically run before the others.|
Management operations on the SIS define the services that compositions can use.
See the SIS Administration Guide for more information.
Below is a sample composition, and a description of schema syntax.
The example below shows a simple composition that invokes two services. Its main elements are:
composition-name/vendor/version, which defines this composition’s component identity;
service-ref, which declares the services that this composition requires; and script, which specifies how to invoke those services.
When the SIS evaluates this composition, it will:
Composition schema syntax
The base XML schema sis-composition-1.8.xsd defines the basic structure of a composition. SIS variants extend this base schema with protocol-specific properties.
Compositions for IN protocols may use the XML schema in-sis-composition-1.8.xsd to extend the generic schema for SIS compositions. IN compositions use the following corresponding schema namespaces:
<composition xmlns="http://www.opencloud.com/SIS/Composition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:in="http://www.opencloud.com/SIS/Composition/IN" xsi:schemaLocation="http://www.opencloud.com/SIS/Composition/IN in-sis-composition-1.8.xsd http://www.opencloud.com/SIS/Composition sis-composition-1.8.xsd">
Compositions for SIP may use the XML schema sip-sis-composition-1.8.xsd to extend the generic schema for SIS compositions. SIP compositions use the following corresponding schema namespaces:
<composition xmlns="http://www.opencloud.com/SIS/Composition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sip="http://www.opencloud.com/SIS/Composition/SIP" xsi:schemaLocation="http://www.opencloud.com/SIS/Composition/SIP sip-sis-composition-1.8.xsd http://www.opencloud.com/SIS/Composition sis-composition-1.8.xsd">