z/OS Client Web Enablement Toolkit

This topic describes new function in the z/OS® Client Web Enablement Toolkit.

HTTP streaming support for the z/OS Client Web Enablement Toolkit

Description:
The z/OS Client Web Enablement Toolkit adds new streaming send and receive functionality to support the sending of very large request and response bodies. Instead of the current requirement to have all data sent from and received into a single contiguous buffer, the streaming support allows an application to stage its sending and receiving into multiple buffers. This allows toolkit applications to send and receive a virtually unlimited amount of data. New optional streaming exits (streaming send and streaming receive) can be set to enable the streaming method of processing outgoing and incoming data. For both exits, the toolkit takes an input of buffers from the exit, sends from or receives into these buffers, and then drives the exit again to potentially receive new buffers for it to process until all the data has been processed. All languages except REXX are supported.
When change was introduced:
z/OS V2R3.
Reference information:
z/OS MVS Programming: Callable Services for High-Level Languages

REXX support for the z/OS Client Web Enablement Toolkit

Description:
Starting in z/OS V2.2 and available in z/OS V2.1 with service updates, IBM® introduces the z/OS Client Web Enablement Toolkit, which provides a high function, secure, web client using HTTP(S) and JSON. Built into the base of z/OS, the toolkit provides an easy-to-use, lightweight solution for applications looking to more easily participate as a client of a web services enabled application. It provides a built-in z/OS HTTP(S) protocol enabler by using interfaces similar in nature to other industry-standard APIs, and a z/OS JSON parser to parse JSON text coming from any source with more functions to build new or add to existing JSON text. Programs running as batch jobs, started procedures or almost any type of address space on a z/OS system now have native APIs that they can use in a similar manner to any standard z/OS APIs provided by the OS to access web services. Programming languages that are supported include C/C++, COBOL, PL/I, Assembler language and now REXX.
When change was introduced:
z/OS V2R2.
Reference information:
z/OS MVS Programming: Callable Services for High-Level Languages

New REXX host command environments

Description:
IBM now makes the leveraging of REST APIs in z/OS applications even easier by extending the Client Web Enablement toolkit support to the REXX programming language. IBM now introduces new REXX host command environments, HWTJSON and HWTHTTP to allow REXX applications to easily direct their requests to the toolkit using an easy-to-use, made-for-REXX interface. REXX applications running in TSO/E, System REXX, z/OS UNIX, or ISV-provided REXX environments are supported.
When change was introduced:
z/OS V2R2.
Reference information:
z/OS MVS Programming: Callable Services for High-Level Languages

z/OS Client Web Enablement Toolkit

Description:
Applications running in traditional z/OS environments can choose to play the client role of a RESTful web application and initiate a request to a web server residing on z/OS or any other platform supporting web applications. In z/OS Version Release 2, the new z/OS Client Web Enablement toolkit enables these applications to more easily participate in this client/server space by providing a built-in:
  • z/OS JSON parser to parse JSON text coming from any source and the ability to build new JSON text or add to existing JSON text.
  • z/OS HTTP/HTTPS protocol enabler using interfaces similar in nature to other industry-standard APIs.

The intention of the toolkit is to enable traditional z/OS programs apart from a Java Virtual Machine (JVM) environment to have easy access to these types of services. Programs running as a batch job, as a started procedure or running in almost any address space on a z/OS system now have APIs that they can utilize in a similar manner to any standard z/OS APIs provided by the operating system. Furthermore, programs can invoke these APIs in the programming language of their choice. C/C++, COBOL, PL/I, and Assembler languages are fully supported.

When change was introduced:
z/OS V2R2.
Reference information:
z/OS MVS Programming: Callable Services for High-Level Languages