Pro Cloud Server using IIS (Optional)
This topic describes the use of Microsoft’s Internet Information Server (IIS) to replace the Pro Cloud Server’s in-built webserver. IIS should be used only under certain conditions.
The ability to use IIS was introduced in an early version of Sparx Systems Cloud Services (the product prior to the Pro Cloud Server) to allow Enterprise Architect users to implement a basic form of single sign-on (although the prompt for user credentials was not completely eliminated using this method).
In version 3 of the Pro Cloud Server, native support for Windows Active Directory and OpenID single sign-on was added, providing a more integrated, robust and secure single sign-on methodology.
The main limitation of using IIS instead of the in-built PCS webserver is that functionality such as the Floating License Server and SBPI Integrations will not function when Enterprise Architect users are connecting via IIS. Basically, the IIS connection only allows Enterprise Architect clients to read data from a repository.
Given the above information, Sparx Systems would now only recommend the use of IIS when users:
- Are using a version of Pro Cloud Server prior to v3
- Are not using the Floating License Server component
- Are not using SBPI Integrations
- Are not using the native PCS single sign-on feature
To configure IIS to host the Pro Cloud Server, you must first set the SparxCloudLink.sseap file to refer to the Pro Cloud Server, 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 SSProCloud.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 Pro Cloud Server.
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\Pro Cloud Server\ISAPI
Edit this file in a text editor, running as an Administrator.
The default contents are:
The address to look up the machine running the Pro Cloud Server. In most circumstances it is best to run the HTTP module and the Pro Cloud Server on the same machine. In this case, the default value of localhost can be used. If the Pro Cloud Server is running on a different machine, use the IP address or server name where the service is running.
The Port the Pro Cloud Server is listening on for admin requests. By default this takes the value of 803, but this should be cross-referenced against your service configuration in the SSProCloud.config file.
These points are optional. For testing purposes you might prefer to leave these changes until any issues with IIS are resolved.
- In the SSProCloud.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 SSProCloud.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 on the 'Server Certificates' icon.
- Click on 'Create Self Signed Certificate'.
- Specify a simple, user-friendly name for the certificate.
Setting up HTTPS
To set the bindings through which HTTPS will operate, you must include a Port and a certificate in the site bindings.
In the IIS Manager:
- Under 'Connections', select the 'Default Web Site' option
- Under 'Actions' click on the 'Bindings' option
- In the Site Bindings window click on 'Add'
This will open the Add Site Binding window.
Set these parameters:
- Type: HTTPS
- Port: 443
- SSL Certificate: select the certificate created in Setting 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), click on your web site.
- Double-click on 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.
- As illustrated, set the 'Request path' and 'Name'.
- In the 'Module' field, click on the drop-down arrow and select the module added in step 4.
- Click on the
. On the 'Request Restrictions' dialog, select the 'Access' tab. Select the 'Execute' radio button to enable Execute permission.
- Select the 'Mappings' tab and deselect the 'Invoke Handler only if request is mapped to' checkbox.
- Click on the OK button.
- Close the 'Add Module Mapping' dialog by clicking on the OK button again.
To complete this HTTP module set up, see the Configuration Settings section at the start of this topic. 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 to close the dialog. You should now be able to connect to a model using Enterprise Architect via your IIS server using ISAPI.