skills/microsoft-internet-information-services-web-server-considerations/SKILL.md
# Microsoft Internet Information Services Web Server Web Server Considerations (Windows) This page provides additional technical details which you may wish to consider as you deploy an InterSystems Web Gateway alongside a Microsoft Internet Information Services (IIS) web server. Refer to IIS documentation for further details about IIS administration: https://learn.microsoft.com/en-us/iis/get-started/introduction-to-iis/iis-web-server-overview. ## 1 Restarting IIS IIS must be restarted in ord
npx skillsauth add sorodriguezz/skills-objectscript skills/microsoft-internet-information-services-web-server-considerationsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Web Server Considerations (Windows)
This page provides additional technical details which you may wish to consider as you deploy an InterSystems Web Gateway alongside a Microsoft Internet Information Services (IIS) web server. Refer to IIS documentation for further details about IIS administration: https://learn.microsoft.com/en-us/iis/get-started/introduction-to-iis/iis-web-server-overview.
IIS must be restarted in order for changes to the Web Gateway’s configuration to tak e effect. This must be done by completely restarting the World Wide Web Publishing service from the main Windows Services control panel or through the Windows command line, not through the Internet Services Manager control panel. See Restarting IIS.
The recommended Web Gateway deployment method (using the Native Modules CSPms.dll and CSPmsSys.dll) manages persistent resources—such as connections to an InterSystems IRIS instance—within the web server extension itself. (By contrast, NSD-based Web Gateway deployments manage resources independently of IIS, within the NSD itself.)
Therefore, the performance of the Web Gateway Native Module extension is influenced by the follo wing IIS configuration items, which determine how IIS worker processes serve requests for your applications:
Application pool
Within IIS, a designated set of one or more worker processes which can be assigned to serve requests for one or more IIS applications.
Web garden
An IIS application pool which contains more than one worker process. Requests are distributed among the worker processes in a web garden.
Each worker process manages its own instance of the Web Gateway extension. For application pools that are configured to use no more than one worker process, this has no visible impact on the way the Web Gateway operates within the context of a single web application path (for example, /csp). However, within a web garden, the requests are evenly distributed amongst the Web Gateway instances managed by participating worker processes.
Because of this, several restrictions must be borne in mind.
The Web Gateway’s System Status management page cannot accurately monitor the connections used by web applications across an entire web garden. At any given time, the Systems Status page reflects the status for the instance of the Web Gateway that happens to be attached to the current worker process (that is, the worker process that happens to service the Web Gateway’s request).
Each worker process manages its own instance of the Web Gateway application, and therefore maintains its own pool of persistent connections to InterSystems IRIS application servers. The Web Gateway configuration parameters which specify the minimum and maximum number of InterSystems IRIS connections do not specify those limits in aggregate across an entire application pool. Rather, these parameters define the minimum and maximum number of connections allo wed for each worker process’s Web Gateway instance.
You may wish to configure w orker processes within an application pool to recycle periodically or to terminate after a specified period of idle time.
When a worker process within an application pool terminates, the instance of the Web Gateway that the process manages terminates as well, closing the pool of connections that the Web Gateway instance maintained with InterSystems IRIS. Under such circumstances, stateless connections can be replaced in a way that is transparent to users of a web application. However, state-aware sessions (preserve mode 1) terminate when their hosting connection is closed.
Note:
This section applies to modules that are loaded into the address space of the hosting web server: the Native Modules (CSPms[Sys].dll and CSPcms.dll) and the ISAPI extensions. CGI modules are not affected since they run as a process which is detached from IIS.
IIS allows you to set the bitness (64-bit or 32-bit) for a particular application pool. A single IIS installation can feature application pools which serve native 64-bit applications alongside other application pools which serve 32-bit applications. The Enable 32-Bit Applications setting is available by accessing the Advanced Settings for an application pool in the IIS Manager.
The Native Modules or ISAPI extensions which an application pool loads must match the bitness of the application pool. For example, if the hosting application pool is 64-bit, then the 64-bit Gateway modules (such as CSPms[Sys].dll) must be used. If the hosting application pool is 32-bit, then the 32-bit Gateway modules must be used instead.
The bitness check for individual modules is done via a preCondition in the module’s web.config file. F or the Web Gateway, this file typically looks something lik e the following:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="WebGateway_All" path="*" verb="*" modules="CSPms" resourceType="Unspecified" \ preCondition="bitness64" /> </handlers> <security> <requestFiltering> <hiddenSegments> <remove segment="bin" /> </hiddenSegments> </requestFiltering> </security> </system.webServer> </configuration>Note the bitness setting in the precondition clause. In this case bitness is set to bitness64 which means that IIS checks for 64-bit Gateway modules operating in a 64-bit Application Pool.
If a 32-bit Application Pool is used, then the 32-bit Gateway modules must be used and the preCondition set to bitness32.
If there is an inconsistency between the modules installed, the precondition clause, or the expectations of the hosting Application Pool, IIS returns an error.
data-ai
# XDBC Gateway XDBC Gateway Overview The XDBC Gateway provides a single interface for connecting InterSystems IRIS® to an external database with JDBC or ODBC. It acts as the modern, streamlined successor to the SQL Gateway. The XDBC Gateway acts like a JDBC or ODBC driver and lets you perform any of the following operations: - Access data stored in third-party relational databases within InterSystems IRIS applications. - Store persistent InterSystems IRIS objects in external relational data
devops
# Windows Installation Guide Windows Installation Overview The Windows Installation Guide provides guidance on installing kit-based deployments on Microsoft Windows. ### 1.1 How to Use This Guide For all installations, you should begin with the Pre-Installation steps. You can then follow the steps for either an attended or unattended installation. The attended installation process is different depending on the setup type you choose. After following the steps for attended installations, use t
testing
# Windows Installation Details Windows User Accounts When installing InterSystems IRIS, you must choose the Windows user account to run the InterSystems service, InterSystems IRIS Controller for <instance-name>. There are two options: - The default SYSTEM account (Windows Local System account). This is used in Minimal security installations. - A defined Windows user account. This account must have interactive login privileges for the duration of the installation; they can be revoked after.
tools
# Web Gateway Guide C.2.1 Method 1: Building the CSP Module as Shared Object with apxs (APache eXtenSion) Appendix D: Add the Web Gateway to a Locked-Down Apache Installation (UNIX®/Linux/macOS) The Web Gateway: Serve InterSystems Web Applications and REST APIs to a Web Client An InterSystems IRIS® web application consists of code which provides content dynamically to a web client (usually a web browser) in response to a request. The InterSystems Web Gateway makes this possible: it is a soft