Simple Web Services
The Simple Web Services components of QM allow easy creation of web services applications.
The WEBSVC command is normally only present in the VOC of the QMSYS account but can be copied elsewhere. This command listens for an incoming web service request and, when detected, starts a phantom process to receive the request, parsing it into the separate header and body elements, and then calls a user supplied subroutine to perform the action required to service the request. The response data is then sent to the web client. Use of a separate phantom process for each incoming request allows multiple web services requests to be handled simultaneously.
By combining the WEBSVC command with the connection pooling capabilities of QM, high performance can be achieved by minimising the initialisation tasks that must be performed for each received request.
The !CALLHTTP class module allows an application to open a connection to a web server, send an HTTP style request, and receive the response. It supports the standard GET, POST, HEAD, PUT and DELETE request types.
Secure Web Services
QM does not currently have SSL support internally. Where HTTPS style secure web services are required, an external third party tunnel program such as stunnel must be used.