z/OS client web enablement toolkit

The z/OS® client web enablement toolkit provides a set of application programming interfaces (APIs) to enable traditional, native z/OS programs to participate in modern web services applications.

Introduction to the z/OS client web enablement toolkit

You can use web application APIs to create a client/server application using a request-response protocol that can link a client residing anywhere in the world with any web server. Many web applications have evolved to a simpler programming model based on representational state transfer (REST). Governed by a set of architectural constraints, RESTful applications can be much easier to develop, enabling the creation of elegant and secure web applications. RESTful applications typically use the ubiquitous Hypertext Transfer Protocol (HTTP) as the means of communication and either JavaScript Object Notation (JSON) or Extensible Markup Language (XML) as the format of data exchange between the client and server programs.

Applications running in traditional z/OS environments can 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 that supports web applications. The z/OS client web enablement toolkit provides the following components to enable these applications to more easily participate in the client/server realm:
  • A z/OS JSON parser to parse JSON text coming from any source, build new JSON, or add to existing JSON text, as described in The z/OS JSON parser
  • A z/OS HTTP/HTTPS protocol enabler that uses interfaces similar to other industry-standard APIs, as described in The z/OS HTTP/HTTPS protocol enabler

While the primary focus of the toolkit is to enable traditional z/OS programs running in environments where these types of services are not as readily available (as compared to a z/OS UNIX or Java™ Virtual Machine (JVM) environment), the services can be run from virtually any environment on a z/OS system. Programs running as a batch job, as a started procedure, or running in almost any address space on a z/OS system can use the toolkit APIs 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 choice; the toolkit fully supports C/C++, COBOL, PL/I, REXX and high-level assembler languages.