--- title: Revision IBM tags: REVISION --- [TOC] # Mot clés/Définitions ## Transactioal System ## CICS **définition 1** Il s'agit en réalité d'un moteur de gestion des transactions entre les terminaux passifs et l'ordinateur central. **définition 2** Le système appelé CICS (Customer Information Control System, c'est-à-dire « Système de contrôle des informations client ») est un système qui permet d'effectuer des opérations transactionnelles (en général consultation ou mise à jour de bases de données ou de fichiers) avec une très grande économie de moyens. CICS est généralement utilisée sur les systèmes mainframe d'IBM, notamment les zSeries 900 ou S/390, mais peut aussi l'être sur des systèmes plus petits comme les AS/400, RS/6000, ou même des serveurs PC. **définition 3** CICS (Customer Information Control System) is an online transaction processing (OLTP) program from IBM that, together with the COBOL programming language, has formed over the past several decades the most common set of tools for building customer transaction applications in the world of large enterprise mainframe computing. The strengths of CICS are certainly the scalability. The multilevel architecture of the CICS regions, security, and performance, manages to manage large volumes of transactions with efficient performances. ## WebSphere Application Service (WAS) WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. ## WebSphere MQ IBM MQ (anciennement WebSphere MQ, anciennement MQSeries) est un logiciel IBM de type middleware. ## JMS JMS = Java Message Service L'interface de programmation Java Message Service (JMS) permet d'envoyer et de recevoir des messages de manière asynchrone entre applications ou composants Java. JMS est une API qui permet de faire communiquer deux machines sur un réseau. JMS gère plusieurs protocoles standard ainsi que certain protocole permettant de faire communiquer les programmes Java. **Définition Anglais:** Java Message Service (JMS) is an application program interface (API) from Sun Microsystems that supports the formal communication known as messaging between computers in a network. Sun's JMS provides a common interface to standard messaging protocols and also to special messaging services in support of Java programs. Sun advocates the use of the Java Message Service for anyone developing Java applications, which can be run from any major operating system platform. ## WMQ WMQ = Websphere MQ (Message Queue) IBM MQ (anciennement WebSphere MQ, anciennement MQSeries) est un logiciel IBM de type middleware. IBM MQ est une famille de logiciels de type intergiciels développée par IBM (l'un des leaders du cloud). Plus précisément, IBM MQ fait partie de la catégorie des MoM (middleware orienté message). Ses composants logiciels utilisent la technique d'échange d'informations par échange de messages IBM MQSeries (renommé MQ en 2014) est une famille de middlewares orientés message développés par IBM. Ces intergiciels permettent d’établir une communication entre des systèmes et infrastructures informatiques disparates par le biais de messages. Découvrez tout ce que vous devez savoir sur IBM MQ. ## Function Shipping You can use CICS® function shipping to write CICS application programs without regard to the location of the requested resources. They use file control commands, temporary-storage commands, and other functions in the same way. ## Transactional routing CICS transaction routing allows terminals connected to one CICS system to run with transactions in another connected CICS system. ## Distributed Program Link CICS distributed program link enables CICS application programs to run programs that are in other CICS regions by shipping program-control LINK requests. Static routing means that the location of the server program is specified at design time, rather than at run time. ## Asynchronous Transaction Processing Asynchronous processing provides a means of distributing the processing that is required by an application between systems in an intercommunication environment. Unlike distributed transaction processing, however, the processing is asynchronous. ## IMS IMS (pour Information Management System) a débuté comme une base de données hiérarchique créée par IBM en 1966 pour le compte de Rockwell et le programme Apollo. Il fut utilisé pour gérer les nomenclatures pour le programme Saturn V. IMS est également un gestionnaire de transactions. Le gestionnaire interagit avec un utilisateur final (connecté via VTAM ou TCP/IP et, de la même manière qu'une interface web utilisant des scripts CGI, fournit une interface permettant d'effectuer des requêtes ou de mettre à jour des bases de données IMS ou DB2). ## WSDL (Web Services Description Language) Le langage de description de services Web (WSDL) est un langage de description basé sur le langage de balisage extensible (XML). Ce langage a été soumis au World Wide Web Consortium (W3C) en tant que norme de l'industrie pour la description des services Web. La puissance de WSDL découle de deux principes architecturaux principaux: la capacité de décrire un ensemble d'opérations commerciales et la capacité de séparer la description en deux unités de base. Ces unités sont une description des opérations et les détails de la manière dont l'opération et les informations qui y sont associées sont conditionnées. **Définition Anglaise:** Web Services Description Language (WSDL) is an Extensible Markup Language (XML)-based description language. This language was submitted to the World Wide Web Consortium (W3C) as the industry standard for describing web services. The power of WSDL is derived from two main architectural principles: the ability to describe a set of business operations and the ability to separate the description into two basic units. These units are a description of the operations and the details of how the operation and the information associated with it are packaged. # CICS Fonctionnement CICS® stands for **"Customer Information Control System."** It is a general-purpose transaction processing subsystem for the z/OS® operating system. CICS provides services for running an application online, by request, at the same time as many other users are submitting requests to run the same applications, using the same files and programs. CICS manages the sharing of resources, the integrity of data and prioritization of execution, with fast response. CICS authorizes users, allocates resources (real storage and cycles), and passes on database requests by the application to the appropriate database manager (such as DB2®). We could say that CICS acts like, and performs many of the same functions as the z/OS operating system. A CICS application is a collection of related programs that together perform a business operation, such as processing a travel request or preparing a company payroll. CICS applications execute under CICS control, using CICS services and interfaces to access programs and files. CICS applications are traditionally run by submitting a transaction request. Execution of the transaction consists of running one or more application programs that implement the required function. In CICS documentation you may find CICS application programs sometimes simply called "programs," and sometimes the term "transaction" is used to imply the processing done by the application programs. CICS applications can also take the form of Enterprise Java™ Beans. You can find out more about this form of programming in the section on Java applications in CICS in the CICS Information Center. **CICS in a z/OS system** In a z/OS system, CICS provides a layer of function for managing transactions, while the operating system remains the final interface with the computer hardware. CICS essentially separates a particular kind of application program (namely, online applications) from others in the system, and handles these programs itself. **CICS programs, transactions and tasks** CICS allows you to keep your application logic separate from your application resources. To develop and run CICS applications, you need to understand the relationship between CICS programs, transactions, and tasks. **Using programming languages with CICS** You can use COBOL, OO COBOL, C, C++, Java, PL/I, or Assembler language to write CICS application programs to run on z/OS. Most of the processing logic is expressed in standard language statements, but you use CICS commands, or the Java and C++ class libraries, to request CICS services. **CICS conversational and pseudo-conversational programming** In CICS, when the programs being executed enter into a conversation with the user, it is called a conversational transaction. A non-conversational transaction, by contrast, processes one input, responds, and ends (disappears). It never pauses to read a second input from the terminal, so there is no real conversation. **CICS programming commands** The general format of a CICS command is EXECUTE CICS (or EXEC CICS) followed by the name of the command and possibly one or more options. **How a CICS transaction flows** While it runs, your application program requests various CICS facilities to handle message transmissions between it and the terminal, and to handle any necessary file or database accesses. **CICS services for application programs** CICS applications execute under CICS control, using CICS services and interfaces to access programs and files. **CICS program control** A transaction (task) may execute several programs in the course of completing its work. **CICS programming roadmap** Here are typical steps for developing a CICS application that uses the EXEC CICS command level programming interface. **CICS online example** Here are examples of CICS transactions. ## Definitions CICS components **Transaction** A transaction is a piece of processing initiated by a single request. This is usually from an end user at a terminal, but might also be made from a Web page, from a remote workstation program, from an application in another CICS system, or triggered automatically at a predefined time. The CICS Internet Guide and the CICS External Interfaces Guide describe different ways of running CICS transactions. A CICS transaction is given a 4-character name, which is defined in the program control table (PCT). **Application program** A single transaction consists of one or more application programs that, when run, carry out the processing needed. However, the term transaction is used in CICS to mean both a single event and all other transactions of the same type. You describe each transaction type to CICS with a transaction resource definition. This definition gives the transaction type a name (the transaction identifier or TRANSID) and tells CICS several things about the work to be done, such as what program to invoke first and what kind of authentication is required throughout the execution of the transaction. You run a transaction by submitting its TRANSID to CICS. CICS uses the information recorded in the TRANSACTION definition to establish the correct execution environment, and starts the first program. **Unit of work** The term transaction is now used extensively in the IT industry to describe a unit of recovery or what CICS calls a unit of work. This is typically a complete operation that is recoverable; it can be committed or backed out as an entirety as a result of a programmed command or system failure. In many cases, the scope of a CICS transaction is also a single unit of work, but you should be aware of the difference in meaning when reading non-CICS publications. Task You will also see the word task used extensively in CICS publications. This word also has a specific meaning in CICS. When CICS receives a request to run a transaction, it starts a new task that is associated with this one instance of the execution of the transaction–that is, one execution of a transaction, with a particular set of data, usually on behalf of a particular user at a particular terminal. You can also consider it analogous to a thread. When the transaction completes, the task is terminated. ## CICS region **Transport-owning region** A CICS region that connects a CICSplex to your communication network. Transaction requests received by a transport-owning region are passed to an application-owning region for processing. **Terminal-owning region** => TOR A CICS region that connects terminals and other devices, including printers, to the CICSplex. Transaction requests received by a terminal-owning region are passed to an application-owning region for processing. **Application-owning region** A CICS region that manages application programs. Requests for data are passed to a data-owning region. **Data-owning region** A CICS address space that manages access to files and databases. **File-owning region** A CICS address space that manages access to files. A file-owning region is a specific type of data-owning region. ## Services CICS **Application programming interface** You use the application programming interface or API to access CICS services from the application program. You write a CICS program in much the same way as you write any other program. Most of the processed logic is expressed in standard language elements, but you can use CICS commands to request CICS services. **Terminal control services** These services allow a CICS application program to communicate with terminal devices. Through these services, information may be sent to a terminal screen and the user input may be retrieved from it. It's not easy to deal with terminal control services in a direct way. Basic Mapping Support, or BMS, lets you communicate with a terminal with a higher language level. It formats your data, and you do not need to know the details of the data stream. **File and database control services** We may differentiate the following two different CICS data management services: - CICS file control offers you access to data sets that are managed by either the Virtual Storage Access Method (VSAM) or the Basic Direct Access Method (BDAM). CICS file control lets you read, update, add, and browse data in VSAM and BDAM data sets and delete data from VSAM data sets. - Database control lets you access IMS and DB2® databases. Although CICS has two programming interfaces to IMS, using the higher-level EXEC DL/I interface is recommended. CICS has one interface to DB2: the EXEC SQL interface. The EXEC SQL interface offers powerful statements for manipulating sets of tables, thus relieving the application program of record-by-record processing. **Other CICS services** - Task control can be used to control the execution of a task. You may suspend a task or schedule the use of a resource by a task by making it serially reusable. Also, the priority assigned to a task may be changed. - Program control governs the flow of control between application programs in a CICS system. The name of the application referred to in a program control command must have been defined as a program to CICS. You can use program control commands to link one of your application programs to another, and transfer control from one application program to another, with no return to the requesting program. - Temporary Storage (TS) and Transient Data (TD) control. The CICS temporary storage control facility provides the application programmer with the ability to store data in temporary storage queues, either in main storage or in auxiliary storage on a direct-access storage device, or, in the case of temporary storage, the coupling facility. The CICS transient data control facility provides a generalized queuing facility to queue (or store) data for subsequent or external processing. - Interval control services provide functions that are related to time. Using interval control commands, you can start a task at a specified time or after a specified interval, delay the processing of a task, and request notification when a specified time has expired, among other actions. - Storage control facility controls requests for main storage to provide intermediate work areas and other main storage needed to process a transaction. CICS makes working storage available with each program automatically, without any request from the application program, and provides other facilities for intermediate storage both within and among tasks. In addition to the working storage provided automatically by CICS, however, you can use other CICS commands to get and release main storage. - Dump and trace control. The dump control provides a transaction dump when an abnormal termination occurs during the execution of an application program. CICS trace is a debugging aid for application programmers that produces trace entries of the sequence of CICS operations.