CICS (Customer Information Control System) is a transaction server that runs primarily on IBM mainframe systems under z/OS or z/VSE. A transaction server is a Software component that is used in implementing Transactions A transaction involves multiple steps which must be completed IBM mainframes, though perceived as synonymous with Mainframe computers in general due to their marketshare are now technically and specifically IBM 's line of business z/OS is a 64-bit Operating system for Mainframe computers, created by IBM. z/VSE (Virtual Storage Extended is an Operating system for IBM mainframe computers the latest one in the DOS/360 lineage, which originated in 1965 CICS on distributed platforms is called TXSeries and it is available on AIX, Windows, Solaris and HP-UX. TXSeries for Multiplatforms is CICS (Customer Information Control System on distributed platforms Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. Solaris is a Unix -based Operating system introduced by Sun Microsystems in 1992 as the successor to SunOS. HP-UX (Hewlett Packard UniX is Hewlett-Packard 's proprietary implementation of the Unix Operating system, based on System V (initially CICS is also available on other operating systems, notably i5/OS, OS/2. IBM i is an Operating system used on IBM Power Systems, a unified server platform from the former IBM System i and IBM System p servers OS/2 is a computer Operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively The z/OS implementation, ie, CICS Transaction Server for z/OS is by far the most popular and significant. It is known foremost as a pseudo-conversational computer application.
CICS is a transaction processing system designed for both Online and Batch processing activity. Batch processing is execution of a series of programs (" jobs quot on a Computer without human interaction A transaction is basically a set of operations performing a task. Usually, the majority of transactions are relatively simple tasks such as updating the balance of an account. On IBM System z servers, CICS easily supports thousands of transactions per second, making it a mainstay of enterprise computing. IBM System z, or earlier IBM eServer zSeries, is a brand name designated by IBM to all its Mainframe computers In 2000 IBM rebranded the existing CICS applications can be written in numerous programming languages, including COBOL, PL/I, C, C++, IBM Basic Assembly Language, REXX, and Java. A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. COBOL (ˈkoʊbɒl is one of the oldest programming languages still in active use PL/I ("Programming Language One" ˌpiːˌɛlˈwʌn is an imperative computer Programming language designed for scientific engineering tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language. BAL (Basic Assembly Language) is a low-level language used on IBM mainframes from the earliest 360 series through systems 370 390 and z/Series REXX (REstructured eXtended eXecutor is an interpreted Programming language which was developed at IBM. Java refers to a number of Computer software products and specifications from Sun Microsystems that together provide a system for developing Application software
Each CICS program is initiated using a transaction id. CICS screens are sent as a construct called a map, using a programming language such as COBOL. The end user inputs data which is made accessible to the program by receiving a map. CICS screens may contain text that is highlighted, having different colors or blinking. An example of how a map can be sent through COBOL is given below.
EXEC CICS SEND MAPSET(MPS1) MAP(MP1) END-EXEC.
CICS is used in bank teller applications, ATM systems etc. CICS first went on sale on July 8, 1969, not long after IMS. Events 939 - The Major Occultation or Ghaybat el-Kubra of Muhammad al-Mahdi 1099 - First Crusade: 15000 Year 1969 ( MCMLXIX) was a Common year starting on Wednesday (link will display full calendar of the Gregorian calendar. IBM Information Management System ( IMS) is a joint Hierarchical database and Information management system with extensive Transaction processing It was originally developed in the United States at IBM's Palo Alto lab. The United States of America —commonly referred to as the Palo Alto (ˌpæloʊˈæltoʊ from Spanish: palo: "stick" and alto: "high" i In 1974, CICS development shifted to IBM's programming labs in Hursley, United Kingdom, where work continues today. Hursley is a village in Hampshire, England with a population of around 800 in 2005. The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom, the UK or Britain,is a Sovereign state located
While CICS has its highest profile among financial institutions such as banks and insurance companies, over 90 percent of Fortune 500 companies are reported to rely on CICS (running on z/OS) for their core business functions, beside many governments. Please do not add the complete list of fortune 500 companies The list is copyrighted by Fortune which makes money by selling the content
Although when CICS is mentioned people usually mean CICS Transaction Server, "CICS Family" refers to a portfolio of transaction servers, connectors (called CICS Transaction Gateway) and CICS Tools.
Recent CICS Transaction Server enhancements include support for Web services and Enterprise Java Beans (EJBs). A Web service (also Web Service) is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction Enterprise JavaBeans&trade ( EJB) is a managed server-side component architecture for modular construction of enterprise applications IBM began shipping the latest release, CICS Transaction Server - Version 3. 2, in June 2007.
Contents |
In the z/OS environment a CICS installation comprises one or more address spaces, spread across one or more z/OS system images. z/OS is a 64-bit Operating system for Mainframe computers, created by IBM. z/OS is a 64-bit Operating system for Mainframe computers, created by IBM. Each address space (which is synonymous in CICS terms with a region) comprises *one* major task - the "Quasi-Reentrant Task" (or QR TCB for short) on which every transaction runs. When certain services are required (such as access to DB2 data) other tasks (or TCBs) are used. DB2 is one of IBM 's families of Relational database management system (RDBMS (or as IBM now calls it data server software products within IBM's broader Information
Installations are divided into multiple address spaces for a wide variety of reasons, such as
CICS was started as a batch program with standard JCL statements. Batch processing is execution of a series of programs (" jobs quot on a Computer without human interaction Job Control Language ( JCL) is a Scripting language used on IBM mainframe operating systems to instruct the system on how to run a batch job or
When CICS was first released, it supported programs written in IBM Assembler, PL/I and COBOL. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler PL/I ("Programming Language One" ˌpiːˌɛlˈwʌn is an imperative computer Programming language designed for scientific engineering COBOL (ˈkoʊbɒl is one of the oldest programming languages still in active use Programs needed to be quasi-reentrant in order to support multiple concurrent transaction threads. A database transaction is a unit of work performed against a Database management system or similar system that is treated in a coherent and reliable way independent of other A thread in Computer science is short for a thread of execution. Its modular design meant that with judicious "pruning" it could be executed on a computer with just 32K of physical memory (including the operating system). Computer data storage, often called storage or memory, refers to Computer components devices and recording media that retain digital An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination
Each unique CICS "Task" or transaction was allocated its own dynamic memory at start-up and subsequent requests for additional memory were handled by a call to the "Storage Control program" (part of the CICS nucleus - or "kernel"), which is analogous to an operating system. A task is "an execution path through address space" In other words a set of program instructions that are loaded in memory. Computer data storage, often called storage or memory, refers to Computer components devices and recording media that retain digital In Computer science, the kernel is the central component of most computer Operating systems (OS An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination
Because application programs could be shared by many concurrent threads, the use of static variables embedded within a program (or use of operating system memory) was restricted (by convention only). Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform In Computer science, concurrency is a properties of system in which several Computational processes are executing at the same time and potentially interacting Global variable|Static memory allocationIn Computer programming, static variables data value persists for the life of the running process and typically have a broader scope
Unfortunately many of the "rules" were frequently broken, especially by COBOL programmers who were frequently unaccustomed to the internals of their programs or else did not use the necessary restrictive compile time options. In Computer science, compile time refers to either the operations performed by a Compiler (the "compile-time operations" or Programming language This resulted in "non re-entrant" code that was often unreliable, leading to many spurious storage violations and entire CICS system crashes. A Storage violation is an attempt at or successful alteration ("or corruption" of Computer memory that is intended to have the special status of "protected"
The entire partition or region operated with the same memory protection key including the CICS kernel code and so program corruption and CICS control block corruption was a frequent cause of system downtime. In Computing, a logical partition, commonly called an LPAR, is a subset of computer's hardware resources virtualized as a separate computer Memory protection is a way to control memory usage on a computer and is core to virtually every Operating system.
These shortcomings nevertheless persisted for multiple new releases of CICS over a period of more than 20 years and, as stated above, were often critical applications used by large Banks and other financial institutions.
It was possible to provide a good measure of advance protection by performing all testing under control of a monitoring program that also served to provide Test/Debug features. One such software offering was known as OLIVER which prevented application programs corrupting memory using instruction simulation. OLIVER ( CICS interactive test/debug was a proprietary testing and Debugging Toolkit for interactively testing programs designed to run on IBM Simulation is the imitation of some real thing state of affairs or process
System calls to CICS (for example to read a record from a file) were elicited by a macro call and this gave rise to the later terminology "macro level CICS". A macro (from the Greek 'μάκρο' for long or far in Computer science is a rule or Pattern that specifies how a certain input sequence (often a sequence An example of a call to the "File Control Program" of CICS might look like this:-
DFHFC TYPE=READ,DATASET=myfile,TYPOPER=UPDATE,. . . . etc
This was converted by a pre-compile Assembly which expanded the conditional assembly language macros to their COBOL or PL/1 CALL statement equivalents. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler A Conditional Assembly Language is that part of an Assembly Language used to write macros. Thus preparing a HLL application was effectively a "two stage" compile; output from the Assembler fed straight into the HLL compiler as input. In computing a high-level programming language is a Programming language with strong abstraction from the details of the computer A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another
During the 1980s, IBM at Hursley produced a "half-way house" version of CICS which supported what became known as "Command Level CICS". Hursley is a village in Hampshire, England with a population of around 800 in 2005. This release still supported the older programs but introduced a new layer of execution to the new Command level application programs.
A typical Command level call was given in the first MAPSET example above. This was pre-processed by a pre-compile batch translation stage which converted the embedded Command calls (EXEC's) into Call statements to a stub sub-routine. So, preparing application programs for later execution still required two stages. It was possible to write "Mixed mode" applications using both Macro level and Command level statements.
At execution time, the carefully built Command level calls were converted back using a run-time translator ("The EXEC Interface Program"; part of the CICS supplied nucleus) to the old Macro level call which was then executed by the mostly unchanged CICS nucleus programs.
CEDF: This IBM-produced "Command Execution Diagnostic Facility" helped debug 'EXEC CICS' calls by showing before and after results. The "OLIVER" software pre-dated this free add on by more than 10 years and yet CEDF came without any form of memory protection. It was however complementary to OLIVER, and both could be used simultaneously.
Command level only CICS was introduced in the early 1990s which offered some advantages over earlier versions of CICS. However IBM also dropped support for Macro level application programs written for earlier versions. This "forced" many application programs to be converted or completely re-written to use Command level EXEC calls only, usually by programmers who had no exposure to earlier versions or to the original code.
By this time there were perhaps millions of programs worldwide that had been executing fairly reliably; for decades in many cases. Re-writing them inevitably introduced new bugs without necessarily adding new features.
It was however possible to execute old macro level programs using conversion software such as "Command CICS" produced by APT International a former CICS Software Specialist company who had earlier produced OLIVER, described above. It was possible to take advantage of the new features of later versions of CICS whilst at the same time retaining the original unaltered codebase. It is believed that there are still programs running today using this same technology. The overhead was minimal since additional overhead was limited to the CICS calls only.
Part of CICS was formalized using the Z notation in the 1980s and 1990s in collaboration with the Oxford University Computing Laboratory, under the leadership of Sir Tony Hoare. The Z notation (formally zɛd named after Zermelo-Fränkel set theory, is a formal Specification language used for describing and modeling computing systems The Oxford University Computing Laboratory ( OUCL) is the Computer science department at Oxford University in England. Sir Charles Antony Richard Hoare ( Tony Hoare or CAR Hoare, born January 11, 1934) is a British computer scientist, probably This work won a Queen's Award for Technological Achievement. The Queen's Awards for Enterprise is an awards programme for British businesses and other organizations who excel at international trade innovation or sustainable development
Different countries have differing pronunciations [1]