Cloud Server using IIS (Optional)
For most users, the built-in web server provided with the Cloud Server provides all the functionality they need. It is also the easiest method to set up and use.
However, the Cloud Server also provides the option of integrating with Internet Information Services (IIS). This is only recommended for users for whom the built-in authentication methods are insufficient, and who want to use Windows Active Directory or certificate-based authentication.
To configure IIS to host the Cloud Service, you must first set the SparxCloudLink.sseap file to refer to the Cloud Service, and then in Windows open the Internet Information Services (IIS) Manager and configure it to send requests to the appropriate module. Depending on your preferences you can choose either an HTTP Module or an ISAPI module.
Prior to setting up HTTP or ISAPI, these settings must be made in IIS:
- Application Pool settings
- Feature Settings
For a secure HTTPS setup (optional):
- Set up a Certificate
- Set up HTTPS
Before setting up your HTTP module or ISAPI module, you must first check that the sscloudservices.config file for the service is configured as required, and note the port used so that you can specify it when you go on to set the SparxCloudLink.sseap file to refer to the Cloud Service.
The directory path containing the ISAPI dll also contains the SparxCloudLink.sseap configuration file.
The path should resemble this example:
“C:\Program Files (x86)\Sparx Systems\Cloud Services\ISAPI”.
Edit this file in a text editor running as an Administrator.
The default contents are:
The settings are explained further here:
The address to look-up the machine running the Cloud Service. In most circumstances it is best to run the HTTP module and the Cloud Service on the same machine. In this case, the default value of localhost can be used. If the Cloud Service is running on a different machine, use the IP address or server name where the service is running.
The port the Cloud Service is listening on for admin requests. By default this takes the value of 803, but this should be cross-referenced against your service configuration, as explained earlier.
These points are optional. For testing purposes you might prefer to leave these changes until any issues with IIS are resolved:
- Clear the Sparx Services configuration file of reference to ports other than the admin port.
In the SSCloudServices.config file, remove all the references to ports other than the administration port (default 803). In other words, remove the bracketed entries ( … ) from the config file.
- Save the SSCloudService.Config file.
- Restart the Service.
Application Pool Settings
HTTP or ISAPI will require an Application pool that is 32-bit and not managed code. This illustration shows the settings for 32 bit applications in the IIS Application Pools Advanced Settings view.
This illustration shows the access path and the 'Default Web Site | Handler' mappings to permit Script Execution.
Setting up a Certificate
In order to run the HTTPS service you must set up a security certificate in IIS.
In the IIS manager:
- Under 'Connections', select the root connection (machine name)
- Double-click the 'Server Certificates' icon
- Click on 'Create Self Signed Certificate'
- Enter these details:
Setting up HTTPS
To set the bindings through which HTTPS will operate, you need to set the site bindings to include a port and a certificate.
In the IIS manager:
- Under 'Connections', select the default web site
- Under 'Actions' click on the 'Bindings' option
- Click on 'Add' in the 'Site Bindings' window
This will open the Add Site Binding window.
Set the following:
- Type: HTTPS,
- Port: 443
- SSL Certificate: select the certificate created in Set up a Certificate.
To set up the HTTP module in the Internet Information Services (IIS) Manager:
- In the 'Connections' panel, select the machine properties (top of the tree).
- Double-click on the 'Modules' icon in the middle panel.
This returns the 'Modules' list and the 'Actions' view.
- In the 'Actions' list, click on the 'Configure Native Modules…' option.
This opens the 'Configure Native Modules' view.
- Click on the
Type in the Name and the Path of the SSCSIISHttpLink.dll file.
to open the 'Register Native Module' dialog.
- Click on the
. The 'SSCloudServices' checkbox will now be selected.
- Click on the OK button to close the 'Configure Native Modules' dialog.
- In the 'Connections' panel (see Step 1), select your web site.
- Double-click the Handler Mappings in the middle pane.
This opens the Handler Mappings view:
- In the 'Actions' list, click on the 'Add Module Mapping' option to open the 'Add Module Mapping' dialog.
- In the 'Add Module Mapping' dialog (as illustrated), set the 'Request path', 'Module' and 'Name'.
- From the 'Module' drop-down select the module added in step 4.
- Click on the
Note: The 'Mappings' tab should be left with the default settings, that is 'Invoke handler only if request is mapped to' is not ticked.
and, on the 'Request Restrictions' dialog, select the 'Access' tab. Select the 'Execute' radio button to enable Execute permission.
- Click on the OK button.
- Close the 'Add Module Mapping' dialog by clicking on the OK button.
To complete this HTTP module set up see also Configuration settings. You should then be able to connect to a model using Enterprise Architect via your IIS server using the HTTP module.
To configure an ISAPI module instead of the HTTP module:
- In the 'Connections' panel, select the machine properties:
- Double-click on the 'Handler Mappings' icon:
- In the 'Actions' list, click on the 'Add Module Mapping' option.
- In the 'Add Module Mapping' dialog, set 'Request path' to 'sparxCloudLink.sseap', 'Module' to 'IsapiModule', and 'Executable' to 'SSCSIISIsapiLink.dll', as shown.
- Click on the OK button to close the dialog. You should now be able to connect to a model using Enterprise Architect via your IIS server using ISAPI.