?
Solved

How CICS deals with online user requests ?

Posted on 2011-02-15
5
Medium Priority
?
637 Views
Last Modified: 2012-05-11
Hi Experts !

Could you please resume how CICS deals with online user requests ?
I'd like only an overview (it doesn't need to be extensive)

Thanks in advance
0
Comment
Question by:Eduardo Fuerte
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 2000 total points
ID: 34896854
Hi,

The online user's request usually comes from a (3270-) Terminal via some sort of communication method, IBM's proprietary solution being VTAM, based on SNA/SDLC.

This request is presented to CICS via kind of a "virtual terminal", which is handled by CICS' DFHTEP program. Terminal definitions/methods used to be stored in the DFHTCT (Terminal Control Table), but since long there is a RDO (Resource Definition Online) dataset for this and other purposes.

Communication between CICS and DHTEP takes place via "maps", basically the structured content of one terminal page.

A request (as you call it) its initiated by means of a "transaction" code. This code used to be 4 characters in lenght, yet I don't know if something has changed since my old CICS days.
All transaction codes are stored in the RDO dataset (formerly DFHPCT, "Program Control Table"), along with the names of the programs to be started. Information about how to handle these programs is also in the RDO, formerly it's been the DFHPPT ("Processing Program Table").

The programs to be started by CICS act basically as subroutines of the CICS main program "DFHSIP" and are link edited modules (linked with the required library subroutines to ensure proper communication with the main routine, with own subroutines and the mapping support). Despite of being linked modules, these programs cannot be run standalone, due to the lack of physical I/O routines. All physical I/O is handled by CICS.

OK, now CICS loads a program as a subroutine, hands over (pointers to) the terminal I/O area (map) to it, so it can read what the user entered, then passes control to it so it can accomplish its task.
This task usually requires interaction with CICS to get physical I/O handled.
When finished the task will pass a terminal map via CICS back to the physical terminal and return control to CICS.

CICS runs in the z/OS (MVS) "multiprogramming" environment (usually as a "started task", but it can run in a normal region/partition as well), but is itself a "multitasking" capable "transaction monitor" as we old mainframers called it in those days, or a "transaction manager" as they call it today.

Please be aware that the above is actually a very, very simplified outline of what a CICS transaction actually is.
To get a better picture you should indeed consult IBM's documentation:
https://publib.boulder.ibm.com/infocenter/cicsts/v4r1/index.jsp

By the way, "DFH" means "Denver Food Holding", the company for which this software was initially developed.

wmp


0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 34897201
>> All physical I/O is handled by CICS. <<

To make it clear: CICS itself is not an OS, so it's not capable of running standalone.
In fact, CICS relies on the z/OS or z/VSE supervisor (the "kernel" in Unix) to control it, so you can see it in turn as a subroutine of the "real" OS, which will also handle physical I/O on behalf of CICS.

(OK, left aside that z/OS could itself be a virtual guest OS of z/VM ...)




 
0
 

Author Comment

by:Eduardo Fuerte
ID: 34898758
Hello

It looks a complex task.

I've read but I need to read more times (and reflect)  to catch the meaning accurately and then return here.

By the way your outline is pretty good

0
 
LVL 57

Expert Comment

by:giltjr
ID: 34899434
woolmilkporc's explanation is excellent.

I don't know what your background is, but to put it as simple as possible is CICS is an application server, simular to function as other application servers like: Tomcat, WebSpehere, JBoss, Glassfish, Weblogic, ASP, and so on.

The biggest difference between CICS and those other application servers is that CICS supports more programming languages (Cobol, Assembler, REXX, PL/I, C/C++, and Java just to name a few) and it supports both "smart clients" and dumb terminals.
0
 

Author Closing Comment

by:Eduardo Fuerte
ID: 34906236
Now it's up to me to deepen the concepts you've pointed ! but it's a very good beggining ....
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article lists the top 5 free OST to PST Converter Tools. These tools save a lot of time for users when they want to convert OST to PST after their exchange server is no longer available or some other critical issue with exchange server or impor…
The Summer 2017 Scholarship Winners have been announced!
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Suggested Courses
Course of the Month14 days, 8 hours left to enroll

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question