|
The CICS Resource – Directory & Links
From Mainframes.in – Home of Legacy & Mainframes Online
|
|
The CICS section of Mainframes.in provides a listing of WWW resources for CICS transaction monitor. Mainframes.in is a comprehensive online resource for legacy and mainframe systems.
..
..
Add Links: If you have a web site that you wish to include in this directory, do let us know the details by sending a note about your URL to narsi@esource.in. We’ll quickly review the web site, and if found relevant, add it to the database. We look forward to web site owners and link exchange partners to submit URL. Thanks!
Content derived from Wikipedia article on CICS
CICS From Wikipedia, the free encyclopedia
CICS® (Customer Information Control System) is a transaction server that runs primarily on IBM mainframe systems under z/OS or z/VSE. CICS is available for other operating systems, notably i5/OS, OS/2, and as the closely related IBM TXSeries software on AIX, Windows, and Linux, among others. The z/OS implementation is by far the most popular and significant.
CICS is a transaction processing system (like TCAM) designed for both online and batch activity. On large IBM zSeries and System z9 servers, CICS easily supports thousands of transactions per second, making it a mainstay of enterprise computing. CICS applications can be written in numerous programming languages, including COBOL, PL/I, C, C++, IBM Basic Assembly Language, REXX, and Java.
Each CICS program is initiated using a transaction id. CICS screens are sent as maps 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 one of the world's most durable software products thanks to its ever-expanding capabilities, continuous and aggressive vendor support, large installed base, exceptional reliability, high performance, and huge variety of applications and tools. It is also a very secure system and functions at a high speed. (Many of these attributes depend on the zSeries platform.) CICS is used in bank teller applications, airline reservation systems, ATM systems etc. CICS first went on sale on July 8, 1969, not long after IMS. It was originally developed in the United States at IBM's Palo Alto lab. In 1974, CICS development shifted to IBM's programming labs in Hursley, United Kingdom, where work continues today.
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. Most state and national governments do as well.
Recent CICS enhancements include support for Web services and Enterprise Java Beans (EJBs). IBM began shipping the latest release, CICS Transaction Server Version 3.1 for z/OS, in early 2005.
Contents
1 History 2 Pronunciation 3 See also 4 External links
History When CICS was first released, it supported programs written in IBM Assembler, PL/I and COBOL. Programs needed to be quasi-reentrant to support multiple concurrent transaction threads. Its modular design meant that with judicial "pruning" it could be executed on a computer with just 32K of real memory (and that included the Operating System of 8K!) such as an IBM 360 model 30.
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"). This is analogous to an Operating System and effectively CICS could be considered "an Operating System within an Operating System" with its own rules and calls for services such as I/O or program calls (Link to or transfer control to). CICS was in fact started as a batch program with standard JCL statements.
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).
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. This resulted in "non re-entrant" code that was often unreliable leading to many spurious storage violations and entire CICS system crashes.
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.
These shortcomings nevetheless 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.
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". 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. Thus preparing a HLL application was effectively a "two stage" compile; output from the Assembler fed straight into the HLL compiler as input.
Command Level CICS: During the 1980s, IBM at Hursley produced a "half-way house" version of CICS which supported what became known as "Command Level CICS". 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 "EXEC Call 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 intoduced new bugs without necessarily adding new features.
Run time conversion: 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.
Z notation. 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. This work won a Queen's Award for Technological Achievement.
Pronunciation In Britain, Canada, Australia, France, Belgium and some other countries, CICS is pronounced the same as the word kicks. In the US, it is more usually pronounced by reciting each letter (C-I-C-S). Both pronunciations are popular. In Germany, it is pronounced zicks and, less often, kicks In Italy, it is pronounced chicks. In Spain it is pronounced thicks. In Brazil, Peru and Mexico, it is pronounced sicks.
See also 3270 z/TPF WebSphere VSAM Command CICS a run-time macro to Command level translator
External links IBM CICS official website CICS official 35th Anniversary website Bob Yelavich's CICS focussed website. (archived copy from 24th Sep 2004) Retrieved from "http://en.wikipedia.org/wiki/CICS" Categories: IBM software | System software | Memory management | Z notation
End of Wikipedia content, http://en.wikipedia.org/wiki/CICS
CICS Directory & Resources @ Mainframes.in
..
..
Main Sections @ Mainframes.in
Legacy Operating Systems > Midrange, Mainframe Legacy Databases > DB2, IMS DB/DC, VSAM, CA/IDMS, Unidata Legacy Programming & Development
Legacy Hardware > Mainframe Hardware, Midrange Hardware
Legacy & Non-legacy > Legacy & Contemporary OS, Legacy & Contemporary Databases, Legacy & Networking, Legacy & Contemporary Programming Languages, Legacy & Mainframe Migration
Other IT Resources
eIT.in – IT & Software Directory & Resources
Software > Operating Systems, Databases, Programming & Development, Mainframe & Legacy, Internet & Web
Hardware, Networking & Communications, IT Strategy & Design, IT in Industries, IT in Functions, IT Infrastructure, Tech Support, IT Industry & Trade Network, IT News & Updates
Mainframes.in provides directory and web links resources for the legacy, mainframes and midrange systems. It is intended to be useful for mainframe programmers & developers, midrange programmer & developer, legacy & mainframe databases software development, administrators & DBAs, application developers, mainframe strategy architect, legacy design specialists and architects, mainframe & legacy migration consultants and analysts, administration, maintenance & support professionals, mainframe & legacy outsourcing consultant, legacy solutions programming developers & coders, project management & functional analyst, and for mainframe, midrange, system administrators, testing & quality control engineers. It will make an effort to provide resources on tutorial/tutorials, guide/guides, tips, faq/faqs on these mainframe and legacy topics.
Reference
GeoDig – Get Local!
Have you checked out the GeoDig directories for over 30 countries? GeoDig provides useful local and regional web resources for over 200 cities around the world. See the list of cities and countries for which GeoDig provides locality-specific web resources.
North America USA - Alabama (AL) > Birmingham; Alaska; Arkansas (AR) > Little Rock; Arizona (AZ) > Phoenix, Las Vegas, Tucson; California (CA) > Los Angeles, San Francisco, Sacramento, Fresno, Bakersfield; Colorado, CO > Denver; Connecticut, CT > Hartford; District of Columbia, DC > Washington DC; Delaware (DE) > Wilmington; Florida > Miami, Orlando, Tampa, Orlando, Sarasota, West Palm Beach, Jacksonville; Georgia > Atlanta; Hawaii > Honolulu; Idaho; Illinois > Chicago; Indiana > Indianapolis; Iowa; Kansas (KS); Kentucky (KY) > Louisville; Louisiana (LA) > New Orleans, Baton Rouge; Maine; Maryland (MD) > Baltimore; Massachusetts > Boston, Springfield; Michigan > Detroit, Grand Rapids; Minnesota > Minneapolis-St. Paul; Mississippi (MS); Missouri (MO) > Kansas City, St. Louis; Montana; Nebraska (NE) > Omaha; Nevada (NV) > Las Vegas; New Hampshire; New Jersey (NJ) > Jersey City, Newark; New Mexico (NM) > Albuquerque; New York > New York, Buffalo, Rochester, Albany, Syracuse; North Carolina (NC) > Raleigh-Durham, Charlotte, Greensboro; North Dakota; Ohio> Columbus, Cincinnati, Cleveland, Toledo, Youngstown, Dayton; Oklahoma (OK) > Oklahoma City, Tulsa; Oregon > Portland; Pennsylvania > Philadelphia, Allentown, Pittsburgh, Harrisburg, Scranton, ; Rhode Island (RI) > Providence; South Carolina (SC) > Greenville; South Dakota; Tennessee (TN) > Knoxville, Memphis, Nashville; Texas > Austin, Dallas, Houston, San Antonio, El Paso, Austin, McAllen; Utah (UT) > Salt Lake City; Vermont; Virginia (VA) > Norfolk, Richmond; Washington > Seattle; West Virginia; Wisconsin (WI) > Milwaukee; Wyoming Canada - Vancouver, Montreal, Toronto, Calgary, Ottawa-Gatineau, Edmonton, Quebec City, Winnipeg, Hamilton, London
Europe - UK - London, Glasgow, Manchester, Birmingham, Liverpool, Sheffield, Leeds, Bristol, Edinburgh, Leicester; France - Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux; Germany - Frankfurt (Frankfurt am Main), Munich (München), Berlin, Düsseldorf, Hamburg, Cologne (Köln), Essen, Dortmund, Stuttgart, Bremen, Duisburg, Hannover, Nürnberg (Nuremberg), Dresden, Leipzig; Italy - Milan (Milano), Rome (Roma), Napoli (Naples), Torino (Turin), Palermo, Bologna, Firenze (Florence), Genova (Genoa); Spain - Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Malaga, Murcia, Las Palmas, Bilbao; Scandinavia - Finland - Helsinki (Helsingin), Espoo, Tampere (Tampereen), Vantaa, Turku, Oulu, Sweden - Stockholm, Goteborg (Göteborg), Malmo (Malmö), Uppsala, Vasteras (Västerås), Denmark - Copenhagen (Københavns), Aarhus (Århus), Odense, Aalborg (Ålborg), Norway - Oslo, Bergen, Stavanger, Trondheim; Benelux - Belgium - Brussels (Brussel), Antwerp (Antwerpen), Ghent (Gent, Gand), Charleroi, Liège (Liege), Netherlands - Amsterdam, Rotterdam, Utrecht, Eindhoven, Tilburg, ‘s-Gravenhage (sGravenhage), Groningen, Luxembourg - Luxembourg City; Portugal – Lisbon; Greece – Athens; Hungary – Budapest; Poland – Warsaw; Switzerland - Zürich (Zurich), Geneva (Geneve, Genève), Basel, Bern (Berne), Lausanne; Austria - Linz, Vienna (Wien), Graz, Linz, Salzburg, Innsbruck; Ireland – Dublin
Asia - India - Mumbai, New Delhi, Bangalore; China & Hong Kong - Hong Kong, Beijing, Shanghai, Tianjin, Wuhan, Shenyang, Guangzhou, Harbin, Xian; Japan - Tokyo, Osaka, Yokohama, Nagoya, Sapporo, Kyoto, Kobe, Fukuoka, Kawasaki, Hiroshima; South Korea - Seoul, Pusa, Taegu, Incheon, Taejeon, Taiwan - Taipei; Malaysia - Kuala Lumpur; Singapore; Russia - Moscow, St Petersburg
Middle East - Turkey - Istanbul, Israel - Tel Aviv
Oceania - Australia - Sydney, Melbourne, Brisbane, Perth, Adelaide
Africa - South Africa - Johannesburg, Cape Town, Durban
|
Web Co-ordinator: Narasimhan Santhanam ( narsi@esource.in )
© 2004 – 05, From Mainframes.in – Home of Legacy & Mainframes Online