A UTM application can act as an HTTP server and communicate with HTTP clients. Communication can be via http or https connections. For openUTM on BS2000 systems, HTTPS connections are routed via a reverse proxy that acts as a TLS termination proxy. In UTM applications on Unix, Linux and Windows systems, HTTP and HTTPS connections are handled directly by separate network processes.
Thus, a UTM application can offer its services to the Internet via a REST API. Any HTTP clients, such as browsers or cURL clients, are able to access these Services.
This offers the possibility to make services of a UTM application available as Web services. In contrast to WS4UTM, a Web service can be called using HTTP protocol alone, i.e. without the usage of the SOAP protocol.
openUTM supports the HTTP methods POST, GET, PUT and DELETE required for a REST API. Such an interface is also called CRUD interface, for Create, Read, Update, Delete. For UTM itself, the semantics of the HTTP methods are transparent. openUTM forwards all HTTP calls to a user program.
openUTM does not evaluate how an application processes a particular HTTP method. It is therefore up to the application to apply an HTTP method according to its intended semantics.
A user can integrate the output of UTM services into e.g. web pages.
Since communication via the HTTP protocol should be stateless, HTTP clients may only call one-step services of a UTM application, that is, an openUTM service can only send one response to an HTTP client and must then terminate with PEND FI. However, such a service may communicate with job-receiving services or may be structured into several subprogram runs or transactions.
To enable users to integrate HTTP clients into their application environment as easily as possible, openUTM can perform a standard handling of HTTP messages, whereby HTTP clients can call simple, existing line mode programs that do not have to be changed.
On the other hand, it is also possible for users to access all parts of an HTTP message in the application programs and to analyze and process the message by themselves.
In addition to a response message, the user program can also optionally set header fields for the HTTP response. openUTM always adds specific standard headers to a response message.