Talk:CICS

Translation
The French and German language versions of this page seem to have a lot of extra information, is anyone fluent in these languages and can take a look and see if we can use some of their content on here? --Pluke 19:00, 30 Mar 2005 (UTC)


 * try pasting at http://babelfish.altavista.com/

-- — Preceding unsigned comment added by 81.178.241.200 (talk) 2005-10-31T20:45:27 (UTC)

But when is it?
There are no dates here either. I wanted to go to Wiki to get the dates not found here and realised I was already there. Dates! When this, when that! — Preceding unsigned comment added by 86.207.226.138 (talk) 2008-01-06T23:36:14 (UTC)

But what is it?
Having read the description of CICS, I still have no idea what it is or what it does. Maybe the article could include more content about what it actually does.


 * I've linked to transaction processing but that doesn't necessarily help. Above all CICS handles transactions: works with a database. I don't know how it is used today, but historically, a company would have one big computer and many terminals (simple, unintelligent, monitor + keyboard, linked directly to the computer). CICS would be the engine that talked to the database and the terminals, providing such things as a customer database, or travel agent booking system. Because mainframe computers were not very powerful by today's standards, CICS had to be very efficient indeed to handle tens of thousands of terminals. At least, that's one use. Notinasnaid 10:50, 8 September 2005 (UTC)


 * I work at Hursley, and I have no real idea what CICS does either. I'm told it's used by the cash machine ("ATM") network, and I suspect it may be involved in BACS too. Both things that you *really* don't want going wrong, ever. PeteVerdon 23:04, 3 May 2006 (UTC)


 * Here I am again after a few more months :-) . Like a number of large IBM products, it's hard for an outsider to get a handle on exactly what CICS *is*. But from listening to a few more people, I'm beginning to get a picture. Although in the beginning it started off as a more-or-less single-purpose application, and has since mostly been seen as "something to do with transactions", as far as I can tell CICS today is essentially what a Java developer would recognise as an app-server, but with a COBOL / PL/I / mainframe leaning (and around long before Java was). It provides all the facilities you might want if writing certain kinds of business applications, from the dreaded green-screen terminal driving via heavy-duty transaction support and, presumably, integration with DB2, to all the modern goodies like Java and Web Services. The Web Services support in particular is definitely not a minimally-implemented "tick-sheet" feature - it feels like full implementations of a lot of the standards are being released almost at the same time as the standards themselves. PeteVerdon 00:30, 9 February 2007 (UTC)
 * I've taught at Hursley but never run into CICS there. However I of course know what it is: it's a database system.

To be concise, CICS, is a thing running ontop of a thing. It's a message processing program which accepts and transmits strings from a telecommunications or network gateway and sends strings to telecommunications or network gateway. The strings may be green terminal character screens or webpages. Because it includes functions to parse HTML and send HTML (or XML) text strings, CICS remains a viable product.

And, these "slick new development tools" in hands of rogue developer can still hamstring a project. One reason the static variables crashed so many "critical" applications was the "seat-o-the-pants" approach toward development without quality assurance and software testing. Developers could nod-and-wink that a product was tested because target dates set by business and marketing had to be met. This article attempts to blame technology and tools for bad practice; webpages and kiosks still crash or fail to behave as expected because of memory leaks, sloppy testing and poor programming practices. —Preceding unsigned comment added by 174.151.243.146 (talk) 03:11, 26 January 2009 (UTC) --- The article explains "How does it do it" very thoroughly. It indirectly explians "what does it do" but not in simple language. One not familiar with the product would probably not be able to determine "How is it used" and "Why is it used". Needs improvement on those last two points, maybe its own section. Stephen Charles Thompson (talk) 17:12, 6 December 2012 (UTC)
 * OK, I gave it a shot. IBM calls it "middleware" so I included that, and moved some other text to the lead to try to say what it is.  Transaction itself is usually left undefined, or defined only by example; I included a paraphrase of the IBM definition cited.  This is an important article (IMHO) and deserves attention. Peter Flass (talk) 13:24, 7 December 2012 (UTC)

CICS programs are a lot like a CGI-based Web app. A session begins when the user enters a four-character transaction code on their terminal. This code specifies which program they want to invoke. This program (running on the mainframe) sends a screen description ("map") to the user's terminal, then ends. The terminal has enough smarts to allow the user to edit data in the fields without needing anything from the mainframe. When the user presses Enter or hits a function key, the data entered is sent back to the mainframe where some program accepts it, does some database operation (e.g. adding a record) then sends another screen to the user's terminal, and, again, ends. (The screen can also include hidden fields to allow the application to maintain state from screen to screen.) This is why CICS could support so many users: it wasn't actually doing anything while users were entering data! If you are at all familiar with CGI programming for the Web, imagine that the terminal is a browser, the screen map is an HTML document containing a form, and that the CICS programs are Perl scripts running on the server. In this analogy, CICS is Apache or another Web server that ties everything together. --Jerry Kindall (talk) 00:19, 17 September 2016 (UTC)

Bias
It pains me to say this, as an IBM employee, but this article is not NPOV. It reads like a product brochure. --Doradus 19:24, 13 April 2006 (UTC)
 * In your opinion, which section is NPOV? Regardless, CICS is an awesome product. Few people, even those in IT, realise or are aware of the importance of CICS in the world.
 * The article fails to point out (and this has been pointed out in many publications which I will dig up when I have the time) that CICS is essentially an aging 1960s character and screen-oriented technology. I've heard several horror stories of how people have to use screen scrapers and the like to make legacy CICS installations cooperate with modern Web-based interfaces.  Nowadays no sane programmer would design a new large-scale app on CICS when there are so many nice new technologies available like Java, .NET, SOAP, XML, HTML, etc.  The only reason CICS still lives is because, like COBOL, there is so much legacy code written for it.  --Coolcaesar 07:58, 18 June 2006 (UTC)
 * Don't forget if you want to run mission critical applications you don't want to run it on an 'untested' system. 37 years of testing and a product designed in Z notation tends to lend itself to a certain degree of reliability. You would not want to run your company critical transactions on a .NET platform. Screen scraping definitely occurs but companies do not want to rewrite and spend years debugging code that they know works. Modern CICS allows for code written in Java C++ etc. Pluke 08:15, 18 June 2006 (UTC)
 * Screen-scraping is a quick and dirty shortcut, but is certainly not necessary. At PPOE a lot of processes were reworked so that transactions generated HTML.Peter Flass (talk) 13:29, 21 November 2012 (UTC)

Why not? Even an unreliable system (say 99% reliable) will become reliable by throwing some more kit at it. Basic failover techniques. It's still cheaper to have lots of unreliable kit than one piece of very reliable kit. In any event, IMS has had more testing. I'm going to use it :) 87.81.46.146 18:15, 27 July 2006 (UTC)


 * That's one kind of reliability, sure, and the Z-series machines that CICS runs on certainly provide it (as does your solution, of course). But I suspect the kind of "reliability" that Pluke refers to would be better described as "correctness", ie absence of bugs. Although this is an ideal state that cannot be expected in any sizeable system, something like Z/OS and CICS, together with applications that have been running satisfactorily (and sometimes continuously) for decades, is rightly perceived as more reliable than something without that practical testing. In that frame of mind, installing untrusted code on as much hardware as you like does not make it any more trusted. PeteVerdon 00:30, 9 February 2007 (UTC)

Given that I am the product manager I have to disagree that CICS is a throw back to the 1960's. I encourage you to see how we have continued to add very modern and relevant capability to CICS in a way which enables applications written 30 years ago to continue to run. While we do carry a lot of infrastructure from the traditional applications, we have continued to innovate with new technologies in a way that is important to our clients and keeps their businesses running. In our latest releases of CICS we have support for Java, SOAP, XML, HTML (most of the items mentioned above). Additionally we have a great workstation based IDE, named WebSphere Developer for z that enables developers to write applications in an Eclipse based modern environment with ease. Go take a look at CICS today in a new light and see why our latest release is showing the fastest uptake ever.

Dear Product Manager. You really should sign your comments. (And I hope *I* remember to at the end of *this* paragraph.) I think the problem about NPOV is really the same problem as the one about "what does CICS really do?" as both are really facets of "insufficient detail". I intend to think about the latter question - as the most productive way forward. Martin Packer 10:31, 30 July 2007 (UTC)

Why is such prominence given to "Oliver" and  "Command CICS"  and mention of "APT International". There are software vendors supporting a large variety of CICS tools, probably much better known than these offerings. I know this page is basically plugging some IBM software, but should there say  be a section for third party products, and the 'solutions' described by these tools made generic in the main CICS text. e.g. third party CICS tools are available to allow macro level code to run on CICS that support command level only. --Gwaant (talk) 10:30, 1 March 2008 (UTC)

I agree. See Should there be a separate page for CICS Tools or CICS Add-ons? below. VanHacker (talk) 00:00, 26 June 2011 (UTC)

Being an IBM Business applications programmer for 33 years, I find it a shame that this entry deals more with Wall Street more than anything else, but hey, what else is new. I may write like a clown, but I am a geek too, and we have rights! And to say CICS in the body of this definition is REAL-TIME ??? Duh, it emulates real time and is pseudo-conversational. And if you disagree, that is tough, because I am right and you are wrong. Keep it simple stupid. Big Blue rocks and always will in my book, and I do not like change. Is that a crime in this industry? Too much change has been the problem. Gosh, unpredictable results could happen with too much change! Put that in your Unix and pump it a few times. It takes a lot to laugh and it takes a train to cry. (end-it) — Preceding unsigned comment added by 69.143.134.121 (talk) 13:49, 19 October 2011 (UTC)

New Programming Styles
I added a "stub" section on New Programming Styles, thinking primarily of java and Web Services. Would someone who actually knows something about them - in relation to CICS - please add some stuff. Thanks. Martin Packer (talk) 13:54, 2 July 2008 (UTC)
 * I think I made a reasonable first stab at this. Feel free to work on it. Martin Packer (talk) 11:30, 6 July 2008 (UTC)
 * Ask and ye shall receive. Craig Schneiderwent (talk) 18:34, 6 July 2008 (UTC)

Requested move
This article has been renamed from Customer Information Control System to CICS as the result of a move request. - move.

This page has recently been moved from CICS to make way for an article about a radio station -- and a future radio station at that. Not surprisingly, the new "CICS" dab page is only linked to by articles referring to the original article.

CICS the software is one of the more notable products in the history of computing, and should be left under this name. The CICS-FM article already has an unambiguous name, and if it's felt necessary to do so, "CICS" can be disambiguated by a hatnote at the top of the software article.--NapoliRoma (talk) 17:28, 20 January 2008 (UTC)


 * Strong support. Agree that CICS (the software) is an extremely significant program product, and normally known by the acronym - many CICS professionals would need to check their manual covers to be sure what it stood for. Agree that disambiguation page is not required. Andrewa (talk) 20:28, 20 January 2008 (UTC)


 * I'm going to speedily restore this to the previous state. 1) this is a very strong case for primary topic disambiguation; and 2) even if it were not, there is no need to use a disambiguation page for only two entries -- hatnotes will suffice. older ≠ wiser 21:34, 20 January 2008 (UTC)


 * Done. I'll leave the request up on RM for a little bit just in case there are any objections. older ≠ wiser 21:39, 20 January 2008 (UTC)

Acronym not explained
Section titled Structure has a first reference to an acronym - MVS - that's not explained. It could just be me but the sentence does not read well and its meaning is unclear. The sentence in question is:

"Alternatively, each CICS region may be started as a started task. Whether a batch job or a started task, CICS regions may run for days, weeks, or even months before shutting down for maintenance (MVS or CICS)."

Gvimalku (talk) 12:50, 23 December 2008 (UTC)

Pronunciation
I have no clue how to pronounce CICS. I have been alternating between "six" and See-Aye-See-Ess. Is either correct? should this be added to the article? Farfromunique (talk) 20:58, 28 October 2009 (UTC)

In the beginning
For the first 15 years of its existence, IBMers (like the CICS architect Ben Riggins - my personal friend), and IBM's largest customers (at GUIDE and SHARE) always called it by its initials C. I. C. S.

"Kicks" is a new name often used by CICS new customers.

Escientist (talk) 15:28, 3 April 2011 (UTC)


 * Yet based on its spelling it would typically be pronounced in English as siks. I do not doubt that some people whose native language is English pronounce it as "kicks" but that pronunciation is probably more common among people whose native language is not English. Sam Tomato (talk) 03:43, 7 October 2014 (UTC)


 * The spelling "Kicks" has also been in continual use since about 1970 from when it was first released.

It is important to point out that, for more than 20 years, many high profile Banks, Insurance companies (and the like) used CICS extensively without there being any provided memory protection whatsoever. That is why "OLIVER" was created by myself to provide 100% memory protection (by hypervisor technique) and diagnose many, otherwise, hard-to-identify bugs completely automatically or else provided "pause" and step-by-step debugging with both instruction and HLL statement tracing. The OLIVER product was used by more than 600 blue chip corporations across Europe (and elsewhere) and was eventually purchased by Compuware (as late as 1994) and then merged with their "Expediter-CICS" and "CICS Abend-aid" software offerings.

IBM later created a "Command-level only" CICS release that did not support all the many hundreds of thousands of macro level programs that existed throughout the world, forcing their own customers to re-write all their existing applications! That is why I created Command-CICS, which is still being sold by Advanced Software Products Group, Inc. of Naples, Florida, USA [see http://aspg.com/enterprise-and-mainframe-software/mainframe-systems-management-utilities/commandcics/] Command-CICS automatically translated the old macro API calls directly into Command level requests - with no programming work whatsoever being required. I have recently posted historic OLIVER (and SIMON the batch equivalent) documentation and promotional material on Google+ collections.

ken (talk) 12:31, 11 July 2016 (UTC)

If you can find some good references for OLIVER it may fit, for example in a new section on third-party tools. I never encountered it in the US, but I did see a number of similar programs. Maybe it was more popular in Europe? Peter Flass (talk) 16:11, 11 July 2016 (UTC)

CICS History Early Evolution
I am Larry Hartweg - the former Amoco operating system analyst and later IBMer who rewrote the CICS Terminal Control Program and modified OS 360 to eliminate the IBM software bugs and add support for many non-IBM communication devices - recognized for helping CICS generate $60 billion in new revenue, and becoming IBM's most-successful mainframe software package of the day.

Escientist (talk) 15:28, 3 April 2011 (UTC)

How long did it take to recover from your encounter with TCP? I spent a fair amount of time working with it, and also did some work with KSR33 support, and I'm not sure I've recovered yet. Peter Flass (talk) 13:31, 21 November 2012 (UTC)

Where is RDO?
Where is the discussion on Resource Definition Online (RDO)? IIRC, before release 1.7, all resources were defined in assembled tables. At 1.7, some were moved to being defined online (I don't remember which). Today, almost every resource is defined online. —Preceding unsigned comment added by 159.53.78.141 (talk) 12:19, 5 April 2011 (UTC)

Trying to wrap my head around an apparent absurdity
The following text from the article strikes me as absurd on its face:

"'instead of the incompatible ASCII-based Intel chip'"

MS-DOS is certainly ASCII based, but I am not aware of any 'ASCII' bias in the 808x series chips. In fact, if I recall, they even had instructions capable of processing packed binary-coded decimal (COBOL's "COMP-3" data type).

66.219.183.57 (talk) 01:47, 12 May 2011 (UTC) Glenn Chambers


 * It is absurd that there is any overlap of ASCII and Binary Coded Decimal (BCD) processor instructions or that they are the same data types in COBOL. Sam Tomato (talk) 03:50, 7 October 2014 (UTC)
 * Note that in the context of the statement about ASCII the writer assumes that EBCDIC is better. The truth is that EBCDIC is 8-bit and ASCII is 7-bit. EBCDIC is too limited and IBM had better things, like code pages, back then. IBM did develop an operating system, OS/2, that could be used as intelligent terminals. I think the part about EBCDIC and ASCII should either have a good reference or removed. Sam Tomato (talk) 04:02, 7 October 2014 (UTC)


 * and I believe one other instr. Peter Flass (talk) 14:43, 7 June 2020 (UTC)

Should there be a separate page for CICS Tools or CICS Add-ons?
The references to "OLIVER", "Command CICS", "APT International", "SDEF" and "Delta", along with "Example of SDEF Map Code" and "Example of Delta Map Code", do not refer to CICS directly, but to add-on components from ISVs - and not particularly well-known ones at that. The history of the first three appears to politically contentious, and not NPOV. On the other hand there are no references to some of the better-known CICS add-ons and monitors, both IBM and non-IBM. Just some examples: Macro Level Interpreter from MacKinney, Abend-AID for CICS from Compuware, Mainframe Integration Products from Hostbridge. Ivory BMS/TS from GT Software, CICS Performance Analyzer from Fundi and IBM, Omegamon for CICS, Screen Definition Facility II (SDF II), Debug Tool for CICS from IBM. There's an extended list of over 80 tools at CICSworld.

I think it's time to split off a new page for these add-ons, and leave the current page for a discussion of "pure" CICS. Should the new page be called "CICS Add-ons", "CICS Tools", or something else? VanHacker (talk) 00:00, 26 June 2011 (UTC)


 * Agree. Probably not Tools, Add-ons or Extensions maybe. I was going to delete SDEF and Delta as not notable, but pending other action I'll leave them.  CICS is a whole ecosystem of third party products. Peter Flass (talk) 13:33, 22 November 2012 (UTC)

Grammar and Syntax
"Web services and Enterprise Java Beans (EJBs), Event processing, Atom feeds, and RESTful interfaces." This is a sentence? — Preceding unsigned comment added by 162.59.200.193 (talk • contribs) 17:43, 18 November 2011‎ (UTC)
 * Looks like this error was caused by some content removal by an anonymous editor—probably just someone messing around to see how Wikipedia works or something. I have reverted the change. —Caesura(t) 18:19, 18 November 2011 (UTC)

Laughable Stuff ...
About CICS running on selectric's, software (in general) being free and what not. Generally messed up and doesn't convey what CICS was/is like in comparison with other database schemes. 72.228.189.184 (talk) 00:35, 28 July 2012 (UTC)

Reorganization
I attempted to impose some organization on this article. Hopefully I didn't mess it up too badly. This mostly involved moving some things around and adding a couple of sections, plus a few deletions. One section had a lot of overlinking which I removed. The new material I added was a skeleton of the structure of the CICS nucleus, which needs to be expanded to define the functions of each section of code.

The one thing I didn't understand is the "SDEF" and "Delta" formats of BMS map definitions. Google didn't turn up anything useful. If anyone has some sort of definition or explanation, it could be added to good effect. Peter Flass (talk) 01:55, 22 November 2012 (UTC)

Deleted third-party map definition examples
I deleted the following as not notable. (--- replaces ===)

--- Example of SDEF Map Code ---

--- Example of Delta Map Code ---

WHO uses CICS
As the article said, CICS has it's highest profile among Fortune-500 organizations, but in my experience it is widely used even by small companies, etc. so I added a sentence to this effect. I'd say that these days there are far fewer batch applications, and everything is interactive to a great extent. Peter Flass (talk) 13:29, 7 December 2012 (UTC)

Threading?
As far as I can remember CICS used a single TCB until 3.2.1 around 1988/89. All the earlier releases ran under a single TCB and performance was nothing short of miraculous. Does anybody know for sure which CICS release was the first to use multiple TCBs? Off to look at the manuals...77.127.100.183 (talk) 12:08, 12 July 2013 (UTC)


 * At some point it used two TCBs, IIRC one for journaling. I'm not sure if this was true from the beginning.Peter Flass (talk) 13:28, 12 July 2013 (UTC)


 * File Control has been on its own TCB for a long time now. Martin Packer (talk) 13:46, 12 July 2013 (UTC)

Removal of information
Could you please explain why you removed the "CICS as a distributed file server" section and also removed the "Z notation" section from the CICS article? I don't see what the justification for removing valid information is. The "Z notation" section is referenced, and many books on Z notation mention it, and the Queen's Award is recognition of the advance in computer science research it represented (one of the first times formal methods had been practically applied to commercial systems of that scale). The section about DDM wasn't referenced, I've added a reference, but there are plenty more if you go looking. I think DDM is historically significant as an important part of IBM's networking strategy in the 1980s, even if it is mostly (but not entirely) of historical interest today – but given the section is titled "History", I think detailed historical information is fine. SJK (talk) 11:05, 1 April 2016 (UTC)

I have noticed a number of incorrect facts and statements on this page over the last few months which I have attempted to stabilize. I have updated information concerning the new release of CICS 5.3 and the type of application to which CICS is now considered.

I removed the “CICS as a distributed file server” section as CICS is now considered a 'Multi-language application server'. See: Information about latest release. I agree that potentially this section could still be relevant as part of the “History” or “Early Evolution” section, if the information can be re-written to read in the past context. I am interested to hear your thoughts on this.

Before removing the “Z notation” section, I did research and deliberate the decision. I would infact like to learn more about the subject, if further information is available. Unfortunately, the [|“ Z notation”] wikipedia page itself, makes no reference to either the Queen's Award, Tony Hoare or CICS. The “Z notation” wikipedia page actually claims that Jean-Raymond Abrial is the pioneer of “Z notation” and developed the discipline alongside Steve Schuman and Bertrand Meyer at Oxford University through the Programming Research Group. The page makes no reference to Tony Hoare.

Furthermore, the reference for the “Z notation” section is not hyper-linked and appears to not be available to read online. I feel this is unhelpful to any reader wishing to research the subject further or any editor trying to justify the inclusion of this section. — Preceding unsigned comment added by Benjamin Lidgard (talk • contribs)
 * With respect to the DDM component of CICS – is DDM support still in the latest version of the CICS? If it is, I would say it should still be mentioned. And even if it has been removed from the product, it is still important historically since it was a major part of IBM's corporate strategy in the 1980s, and thus came to play a major role in the history of CICS, and on that basis should remain in the article.
 * Regarding Z notation, this PDF section 1.2 mentions its use in CICS. This paper discusses some more recent work on CICS and Z notation, while also giving a brief overview of the 1980s work (which is the part which is really historically significant). Unfortunately the papers reporting on that 1980s era work in detail are only available on a payment-basis, as is the (regrettable) norm for academic research. SJK (talk) 11:34, 13 April 2016 (UTC)

delete advertisement

 * Here are some advertisement edits that need to be neutralized:
 * provide industrial-strength, online transaction management and connectivity for mission-critical applications
 * CICS Transaction Server 5.3, which generally became available on December 11, 2015, provides new and enhanced capabilities in three main areas; Service agility, Operational efficiency and Cloud with DevOps.
 * This edit is full of marketingspeak. It changed vast amounts of the article, actually discarding several paragraphs, although they can be pulled from the history. Also, the contents may fall under Recentism. I suggest to revert this change completely due to loss of information. --Mopskatze (talk) 04:37, 28 April 2017 (UTC) P.S.: Merging both versions may be a valid compromise, but this would have to be done by an expert for this system/product.
 * A few years later I've just noticed the same rather conspicuous nonsense that turns out to be courtesy of that edit. I feel I lack the authority to take a scourer to this topic but that sort of change is not really enhancing the article. --Vometia (talk) 18:37, 29 October 2020 (UTC)