Previous Topic: How to Utilize CA OPS/MVS Web ServicesNext Topic: Web Services Architecture


Fundamental Web Concepts

To use Web Services, you must understand the following fundamental web concepts:

Hypertext Transfer Protocol (HTTP)

Hypertext Transfer Protocol (HTTP) is a standard communication protocol included in a Web platform that interacts with resources and their representations. HTTP defines a standard set of methods, status codes, and headers for interacting with resources on the Web.

For example, you have a resource that represents a course description at a developer training web site. You issue a GET request to retrieve the course description from a particular Uniform Resource Identifier (URI). To modify the course description, you issue a PUT request to the same URI that supplies the modified course description. If you PUT the course description to a new URI, you create a new course description resource. You can also delete a course description by issuing a DELETE request.

Representational State Transfer (REST) Interface

Representational State Transfer (REST) is an architectural style that abstracts the architectural elements within a web-based system. REST focuses on the roles of components, the constraints upon their interaction with other components, and the interpretation of significant data elements. The REST API accesses resources by using a Uniform Resource Identifier (URI), a character string that identifies a name or resource on the Internet. An application that uses the REST API makes an HTTP request to a URI and parses the response. This identification enables interaction with representations of the resource over a network

Developers use the REST API directly to send HTTP requests to the server for the resource that they want to manipulate. Developers only need an HTTP client library, which most programming languages provide. Because the REST API is based on open standards, you can use any web-capable language to access it.

Generally, a RESTful web interface follows these principles:

XML (eXtensible Markup Language)

XML (eXtensible Markup Language) is a set of rules for encoding documents in a human-readable and machine-readable form. CA OPS/MVS Web Services uses this format to return responses to all its HTTP requests because of its simplicity, generality, and the ease with which XML displays. The World Wide Web Consortium (W3C) defines XML formally in the XML 1.0 Specification.

Because of confusion between XML Schema as a specific W3C specification, and the use of the same term to describe schema languages in general, some parts of the user community referred to this language as WXS, an initialism for W3C XML Schema, while others referred to it as XSD, an initialism for XML Schema Definition. In Version 1.1, the W3C adopted XSD as the preferred name of the language.

XSD defines the contents of the generated XML output file. Like all XML schema languages, you can use XSD to express a set of rules to which an XML document must conform, in order to be considered valid by that schema. However, unlike most other schema languages, XSD was also designed with the intent that determining document validity produces a collection of information that adheres to specific data types. This post-validation infoset can help develop XML document processing software, but the schema language has a dependence on specific data types.

Basic Authentication (HTTP)

Basic Access Authentication (or HTTP Basic Authentication or just Basic Authentication) is a method for an HTTP (client) request to transmit a set of credentials (for example, userid and password) to the server. The HTTP protocol includes a standard header specifically for Basic Authentication.

Servlet

A Servlet is a Java class used to extend the capabilities of a web server. Although servlets can respond to any types of requests, they are commonly used to extend the applications hosted by web servers, so are like Java Applets that run on servers, instead of running in web browsers.

Apache Tomcat

Tomcat (Apache Tomcat) is an open source web server and servlet container. CA Common Services redistributes a prepackaged version of Tomcat for the z/OS platform that are suitable for use by mainframe products that want to provide web services in a relatively straight-forward manner.