Create and use Web services and RESTful services in CICS
sjpeich 270000KJQC Comment (1) Visits (10049)
Part 1 - Introduction to SOA, ROA, and REST
This is a first in a series of posts by Gary Mazo, Senior Software Engineer with IBM Rational Developer for System z (RDz), that introduces web services and RESTful services in general and how they are supported in Customer Information Control System (CICS). He compares and contrasts the features and ways of developing and operating these services.
This initial post is an introduction to what Web services are in general and what the service concepts have come to mean in relation to the popular "RESTful" services.
Service oriented architecture
In SOA, everything is a service and it is worth reminding ourselves what that is. The following graphic very succinctly describes the concept of a service, service orientation, SOA and composite application:
At the heart of SOA are Web services. The three major characteristics of a service in SOA are:
Familiarity with the XML concepts is helpful for the rest of this discussion. In later parts of this series I will go into a bit more details about XML and its use in CICS services.
Besides the technologies that are the basis for big web services and SOA, the most notable additional standards are the WS-* set of protocols and standard submissions. WS in WS-* of course stands for "Web Services". An example of a WS-* standard submission is WS-Addressing, which was submitted in 2004 to w3.org. One protocol that stands apart from the rest of WS-* is WS-I, or "Web Services Interoperability", which is now part of the OASIS organization (oasis-open.org). There are other WS-* protocols out there and some are more popular or more accepted than others.
REST and Resource Oriented services
The following graphic shows the concepts of ROA:
The major components of a RESTful service involve HTTP, XML, and XML-based protocols like Atom protocols. The protocols and formats of data exchange, unlike big web services, are not widely standardized so the RESTful services are "low ceremony" and have a relatively looser coupling than big web services. In practice, however, RESTful service implementers (like Google's Data API Protocol) tend to standardize on XML-based protocols, and more specifically, Atom.
CICS, SOA and ROA
In the future posts I will look into details of creating and using these CICS resources in an end-to-end composite Web application. Stay tuned!
About the Author
Gary Mazo is a Senior Software Engineer with IBM Rational Developer for System z (RDz). He joined IBM in 1987, and spent 10 years developing compilers and compiler tools. Lately, Gary has been actively involved in creating service-oriented architecture (SOA) tools for RDz. He holds 6 software patents and enjoys tinkering with all things related to software and hardware.