u-dmfloy%sunset.utah.edu@utah-cs.UUCP (Daniel M Floyd) (09/21/88)
CICS. Since I don't know what it is, I don't know where to post; however, I think it's some sort of language. Could anyone tell me? Thanks. Maybe Crumbly Icky Computer System. :-)) Dan Floyd 8<D=
EGNILGES@pucc.Princeton.EDU (Ed Nilges) (09/22/88)
In article <5740@utah-cs.UUCP>, u-dmfloy%sunset.utah.edu@utah-cs.UUCP (Daniel M Floyd) writes: >CICS. > >Since I don't know what it is, I don't know where to post; >however, I think it's some sort of language. > >Could anyone tell me? > >Thanks. Customer Information Control System was developed in the late Sixties for IBM for medium to large scale business customers. It runs under the operating system to provide telecommunications and real time response where the main operating system is a dinosaur batch-oriented monster like MVS or DOS which runs preplanned "jobs" only; in other words, it provides an online responsiveness in an environment that is anything but. CICS is controlled typically be user or vendor written programs that issue calls on CICS functions such as "get storage for this transaction" or "write data about this transaction". Programmers conversant with CICS calls and especially those conversant with CICS internal control blocks make big bucks. The last time you were in the hospital, bleeding copiously onto the reception desk while the clerk banged away at an enormous IBM terminal, the system was probably CICS.
kjc@cuuxb.ATT.COM (~XT4134000~Kevin Coulter~C29~L18~6282~) (09/22/88)
In article <5740@utah-cs.UUCP> u-dmfloy%sunset.utah.edu.UUCP@utah-cs.UUCP (Daniel M Floyd) writes: >CICS. > >Since I don't know what it is, I don't know where to post; >however, I think it's some sort of language. CICS (what the acronym stands for - hmm - maybe Customer Interactive Computer System?) What it basically is is an operating system that allows on line transactions. It was developed by IBM for their machines. As far as I know, the only two languages you can use with it are COBOL & assembler. Since COBOL is not my favorite language, but is the recommended language for it, I agree with your guess: >Maybe Crumbly Icky Computer System. :-)) Kevin
soley@ontenv.UUCP (Norman S. Soley) (09/25/88)
In article <2081@cuuxb.ATT.COM>, kjc@cuuxb.ATT.COM (~XT4134000~Kevin Coulter~C29~L18~6282~) writes: > In article <5740@utah-cs.UUCP> u-dmfloy%sunset.utah.edu.UUCP@utah-cs.UUCP (Daniel M Floyd) writes: > >CICS. > > > >Since I don't know what it is, I don't know where to post; > >however, I think it's some sort of language. > > What it basically is is an operating system that allows on line transactions. Not quite. It's a "conversation monitor" for the MVS operating system (roughly analogous to sh in UNIX, very roughly), It's tunable (or programmable if you prefer) and optimised for transaction processing. > As far as I know, the only two languages you can use with it are > COBOL & assembler. You can also use the IMS DBMS and I think DB2 with CICS. -- Norman Soley - Data Communications Analyst - Ontario Ministry of the Environment UUCP: uunet!attcan!lsuc!ncrcan!ontenv!soley VOICE: +1 416 323 2623 OR: soley@ontenv.UUCP
doug@edge.UUCP (Doug Pardee) (09/27/88)
>CICS. > >Since I don't know what it is, I don't know where to post; >however, I think it's some sort of language. > >Could anyone tell me? The 2 previous responses I've seen are basically correct; here's some additional info... CICS stands for Customer Information Control System. It is a DB/DC (DataBase/Data Communications) program for the IBM 360/370/30xx/43xx/9370 series of computers. CICS is typically used for handling database update/inquiry transactions. Hotel reservations, bank tellers, library card catalogs, police records, whatever. It was originally written by IBM as a custom program for one of their customers. IBM was, for many years, reluctant to sell it to other customers because it competed with the (bigger and much more expensive) DB/DC program that IBM had developed as a commercial product (namely IMS). But even IBM knows that the customer is always right -- IF you can't change his mind. So IBM has sold CICS/VS as a Licensed Program Product for some time now. CICS provides multiple-user terminal access, screen data formatting, and data base access (although the actual database is a separate Licensed Program Product, usually DL/1 but some sites are now using the DB2 relational data base). CICS can automatically log all transactions, and provides both back-up and back-out (if a transaction half-completes and then aborts) facilities. The terminal operator begins a transaction by typing a 4-character code which CICS looks up in a table and runs an appropriate transaction program. Transaction programs can be written in COBOL, PL/1, or assembler. As a practical matter, almost all are written in COBOL because that is the language that business-type programmers are most familiar with. CICS's most unloveable feature is that all transaction programs are run as subroutines of CICS and so are NOT protected from each other. Nor is CICS itself protected from the transaction programs. A minor screw-up in a transaction program can bring the whole CICS region crashing down, leaving hundreds of terminal operators cursing at the computer and telling their customers that "the computer's down". Naturally, you can buy some special software which will reduce the likelihood of such disasters :-) A side effect is that data security is difficult. This is a major consideration in many database applications; there are laws about this stuff. And what a surprise! It turns out that you can buy some special CICS security software :-) Early "macro level" CICS was very fast and efficient, but required very smart and careful programmers. Finding the data that you needed was difficult, and changing the wrong data was therefore too easy. Almost all CICS these days is done at "command level". A command level transaction program is mostly just a zillion calls on special CICS subroutines, with the host language being used mainly for "if" tests and for looping. To make the programmer's life easier, IBM provides a translator program which takes in "command level statements", all of which begin with the words EXEC CICS, and produces the appropriate subroutine calls. Command level programming is much easier, especially for the "average COBOL programmer", and it's a lot harder to make a catastrophic boo-boo, but the overall efficiency of CICS suffers. Ah well, if it isn't fast enough IBM will be glad to sell you a bigger computer :-) It isn't unreasonable to call the CICS command level statements a "language", and I've seen books that treat them that way. Just remember that it's not a complete language; the CICS statements are always embedded inside a COBOL, PL/1, or assembler program. IBM has been claiming that "one of these days" the old macro level CICS will go away. As of a year and a half ago it hadn't; I don't know about today. -- Doug Pardee, Edgcore Technology (formerly Edge Computer), Scottsdale, AZ {ames,hplabs,sun,amdahl,allegra}!oliveb!edge!doug uunet!ism780c!edge!doug
brunjes@kadsma.kadsm (Roy Brunjes) (09/27/88)
In article <2081@cuuxb.ATT.COM> kjc@cuuxb.UUCP (Kevin Coulter) writes: >In article <5740@utah-cs.UUCP> u-dmfloy%sunset.utah.edu.UUCP@utah-cs.UUCP (Daniel M Floyd) writes: >>CICS. >> >>Since I don't know what it is, I don't know where to post; >>however, I think it's some sort of language. > >CICS (what the acronym stands for - hmm - maybe Customer Interactive Computer >System?) What it basically is is an operating system that allows on line >transactions. It was developed by IBM for their machines. As far as I know, the >only two languages you can use with it are COBOL & assembler. Since COBOL is >not my favorite language, but is the recommended language for it, I agree with >your guess: >>Maybe Crumbly Icky Computer System. :-)) > > Kevin CICS stands for "Customer Information Control System". It is not an operating system perse, rather it runs on top of an operating system (MVS) on an IBM 370 architecture machine. It does to its own "internal" multitasking, and thus is sometimes mistaken for an operating system. It's main function in life is to process transactions, which are tied to application programs via a set of tables (CICS tables that are actually files maintained by system programmers). The user talks to CICS usually through a 3278-type terminal which has the usual drawbacks for the ability to supply an acceptable user interface. CICS can utilize DL1 (Data Language 1) to talk to an IMS database. I haven't been in that world for three years now and so I don't know if it can talk to DB2 (but I would assume IBM would want this since DB2 is a strategic product of theirs). IBM calls CICS a "telecommunications monitor" or "telecommunications monitoring subsystem" or words like that. Having been both a VTAM systems programmer (VTAM being IBM's contribution to telecommunications on mainframes) and a CICS systems programmer, I fail to see anything related to telecomm. in CICS. Oh sure, it can be accessed via a network, but so can anything else! From a programming language interface point of view, I know that COBOL and Assembler interfaces are provided, and I believe PL/1 and FORTRAN (I'm really stretching my faulty memory here) are also provided. COBOL is by far the most commonly used language with CICS. A big drawback of CICS 1.6.1 at least (the last release I worked with -- I now work on Suns and VAXen [Suns preferred]) is that all applications live in the same chunk of memory (address space to use the MVS term). Thus, if you and I both write applications, and my application has an array index that gets set to some wild value, I may write data all over your executable code, thereby causing your program to crash (almost assuredly) with an S0C1 (invalid instruction exception). Nasty. Your code may be just fine. YOU must read the transaction dump to see why your program crashed. You must then determine who's program plunked some string into the middle of your code! Nasty. Better yet, my junky program might write on CICS code! Yeah! Now the whole "region" (as it is usually called) goes down the tubes. Several hundred users can be blown out of the water when this happens [actual numbers depend naturally enough on the number of users on when this happened]. Nasty. You get the feeling I don't like CICS? No kidding! It is stone-age stuff. Just like the terminals it runs on. Living dinosaurs. But, you can make around $40K these days being one who babysits CICS while it runs (a systems programmer) or even more being one who writes clunky applications to run on CICS! So, given that approx. 70% of all IBM mainframe shops run CICS, there is some job security (for the near term at least, if not more). Sorry to ramble so much. I don't often get the chance to spout off about how much I think CICS stinks. Roy Brunjes ...rochester!kodak!kadsma!brunjes Disclaimer: These opinions are my own, not those of my employer.
markd@proxftl.UUCP (Mark Davidson) (09/28/88)
CICS. Customer Information Control System. It's an IBM monitor, mostly used under MVS, for those people who don't need all the database support that IMS provides. Mostly provides terminal support, transaction processing, message passing, and nicer file I/O support than "raw" MVS (which isn't saying much). Also provides some security to prevent unauthorized access to "transactions" (analagous to programs, except not all programs are trans- actions). -- In real life: Mark E. Davidson uflorida!novavax!proxftl!markd Proximity Technology Inc., 3511 NE 22nd Ave, Ft. Lauderdale FL, 33308 #define STANDARD_DISCLAIMER <Quote construction site>