CICS

CICS
CICS
IBM CICS Transaction Server for z-OS app icon.svg
기타 이름고객 정보 관리 시스템
초기 릴리즈1969년 7월 8일, 53년 전(1969년 7월 8일)
안정된 릴리스
CICS Transaction Server V5.6 / 2020년 6월 12일, 2년 전(2020-06-12)[1]
운영 체제z/OS, z/VSE
플랫폼IBM Z
유형텔레프로세싱 모니터
면허증.독자 사양
웹 사이트www.ibm.com/it-infrastructure/z/cics Edit this on Wikidata

IBM CICS(Customer Information Control System)는 z/OSz/VSE에서 IBM 메인프레임 시스템의 애플리케이션에 온라인 트랜잭션 관리 및 연결을 제공하는 혼합 언어 애플리케이션 서버 제품군입니다.

CICS 패밀리 제품은 미들웨어로 설계되어 고속 대용량 온라인 트랜잭션 처리를 지원합니다.CICS 트랜잭션은 1개 이상의 오브젝트에 [2]영향을 줄 수 있는1개의 요구에 의해 개시되는 처리 단위입니다.이 처리는 일반적으로 대화식(화면 지향)이지만 백그라운드 트랜잭션이 가능합니다.

CICS Transaction Server(CICS TS)는 CICS 패밀리의 선두에 위치하며 운영 체제의 기능을 확장 또는 대체하는 서비스를 제공합니다.이러한 서비스는 일반화된 운영 체제 서비스보다 더 효율적이며 프로그래머가 사용하기 쉬우며, 특히 다양한 단말 장치와의 통신에 관해서는 더욱 간단합니다.

CICS용으로 개발된 애플리케이션은 다양한 프로그래밍 언어로 작성될 수 있으며 CICS가 제공하는 언어 확장자를 사용하여 파일, 데이터베이스 연결, 터미널 등의 리소스와 상호 작용하거나 웹 서비스 등의 기능을 호출할 수 있습니다.CICS는 트랜잭션 전체를 관리하며 트랜잭션의 일부가 실패했을 경우 복구 가능한 모든 변경 사항을 취소할 수 있습니다.

CICS TS는 은행이나 보험회사 등 대형 금융기관에서 가장 높은 평가를 받고 있지만, Fortune 500대 기업이나 정부기관에서는 CICS를 운영하고 있는 것으로 보고되고 있습니다.기타 소규모 기업에서도 CICS TS 및 기타 CICS 패밀리 제품을 실행할 수 있습니다.CICS는 뱅크텔러 애플리케이션, ATM 시스템, 산업 생산 제어 시스템, 보험 애플리케이션 및 기타 많은 유형의 인터랙티브 애플리케이션 등에서 정기적으로 백그라운드에서 찾을 수 있습니다.

최근의 CICS TS 기능 확장에는 API, 프레임워크, 에디터 및 빌드 툴 선택 등 개발자의 경험을 향상시키는 새로운 기능이 포함되어 있으며 보안, 복원력 및 관리 등의 주요 영역에서 업데이트를 제공합니다.이전 CICS TS 릴리즈에서는 웹 서비스Java, 이벤트 처리, ATOM 피드 및 RESTful 인터페이스가 지원되었습니다.

역사

CICS는 이전의 싱글 스레드 트랜잭션 처리 시스템인 IBM MTCS가 선행했습니다.MTCS-CICS 브릿지는 나중에 개발되어 원래의 애플리케이션 프로그램을 변경하지 않고 CICS에서 이러한 트랜잭션을 실행할 수 있게 되었습니다.

CICS는 1966년부터 공공사업계의 요건에 대응하기 위해 일리노이주 데스플레인즈에 있는 IBM 개발센터에서 미국에서 개발되었습니다.최초의 CICS 제품은 Public Utility Customer Information Control System(PU-CICS)이라는 이름으로 1968년에 발표되었습니다.Public Utility 프리픽스는 IMS 데이터베이스 관리 시스템 이후 얼마 지나지 않은 1969년 7월 8일 CICS Program Product의 첫 출시와 함께 폐기되었습니다.

이후 몇 년 동안 CICS는 Palo Alto에서 개발되었으며, 당시 IBM이 전략적으로 고려했던 IMS보다 덜 중요한 "소형" 제품으로 간주되었습니다.하지만 고객들의 압박이 계속 이어졌습니다.1974년 IBM이 IMS에 집중하기 위해 CICS 개발을 중단하기로 결정했을 때, CICS 개발 책임은 영국의 IBM Hursley 사이트에 의해 인수되었습니다. IBM Hursley는 PL/I 컴파일러 작업을 막 중단하고 CICS와 동일한 고객을 많이 알고 있었습니다.개발 작업의 핵심은 인도, 중국, 러시아, 호주 및 미국의 연구소와 함께 현재도 허슬리에서 계속되고 있습니다.

초기 진화

CICS는 원래 1965년 IBM 2741 Selectric(골프공) 타이프라이터 기반 단말기와 같은 일부 IBM 브랜드 장치만 지원했습니다.1964년 IBM 22601972년 IBM 3270 비디오 디스플레이 터미널은 나중에 널리 사용되었습니다.

IBM 메인프레임 초창기에는 컴퓨터 소프트웨어가 무료였습니다. 추가 비용 없이 컴퓨터 하드웨어와 함께 번들되었습니다.OS/360 운영 체제 및 CICS와 같은 애플리케이션 지원 소프트웨어는 오픈 소스 소프트웨어 이니셔티브보다 훨씬 전에 IBM 고객에게 "개방"되었습니다.스탠다드 오일 오브 인디애나(Amoco)와 같은 기업들이 CICS에 큰 기여를 했다.

IBM Des Plaines 팀은 ASCII Teletype Model 33 ASR과 같은 인기 있는 비 IBM 단말기에 대한 지원을 추가하려고 했지만, 소규모 저예산 소프트웨어 개발 팀은 이를 테스트하기 위한 월 100달러의 하드웨어를 구입할 여유가 없었습니다.IBM 경영진은 기존의 펀치 카드를 사용한 일괄 처리로 미래가 과거와 같을 것이라고 잘못 생각했습니다.

IBM은 공공 기업, 은행 및 신용카드 회사가 전화에 대한 고속 데이터 액세스 및 고객 정보 업데이트를 위해 비용 효율적인 인터랙티브 시스템(American Airlines Sabre 컴퓨터 예약 시스템에 의해 사용되는 1965년 IBM 항공사 제어 프로그램과 유사)을 요구했을 때 마지못해 최소한의 자금만 지원했습니다.오퍼레이터(야간 배치 처리 펀치 카드 시스템을 기다리지 않음)

CICS가 Teletype Model 33 ASR 지원으로 Amoco에 제공되었을 때 OS/360 운영체제 전체가 크래시(CICS 이외의 애플리케이션 프로그램 포함)되었습니다.CICS 터미널 제어 프로그램(TCP – CICS의 심장)의 대부분과 OS/360의 일부는 Oklahoma Tulsa에 있는 Amoco Production Company에 의해 어렵게 재설계 및 재작성되었습니다.그런 다음 다른 사람들에게 무료로 배포하기 위해 IBM에 반환되었습니다.

[when?]년 만에 CICS는 IBM에 600억 달러 이상의 새로운 하드웨어 수익을 창출했으며 가장 성공적인 메인프레임 소프트웨어 제품이 되었습니다.

1972년에 CICS는 메모리가 매우 제한된 DOS/360 머신을 위한 DOS-ENTRY(프로그램 번호 5736-XX6)와 메모리가 더 많은 DOS/360 머신을 위한 DOS-STANDARD(프로그램 번호 5736-X7)와 OS/[3]360을 실행하는 더 큰 머신을 위한 OS-STANDARDARD(프로그램 번호 5734-X7)의 3가지 버전으로 제공되었습니다.

1970년 초, 초기 릴리스의 주요 설계자인 Ben Riggins를 포함한 많은 초기 개발자들이 캘리포니아로 이전하여 IBM의 Palo Alto Development Center에서 CICS 개발을 계속했습니다.IBM 경영진은 연방법이 소프트웨어 분리를 요구할 때까지 소프트웨어의 가치를 수익 창출 제품으로 인정하지 않았습니다.1980년 IBM 경영진은 IBM이 CICS 인텔리전트 터미널로 사용할 수 있도록 자체 EBCDIC 기반 운영 체제와 집적회로 마이크로프로세서 칩을 제공해야 한다는 Ben Riggins의 강력한 제안을 무시했습니다(호환되지 않는 Intel 칩 및 미성숙한 ASCII 기반 Microsoft 1980 DOS 대신).

그 시대의 대용량 프로세서의 용량도 한정되어 있기 때문에 CICS를 설치할 때마다 CICSGEN이라고 불리는 시스템 생성(sysgen)과 유사한 프로세스를 완료한 후 모든 CICS 시스템 모듈의 소스 코드를 조립하여 조건부 어셈블리 언어 스테이트먼트의 값을 설정해야 했습니다.이 프로세스를 통해 각 고객은 사용하지 않는 단말기 유형에 대한 디바이스 지원 등 사용하지 않는 기능에 대한 CICS 자체의 지원을 제외할 수 있습니다.

CICS는 하드웨어가 매우 비쌌을 때 비교적 효율적인 구현, 멀티 스레드 처리 아키텍처, 터미널 기반의 실시간 트랜잭션애플리케이션 개발의 비교적 단순성, 디버깅과 기능 확장 등 오픈 소스 고객 기여가 많았기 때문입니다.

Z 표기법

CICS의 일부는 1980년대와 1990년대에 Tony Hoare의 지도 하에 Oxford University Computing Laboratory와 협력하여 Z 표기법을 사용하여 공식화되었습니다.이 작품은 퀸스 테크놀로지 [4]어워드를 수상했다.

분산 파일 서버로서의 CICS

1986년 IBM은 DDM(Distributed Data Management Architecture)에 의해 정의된 레코드 지향 파일 서비스에 대한 CICS 지원을 발표했습니다.이것에 의해, 네트워크에 접속된 리모트 컴퓨터의 프로그램은, 이전에는 CICS/MVS 및 CICS/VSE 트랜잭션 처리 [5]환경내에서만 사용 가능했던 파일을 작성, 관리, 및 액세스 할 수 있게 되었습니다.

CICS 의 새로운 버전에서는, DDM 의 서포트는 없어졌습니다.CICS z/OS의 DDM 컴포넌트에 대한 지원은 2003년 말에 중단되었으며 버전 5.2 [6]이후로는 CICS for z/OS에서 삭제되었습니다.CICS TS for z/VSE에서는 DDM 지원이 V1.1.1 수준에서 안정화되었으며, [7]향후 릴리즈에서 DDM을 중단할 계획이라고 발표되었습니다.z/VSE 2.1 이후의 CICS에서는 CICS/DDM은 [8]지원되지 않습니다.

CICS와 월드 와이드 웹

CICS Transaction Server는 버전 1.2에서 네이티브 HTTP 인터페이스를 최초로 도입하여 그린스크린 터미널 기반 프로그램을 HTML 파사드로 래핑하기 위한 Web Bridge 테크놀로지와 함께 도입했습니다.CICS Web API 및 Document API는 CICS TS V1.3에서 확장되어 웹 브라우저와 보다 효과적으로 상호작용할 수 있도록 웹 인식 애플리케이션을 기술할 수 있게 되었습니다.

CICS TS 버전 2.1~2.3은 CICS에 CORBAEJB 기술을 도입하는 데 중점을 두고 CICS 자산을 분산형 애플리케이션 컴포넌트 모델에 통합하는 새로운 방법을 제공합니다.이러한 테크놀로지는 CICS에서 Java 애플리케이션을 호스팅하는 데 의존했습니다.Java 호스팅 환경은 여러 릴리스에 걸쳐 수많은 개선 사항을 보였으며, 결과적으로 WebSphere Liberty Profile이 CICS Transaction Server V5.1에 내장되었습니다.Java를 사용하여 수많은 웹 기반 기술을 CICS에서 호스팅할 수 있었고, 결과적으로 네이티브 CORBA 및 EJB 기술이 제거되었습니다.

CICS TS V3.1에서는 발신 통신용 클라이언트 측 HTTP API와 함께 CICS용 SOAP 및 WSDL 테크놀로지의 네이티브 실장이 추가되었습니다.이들 2개의 테크놀로지에 의해 CICS 컴포넌트를 다른 엔터프라이즈 애플리케이션과 쉽게 통합할 수 있게 되어 널리 채택되었습니다.COBOL 등의 언어로 작성된 기존 CICS 프로그램을 프로그램 변경 없이 WSDL 정의 웹 서비스로 변환하기 위한 툴이 포함되어 있습니다.이 테크놀로지는 CICS의 연속 릴리즈에 비해 정기적으로 확장되고 있습니다.

CICS TS V4.1 및 V4.2에서는 Atom 퍼블리싱 프로토콜의 네이티브 구현을 포함하여 웹 접속이 더욱 강화되었습니다.

새로운 Web 대면 테크놀로지의 대부분은 기존 제품 릴리스 이외의 전달 모델을 사용하여 CICS의 이전 릴리스에서 사용할 수 있게 되었습니다.이를 통해 조기채택기업은 통합기술의 최종 설계에 영향을 미칠 수 있는 건설적인 피드백을 제공할 수 있었다.예를 들어 Soap for CICS Technology Preview SupportPac for TS V2.2 또는 ATOM SupportPac for TS V3.1 등이 있습니다.이 어프로치는, CICS TS V4.2에의 JSON 서포트를 도입하기 위해서 사용되었습니다.이 테크놀로지는 CICS TS V5.2에 통합되었습니다.

CICS의 JSON 테크놀로지는 이전의 SOAP 테크놀로지와 유사하며, CICS에서 호스트되는 프로그램을 현대적인 외관으로 포장할 수 있습니다.JSON 기술은 여러 메인프레임 서브시스템의 자산을 활용할 수 있는 JSON API를 구성하는 IBM 제품인 z/OS Connect Enterprise Edition에서 강화되었습니다.

CICS와의 상호작용에도 많은 파트너 제품이 사용되고 있습니다.일반적인 예로는 JCA 준거 Java 애플리케이션서버에서 CICS에 접속하기 위한 CICS 트랜잭션게이트웨이, CICS에 도달하기 전에 Web 트래픽을 필터링하기 위한 IBM DataPower 어플라이언스 등이 있습니다.

최신 버전의 CICS는 기존 소프트웨어 자산과 새로운 소프트웨어 자산을 분산된 애플리케이션 흐름에 통합할 수 있는 다양한 방법을 제공합니다.CICS 자산은 리모트 시스템에서 액세스 할 수 있어 리모트 시스템에 액세스 할 수 있습니다.사용자 ID와 트랜잭션 컨텍스트를 전파할 수 있습니다.RESTful API를 구성 및 관리할 수 있습니다.디바이스, 사용자 및 서버는 표준 기반 기술을 사용하여 CICS와 대화할 수 있습니다.CICS의 IBM WebSphere Liberty 환경은 n의 신속한 도입을 촉진합니다.EW테크놀로지

마이크로 CICS

힐튼 호텔, FTD 플로리스트, Amtrak 및 Budget Rent-a-Car를 위해 "대규모 온라인 시스템"[9]을 구축한 1969년 설립된 컨설팅 회사가 1985년 1월 MicroCICS를 발표했습니다.초기 초점은 IBM XT/370IBM AT/370이었습니다.[10]

CICS 패밀리

CICS라고 하면 보통 CICS Transaction Server를 의미하지만 CICS 패밀리는 트랜잭션서버, 커넥터(CICS Transaction Gateway) 및 CICS 툴의 포트폴리오를 의미합니다.

메인프레임이 아닌 분산 플랫폼 상의 CICS는 IBM TX Series라고 불립니다.TX Series는 분산 트랜잭션 처리 미들웨어입니다.클라우드 환경과 기존 데이터 센터에서 C, C++, COBOL, Java™ 및 PL/I 애플리케이션을 지원합니다.TX Series는 AIX,[11] Linux x86, Windows, Solaris 및 HP-UX 플랫폼에서 사용할 수 있습니다.CICS는 IBM iOS/2 등 다른 운영 체제에서도 사용할 수 있습니다.z/OS 구현(즉, CICS Transaction Server for z/OS)이 단연 가장 인기 있고 중요합니다.

이전에는 두 가지 버전의 CICS를 VM/CMS에서 사용할 수 있었지만 이후 두 가지 CICS는 모두 단종되었습니다.1986년 IBM은 개발용으로 설계된 CICS의 단일 사용자 버전인 CICS/[12][9]CMS를 출시했으며, 나중에 애플리케이션을 MVS 또는 DOS/VS 시스템으로 전송하여 프로덕션 실행을 [13][14]수행했습니다.이후 1988년 IBM은 CICS/VM[15][16]출시했습니다. CICS/VM은 부서별 사용을 목표로 하는 로우엔드 메인프레임인 IBM 9370에서 사용하도록 고안되었습니다. IBM은 [17]MVS용 CICS를 실행하는 중앙 메인프레임과 함께 사용할 수 있도록 부서 또는 지사 메인프레임에서 실행되는 CICS/VM을 배치했습니다.

CICS 도구

CICS 시스템과 애플리케이션의 프로비저닝, 관리 및 분석은 CICS 툴을 통해 제공됩니다.여기에는 퍼포먼스 관리, CICS 자원의 도입 및 관리가 포함됩니다.2015년에는 CICS Transaction Server for z/OS 5.3의 출시와 함께 4개의 핵심 CICS 도구(및 CICS Optimization Solution Pack for z/OS)가 업데이트되었습니다.4개의 핵심 CICS 툴: CICS Interdependency Analyzer for z/OS, CICS Deployment Assistant for z/OS, CICS Performance Analyzer for z/OS 및 CICS Configuration Manager.

출시 및 버전

CICS Transaction Server for z/OS는 다음 릴리스 번호를 사용했습니다.

버전 발표일 발매일 서비스 종료일 특징들
이전 버전, 유지 보수 불필요: CICS Transaction Server for OS/390 1.1 1996-09-10[18] 1996-11-08 2001-12-31
이전 버전, 유지 보수 불필요: CICS Transaction Server for OS/390 1.2 1997-09-09[19] 1997-10-24 2002-12-31
이전 버전, 유지 보수 불필요: CICS Transaction Server for OS/390 1.3 1998-09-08[20] 1999-03-26 2006-04-30
이전 버전, 더 이상 유지 보수하지 않음: CICS Transaction Server for z/OS 2.1 2001-03-13[21] 2001-03-30 2002-06-30
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 2.2 2001-12-04[22] 2002-01-25 2008-04-30
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 2.3 2003-10-28[23] 2003-12-19 2009-09-30
이전 버전, 더 이상 유지 보수하지 않음: CICS Transaction Server for z/OS 3.1 2004-11-30[24] 2005-03-25 2015-12-31
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 3.2 2007-03-27[25] 2007-06-29 2015-12-31
이전 버전, 더 이상 유지 보수하지 않음: CICS Transaction Server for z/OS 4.1 2009년[26] 4월 28일 2009-06-26 2017-09-30
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 4.2 2011-04-05[27] 2011-06-24 2018-09-30
이전 버전, 더 이상 유지 보수하지 않음: CICS Transaction Server for z/OS 5.1 2012년[28] 10월 3일 2012-12-14 2019-07-01
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 5.2 2014-04-07[29] 2014-06-13 2020-12-31
이전 버전, 유지 보수 불필요: CICS Transaction Server for z/OS 5.3 2015-10-05[30] 2015-12-11 2021-12-31
이전 버전이지만 유지 보수: CICS Transaction Server for z/OS 5.4 2017년[31] 5월 16일 2017-06-16 2023-12-31
이전 버전이지만 유지 보수: CICS Transaction Server for z/OS 5.5 2018-10-02[32] 2018-12-14
이전 버전이지만 유지 보수: CICS Transaction Server for z/OS 5.6 2020-04-07[33] 2020-06-12 스프링 부트, 자카르타 EE 8, Node.js 12 지원원격 개발 기능을 갖춘 새로운 JCICSX API.보안, 내장해성 및 관리 기능 강화.
현재 안정적인 버전: z/OS 6.1용 CICS 트랜잭션 서버 2022-04-05[34] 2022-06-17 Java 11, 자카르타 EE 9.1, Eclipse MicroProfile 5, Node.js 12, TLS 1.3. 보안 강화 및 단순화 지원지역 태그 지정
범례:
구버전
이전 버전, 아직 유지 관리됨
최신 버전
최신 프리뷰 버전
향후 출시

프로그래밍

프로그래밍에 관한 고려 사항

다중 사용자 인터랙티브 트랜잭션 애플리케이션 프로그램은 여러 개의 동시 트랜잭션 스레드를 지원하기 위해 준재현적이어야 했습니다.1개의 애플리케이션에서 소프트웨어 코딩 오류가 발생하면 모든 사용자가 시스템에서 차단될 수 있습니다.CICS 재진입/재이용 제어 프로그램의 모듈러 설계를 통해 32K의 고가의 자기 코어 물리 메모리(운영체제 포함)를 탑재한 컴퓨터 상에서 여러 애플리케이션을 사용하여 여러 사용자를 실행할 수 있었습니다.

CICS 애플리케이션 프로그래머는 트랜잭션을 최대한 효율적으로 수행하기 위해 상당한 노력이 필요했습니다.일반적인 기술은 개별 프로그램의 크기를 4,096바이트(4,000바이트) 이하로 제한하는 것이었습니다.이렇게 하면 CICS는 현재 다른 프로그램이나 다른 애플리케이션 스토리지 요구를 위해 사용하지 않는 프로그램이 점유한 메모리를 쉽게 재사용할 수 있습니다.1972년에 OS/360 버전에 가상 메모리가 추가되었을 때, 4K 전략은 비생산적인 리소스 경합 오버헤드를 페이징 및 스레싱하는 것을 줄이는 데 더욱 중요해졌다.

컴파일된 고급 COBOL 및 PL/I 언어 프로그램의 효율성은 아쉬운 점이 많았다.COBOL 및 PL/I 지원이 가능해진 후에도 많은 CICS 애플리케이션 프로그램은 어셈블러 언어로 계속 작성되었습니다.

1960년대와 1970년대의 하드웨어 리소스는 비싸고 부족하기 때문에 시스템 최적화 분석가들 사이에서 경쟁적인 "게임"이 개발되었습니다.중요한 경로 코드가 식별되면 코드 스니펫이 분석가 간에 전달되었습니다.각자는 (a) 필요한 코드 바이트 수를 줄이거나 (b) 필요한 CPU 사이클 수를 줄여야 했습니다.젊은 분석가들은 경험이 많은 멘토들이 무엇을 했는지에서 배웠다.결국 아무도 (a) 또는 (b)를 할 수 없을 때 코드는 최적화된 것으로 간주되어 다른 스니펫으로 넘어갔다.분석가가 한 명뿐인 소규모 상점에서는 CICS 최적화를 매우 느리게(또는 전혀 그렇지 않음) 배웠습니다.

애플리케이션 프로그램은 다수의 동시 스레드에 의해 공유될 수 있기 때문에 프로그램 내에 내장된 정적 변수 사용(또는 운영체제 메모리의 사용)이 제한되었습니다(규약에 따라).

불행하게도, 많은 "규칙"들은 자주 깨졌고, 특히 그들의 프로그램의 내부를 이해하지 못하거나 필요한 제한적인 컴파일 시간 옵션을 사용하지 못하는 코볼 프로그래머들에 의해 깨졌다.이로 인해 신뢰할 수 없는 "비재엔트리" 코드가 발생하여 스토리지 위반 및 CICS 시스템 전체의 크래시가 발생하였습니다.

원래 파티션 전체, 즉 다중 가상 스토리지(MVS) 영역은 CICS 커널 코드를 포함한 동일한 메모리 보호 키로 동작했습니다.프로그램 파손과 CICS 컨트롤 블록 파손은 시스템 다운타임의 원인이 되었습니다.1개의 애플리케이션 프로그램에서 소프트웨어 오류가 발생하면 현재 실행 중인1개 또는 모든 애플리케이션트랜잭션의 메모리(코드 또는 데이터)를 덮어쓸 수 있습니다.복잡한 일시적 타이밍 오류에 대해 문제를 일으키는 애플리케이션 코드를 찾는 것은 매우 어려운 운영 체제 분석가 문제일 수 있습니다.

이러한 단점은 심각성과 최고 수준의 CICS 기술이 높은 수요와 부족하다는 사실에도 불구하고 CICS의 여러 새로운 릴리스에서 20년 이상 지속되었습니다.TS V3.3, V4.1 및 V5.2에서는 각각 스토리지 보호, 트랜잭션 격리 및 서브스페이스 기능을 사용하여 애플리케이션 코드와 데이터를 동일한 주소 공간 내에서 보호합니다.CICS 애플리케이션 트랜잭션은 많은 공공 기업, 대형 은행 및 기타 수십억 달러 규모의 금융 기관에게 미션 크리티컬한 상태로 남아 있습니다.

또한 테스트 및 디버깅 기능을 제공하는 모니터링 프로그램의 제어 하에 테스트를 수행함으로써 고급 애플리케이션 보호 수단을 제공할 수 있습니다.

매크로 레벨 프로그래밍

CICS가 처음 출시되었을 때는 IBM 360 Assembler로 작성된 애플리케이션 트랜잭션 프로그램만 지원했습니다.COBOLPL/I 지원은 수년 후에 추가되었습니다.초기 어셈블러 오리엔테이션 때문에 CICS 서비스에 대한 요구는 어셈블러 언어 매크로를 사용하여 이루어졌습니다.예를 들어, 파일에서 레코드를 읽기 위한 요구는 CICS의 "파일 제어 프로그램"에 대한 매크로 호출에 의해 다음과 같이 나타납니다.

DFHFC TYPE=READ,DATASET=myfile,TYPEPER=UPDATE 등 

이것은 후에 "매크로 레벨 CICS"라는 용어를 만들었다.

고급 언어 지원이 추가되면 매크로가 유지되고 코드가 프리 컴파일러에 의해 변환되어 매크로가 COBOL 또는 PL/I CALL 문과 동등한 것으로 확장되었습니다.따라서 HLL 애플리케이션을 준비하는 것은 사실상 "2단계" 컴파일로서 HLL 컴파일러에 입력으로 공급되는 프리프로세서로부터의 출력입니다.

COBOL 고려사항: PL/I와 달리 IBM COBOL은 일반적으로 포인터(주소)의 조작을 제공하지 않습니다.COBOL 프로그래머가 CICS 제어 블록과 동적 스토리지에 액세스할 수 있도록 하기 위해 설계자는 기본적으로 해킹에 의존했습니다.COBOL 링크 섹션은 일반적으로 파라미터 전달과 같은 프로그램 간 통신에 사용되었습니다.컴파일러는 호출된 프로그램의 엔트리에 설정된 BLL(Base Locator for Linking)이라고 불리는 주소 목록을 생성합니다.첫 번째 BLL은 링크 섹션의 첫 번째 항목에 해당합니다.CICS를 통해 프로그래머는 목록에 있는 주소를 프로그램에 첫 번째 인수로 전달함으로써 이러한 항목에 액세스하고 조작할 수 있습니다.다음으로 BLL은 CICS 또는 응용 프로그램에 의해 동적으로 설정되며 Linking [35]섹션의 대응하는 구조에 액세스할 수 있습니다.

명령어 레벨 프로그래밍

1980년대에 IBM Hursley Park는 "Command-level CICS"라고 알려진 것을 지원하는 CICS 버전을 생산했습니다. 이 CICS는 여전히 오래된 프로그램을 지원하지만 애플리케이션 프로그램에 새로운 API 스타일을 도입했습니다.

일반적인 명령어 수준의 콜은 다음과 같습니다.

 EXEC CICS      보내세요 맵셋('LOSMATT') ('LOSATT')  엔드 Exec 

SEND MAPSET 명령어로 지정된 값은 MAPSET 인수로 지정된 맵 정의의 첫 번째 DFHMSD 매크로에서 사용되는 이름과 MAP 인수로 지정된 DFHMSI 매크로에 대응합니다.이것은 프리 컴파일 배치 변환 스테이지에 의해 사전 처리됩니다.이 스테이지에서는 Embedded Command(EXEC; 임베디드명령어)를 stub 서브루틴에 대한 콜문으로 변환합니다.따라서 나중에 실행할 애플리케이션 프로그램을 준비하는 데는 두 단계가 필요했습니다.매크로 레벨 문과 명령 레벨 문을 모두 사용하여 "혼합 모드" 애플리케이션을 작성할 수 있었습니다.

처음에 명령어 레벨의 명령어는 실행 시 변환기 「EXEC 인터페이스 프로그램」을 사용해 낡은 매크로 레벨의 콜로 변환되어 그 후 거의 변경되지 않은 CICS 핵 프로그램에 의해 실행됩니다.그러나 CICS 커널이 TS V3용으로 다시 작성되었을 때 많은 기본 인터페이스가 변경되었기 때문에 EXEC CICS가 CICS 응용 프로그램을 프로그래밍하는 유일한 방법이 되었습니다.

런타임 변환

1990년대 초에 도입된 명령어레벨만의 CICS는 이전 버전의 CICS에 비해 몇 가지 이점을 제공합니다.그러나 IBM은 이전 버전을 위해 작성된 매크로 레벨 애플리케이션 프로그램에 대한 지원도 중단했습니다.즉, 명령어 수준의 EXEC 명령어만을 사용하기 위해 많은 응용 프로그램을 변환하거나 완전히 다시 작성해야 했습니다.

이 시기까지, 많은 경우 수십 년 동안 생산되어 온 수백만 개의 프로그램이 전 세계적으로 존재했을 것입니다.새로운 기능을 추가하지 않고 새로 작성하면 새로운 버그가 발생하는 경우가 많았습니다.CICS V2 Application-Owning Regions(AOR; 애플리케이션 소유 지역)를 실행하여 V3로 변경된 후에도 수년간 매크로 코드를 계속 실행한 사용자가 상당히 많았습니다.

APT International의 Command CICS[36]같은 변환 소프트웨어를 사용하여 오래된 매크로 수준의 프로그램을 실행할 수도 있었다.

새로운 프로그래밍 스타일

최근의 CICS Transaction Server 확장 기능에는 다양한 최신 프로그래밍 스타일이 지원됩니다.

CICS Transaction Server 버전 5.6에서는[37] Java 개발자에게 클라우드 네이티브 익스피리언스를 제공하기 위해 Java에 대한 지원이 강화되었습니다.예를 들어 새로운 CICS Java API(JCICSX)를 사용하면 머킹 및 스터빙 방식을 사용하여 유닛 테스트를 쉽게 수행할 수 있으며 개발자의 로컬 워크스테이션에서 원격으로 실행할 수 있습니다.개발자는 Maven Central의 CICS 아티팩트를 사용하여 Apache MavenGradle 등의 일반적인 의존관계 관리 툴을 사용하여 Java 의존관계를 해결할 수 있습니다.또한 Eclipse, IntelliJ IDEA, Visual Studio Code 등의 익숙한 IDE를 사용하여 CICS 번들의 자동 구축을 단순화하기 위해 Maven(cics-bundle-maven) 및 Gradle(cics-bundle-gradle)용 플러그인도 제공됩니다.또한 버전 12에서는 Node.js z/OS 지원이 강화되어 보다 빠른 부팅, 보다 나은 기본 힙 제한, V8 JavaScript 엔진 업데이트 등을 제공합니다.자카르타 EE 8에 대한 지원도 포함되어 있습니다.

CICS TS 5.5는 IBM Z용 고성능 확장성이 뛰어난 네트워크 애플리케이션을 효율적으로 구축하기 위한 완전한 JavaScript 런타임, 서버 측 API 및 라이브러리를 제공하는 IBM SDK for Node.js 지원을 도입했습니다.

CICS Transaction Server 버전 2.1에서는 Java 지원이 도입되었습니다.CICS Transaction Server 버전 2.2는 Software Developers ToolkitCICS는 IBM의 WebSphere 제품군과 동일한 런타임 컨테이너를 제공하므로 Java EE 애플리케이션은 CICS와 Websphere 간에 이동 가능하며 Java EE 애플리케이션의 개발 및 배포를 위한 공통 툴이 있습니다.

또, CICS는, 기존의 애플리케이션 프로그램을 최신의 인터페이스내에 「포장」하는 것에 중점을 두어, 종래의 비즈니스 기능을 보다 최신의 서비스에 짜넣을 수 있도록 했습니다.여기에는 레거시 코드를 랩하는 WSDL, SOAP 및 JSON 인터페이스가 포함됩니다.이것에 의해, Web 또는 모바일애플리케이션은, 백엔드 기능의 큰 개서를 필요로 하지 않고, 코어 비즈니스 오브젝트를 취득해 갱신할 수 있습니다.

트랜잭션

CICS 트랜잭션은 작업을 함께 수행하는 일련의 작업입니다.일반적으로 대부분의 거래는 재고목록을 요청하거나 계좌에 차변이나 대변을 입력하는 것과 같은 비교적 단순한 작업이다.트랜잭션의 주요 특징은 원자성이어야 한다는 것입니다.IBM Z 서버에서 CICS는 초당 수천 건의 트랜잭션을 쉽게 지원하므로 엔터프라이즈 컴퓨팅의 주축이 됩니다.

CICS 어플리케이션은 트랜잭션으로 구성됩니다.트랜잭션은 COBOL, PL/I, C, C++, IBM Basic Assembly Language, Rexx 및 Java 등 다양한 프로그래밍 언어로 작성 가능합니다.

각 CICS 프로그램은 트랜잭션 식별자를 사용하여 시작됩니다.CICS 화면은 보통 맵(Basic Mapping Support(BMS) 어셈블러 매크로 또는 서드파티 도구로 작성된 모듈)이라고 불리는 구성으로 전송됩니다.CICS 화면에는 사용하는 단말기의 종류에 따라 강조 표시된 텍스트, 다른 색상의 텍스트 또는 깜박임이 표시될 수 있습니다.다음은 COBOL을 통해 맵을 전송하는 방법의 예입니다.최종 사용자는 CICS에서 지도를 받아 프로그램에 액세스할 수 있는 데이터를 입력합니다.

 EXEC CICS      받다 맵셋('LOSMATT') ('LOSATT') 안으로(델의 지도)  엔드 Exec. 

기술적인 이유로 참조되는 항목에 따라 일부 명령어 파라미터에 대한 인수는 따옴표로 묶어야 하며 일부는 따옴표로 묶으면 안 됩니다.대부분의 프로그래머는 인용된 인수의 "행" 또는 개념을 얻을 때까지 참조서를 코드화하거나 보통 복사하여 붙여넣기만 하는 예제 코드가 있는 "캔 템플릿"을 사용하여 값을 변경합니다.

BMS 맵 코드의 예

Basic Mapping Support는 다음과 같은 어셈블러 매크로를 통해 화면 형식을 정의합니다.이것은 물리 세트(CICS 로드 라이브러리의 로드 모듈)와 소스 [38]프로그램에 복사된 PL/I, COBOL, 어셈블러 등의 구조 정의 또는 DSECT를 생성하기 위해 조립되었습니다.

 동작하지 않다 DFHMSD 유형=,                                               X                 모드=입력,                                             X                 TIOAPFX=네.,                                            X                 용어=3270-2,                                            X                 언어=코볼,                                             X                 맵와트=(색.,라이트),                                X                 DSAT=(색.,라이트),                                 X                 보관소=AUTO,                                           X                 CTRL=(빈 용량,프리즈)  *  로사트  DFHMDI 크기=(24,80),                                           X                 =1,                                                 X                 기둥.=1  *  LSTDII DFHMDF POS=(1,01),                                             X                 길이=04,                                              X                 색.=파랑색,                                             X                 초기의='MQCM',                                         X                 속성=프로텍트  *          DFHMDF POS=(24,01),                                            X                 길이=79,                                              X                 색.=파랑색                                              X                 속성=ASKIP,                                            X                 초기의='PF7- 8- 9- 10- X'                     11-            12-취소'  *            DFHMSD   유형=최종            끝. 

구조.

z/OS 환경에서 CICS 설치는 하나 이상의 z/OS 시스템 이미지에 분산된 하나 이상의 "지역"(일반적으로 "CICS 영역")[39]으로 구성됩니다.인터랙티브한 트랜잭션을 처리하지만 각 CICS 영역은 보통 표준 JCL 문을 사용하여 배치 처리 배치 주소 공간으로 시작됩니다.이는 셧다운될 때까지 무기한 실행되는 작업입니다.또는 각 CICS 영역을 시작 태스크로 시작할 수도 있습니다.배치 작업이든 시작 태스크든 CICS 영역은 유지보수(MVS 또는 CICS)를 위해 셧다운될 때까지 며칠, 몇 주 또는 몇 개월 동안 실행될 수 있습니다.재시작 시 파라미터는 시작 시 "Cold"(복구 없음) 또는 "Warm"(웜)/"Emergency"(크래시 후 로그에서 재시작 사용 또는 웜 셧다운 사용) 중 어느 것으로 할지를 결정합니다.리소스가 많은 대규모 CICS 영역의 콜드 스타트에는 모든 정의가 재처리되기 때문에 시간이 오래 걸릴 수 있습니다.

설치는 다음과 같은 다양한 이유로 여러 주소 공간으로 분할됩니다.

  • 응용 프로그램 분리,
  • 기능 분리,
  • z/OS SysPlex의 경우 단일 지역, 주소 공간 또는 메인프레임 인스턴스의 워크로드 용량 제한을 피할 수 있습니다.

표준 설치는 서비스를 구성하는 여러 개별 응용 프로그램으로 구성됩니다.각 서비스에는 보통 트랜잭션을 여러 개의 "Application-Owning Region"(AOR; 응용 프로그램 소유 지역)으로 라우팅하는 여러 개의 "Terminal-Owning Region"(TOR; 터미널 소유 지역)이 있지만 다른 토폴로지도 가능합니다.예를 들어 AOR가 파일 I/O를 수행하지 않을 수 있습니다.대신 AOR 트랜잭션 대신 파일 I/O를 실행하는 파일 소유 영역(FOR)이 있습니다.이 경우 VSAM 파일은 한 번에 하나의 주소 공간에서만 복구 가능한 쓰기 액세스를 지원할 수 있습니다.

단, 모든 CICS 애플리케이션이 VSAM을 프라이머리 데이터 소스(또는 CA Datacom 등의 시간 데이터 저장소의 다른 단일 주소 공간)로 사용하는 것은 아닙니다.많은 애플리케이션이 IMS/DB 또는 DB2를 데이터베이스로 사용하거나 MQ를 큐 매니저로 사용합니다.이러한 모든 경우에 대해 TOR은 AOR 집합에 대한 트랜잭션 로드 밸런싱을 수행할 수 있으며, AOR은 공유 데이터베이스/큐를 직접 사용합니다.CICS는 데이터스토어 간의 XA 2상 커밋을 지원하므로 예를 들어 MQ, VSAM/RLS 및 Db2에 걸친 트랜잭션은 ACID 속성을 사용하여 가능합니다.

CICS는 동일한 클러스터 또는 다른 클러스터 상에서 실행할 수 있는 주소 공간 간에 SNA LU6.2 프로토콜을 사용한 분산 트랜잭션을 지원합니다.따라서 분산된 애플리케이션을 연계하여 여러 데이터스토어의 ACID를 업데이트할 수 있습니다.실제로 시스템 또는 통신 장애가 발생하면 통신 노드 중 하나가 복구되지 않은 경우 트랜잭션 처리(백아웃 또는 커밋)가 의심스러울 수 있기 때문에 문제가 발생합니다.따라서 이러한 설비의 사용은 지금까지 널리 보급된 적이 없습니다.

Sysplex 부정 이용

1990년대 초 CICS ESA V3.2 당시 IBM은 CICS가 새로운 zOS Sysplex 메인프레임 라인을 이용하도록 하는 방법에 대한 과제에 직면했습니다.

Sysplex는 기존 ECL(Emitter Coupled Logic) 하드웨어가 아닌 CMOS(Complementary Metal Oxide Silicon) 기반이었습니다.메인프레임 고유의 ECL을 확장하는 데 드는 비용은 각 세대의 CPU 단가를 줄이기 위해 소니 플레이스테이션과 같은 대용량 사용 사례를 가진 Keiretsu가 개발하던 CMOS보다 훨씬 높았다.또한 ECL은 게이트 드레인 전류가 너무 많은 열을 발생시키기 때문에 사용자가 실행하기에 비용이 많이 들었습니다. CPU는 불활성 가스 피스톤을 갖추고 냉각하기 위해 대량의 냉각수를 배관해야 하는 열전도 모듈(TCM)[40]이라고 불리는 특수 모듈에 패키지되어야 했습니다.그러나 공랭 CMOS 기술의 CPU 속도는 처음에는 ECL보다 훨씬 느렸습니다(특히 메인프레임 클론 제조업체Amdahl과 Hitachi가 제공하는 박스).이는 CICS의 맥락에서 IBM에게 특히 중요했습니다. 거의 모든 대형 메인프레임 고객이 CICS를 실행하고 있으며, 이들 중 많은 고객에게 주요 메인프레임 워크로드였기 때문입니다.

Sysplex에서 동일한 트랜잭션 스루풋을 얻으려면 여러 개의 박스를 각 워크로드에 대해 병렬로 사용해야 합니다.그러나 CICS 주소 공간은 준리텐트 애플리케이션 프로그래밍 모델이기 때문에 MVS 서브태스크를 사용하더라도 한 박스에서 동시에 약 1.5개 이상의 프로세서를 이용할 수 없습니다.이 기능이 없으면 CICS 워크로드를 확장할 때 Sysplex가 아닌 경쟁사로 이동하는 경향이 있습니다.올바른 접근 방식이 애플리케이션의 상위 호환성을 깨고 완전히 재진입된 IMS/DC와 같은 모델로 전환하는 것인지, 아니면 고객이 채택한 접근 방식을 확장하여 다중 지역 운영(MRO)을 사용하여 단일 메인프레임의 성능을 더욱 완벽하게 활용하는 것인지에 대해 IBM 내부에서는 상당한 논란이 있었습니다.

결국 두 번째 경로는 CICS 사용자 커뮤니티에 문의하여 Y2K가 경쟁할 가능성이 있고 주로 COBOL, PL/1 또는 어셈블러 코드의 수백만 줄을 재작성 및 테스트하는 데 있어 가치를 느끼지 못했기 때문에 상향 호환성을 깨는 것에 강력히 반대하여 채택되었습니다.

Sysplex 상의 CICS에 대해 IBM이 권장하는 구조는 Sysplex 전체에 분산되어 있는 다수의 Application Owning Region(AOR; 애플리케이션 소유 영역)에 트랜잭션을 디스패치하는 각 Sysplex 노드에 적어도1개의 CICS 터미널 소유 영역을 배치하는 것이었습니다.이러한 애플리케이션이 공유 리소스에 액세스해야 하는 경우 Sysplex 활용 데이터스토어(IBM DB2 또는 IMS/DB 등)를 사용하거나 함수 전달을 통해 리소스를 단일 리소스별 ROR(Resource Ubing Regions)로 집중 요청(VSAM 및 CICS용 파일 소유 영역, 데이터 테이블 포함)했습니다.MQ, CICS Transient Data(TD; 과도 데이터) 및 CICS Temporary Storage(TS; 임시 스토리지)입니다.이것에 의해, 레거시 애플리케이션의 호환성이 유지되어 많은 CICS 리젼의 설정과 관리가 복잡해졌습니다.

이후 출시 및 버전에서 CICS는 VSAM/RLS,[41] MQ for[42] zOS의 새로운 Sysplex 활용 기능을 이용할 수 있었고 자체 데이터 테이블, TD 및 TS 리소스를 Sysplex -> Coupling Facility 또는 CF용으로 설계된 공유 리소스 매니저에 배치하여 대부분의 ROR에 대한 필요성을 배제했습니다.CF는 공유 타임베이스, 버퍼 풀, 잠금 및 카운터를 포함한 자원의 매핑 뷰를 제공합니다.하드웨어 메시징 지원으로 Sysplex 전체에서 리소스를 공유함으로써 폴링보다 효율이 높고 신뢰성도 높아집니다(장애 발생 시 반동기 백업 CF를 사용합니다).

이때까지 CMOS 라인은 CPU당 프로세서 수가 많은 가장 빠른 ECL 박스에서 사용할 수 있는 전력을 초과하는 개별 박스를 가지고 있었습니다.이러한 박스를 조합하면 32개 이상의 노드를 1개의 워크로드에 대해 총 전력으로 2배 이상 확장할 수 있게 됩니다.예를 들어, 2002년까지 Charles Schwab은 피닉스의 2개소에서 메인프레임 Sysplex의 용장 쌍으로 구성된 "MetroPlex"를 실행하고 있었습니다.각각 AZ에는 하나의 공유 CICS/DB/2 워크로드에 의해 구동되는 32개의 노드가 있어 방대한 양의 닷컴 버블 전 웹 클라이언트 문의 요청을 지원하고 있습니다.

이와 같이 저렴하고 확장성이 뛰어난 CMOS 기술 기반과 64비트 주소 지정 및 독립적으로 복제된 CF 기능을 생산해야 하는 막대한 투자 비용 때문에 IBM 메인프레임 클론 제조업체들은 하나 [43][44]둘씩 사업을 중단했습니다.

CICS 회복/재시작

CICS에서의 복구/재시작의 목적은 장애 발생 시 온라인 시스템에 가해지는 손상을 최소화하고 가능하면 제거하는 것입니다.이것에 의해,[45] 시스템과 데이터의 정합성이 유지됩니다.CICS 영역이 장애가 아닌 셧다운된 경우 셧다운 시 기록된 체크포인트를 이용하여 "웜"을 시작합니다.CICS 영역에서는 모든 정의를 새로고침하고 로그를 삭제하여 리소스가 어떤 상태에 있든 관계없이 강제로 "Cold" 시작하도록 할 수도 있습니다.

CICS 아래에 복구 가능하다고 생각되는 자원의 일부를 다음에 나타냅니다.이러한 자원을 회복할 수 있도록 하려면 관련 CICS 정의에서 특별한 옵션을 지정해야 합니다.

  • VSAM 파일
  • CMT CICS 유지보수 데이터 테이블
  • 파티션 내 TDQ
  • 보조 스토리지의 임시 저장소 대기열
  • VTAM 네트워크 트랜잭션 간의 I/O 메시지
  • XA 2상 커밋 프로토콜을 지원하는 CICS에 연결된 기타 데이터베이스/큐잉 리소스(IMS/DB, Db2, VSAM/RLS 등)

CICS는 CICS 시스템에서 사용자가 자체 복구/재시작 기능을 확립할 수 있는 광범위한 복구/재시작 기능도 제공합니다.일반적으로 사용되는 복구/재시작 기능은 다음과 같습니다.

  • 동적 트랜잭션 백아웃(DTB)
  • 자동 트랜잭션 재시작
  • 시스템 로그를 사용한 리소스 복구
  • 저널을 사용한 자원 복구
  • 시스템 재부팅
  • 확장 복구 기능

구성 요소들

각 CICS 영역은 모든 트랜잭션이 실행되는 하나의 주요 태스크로 구성됩니다.단, IBM DB2 데이터에 대한 액세스 등 특정 서비스는 기타 태스크(TCB)를 사용합니다.지역 내에서는 트랜잭션이 협조적으로 멀티태스킹됩니다.트랜잭션은 정상적으로 동작하며 CPU를 생성할 것으로 기대됩니다.CICS 서비스는 이 문제를 자동으로 처리합니다.

각각의 고유한 CICS "태스크" 또는 트랜잭션에는 시작 시 자체 동적 메모리가 할당되며 이후 추가 메모리에 대한 요구는 운영체제와 유사한 "스토리지 제어 프로그램"(CICS 또는 "커널"의 일부)에 대한 호출로 처리되었습니다.

CICS 시스템은 온라인 핵, 배치 지원 프로그램 및 애플리케이션 [46]서비스로 구성됩니다.

원래의 CICS 핵은 V3가 될 때까지 370개의 어셈블러로 작성된 다수의 기능 모듈로 구성되어 있었습니다.

  • 태스크 제어 프로그램(KCP)
  • 스토리지 제어 프로그램(SCP)
  • 프로그램 제어 프로그램(PCP)
  • 프로그램 인터럽트 제어 프로그램(PIP)
  • 인터벌 제어 프로그램(ICP)
  • 덤프 제어 프로그램(DCP)
  • 터미널 제어 프로그램(TCP)
  • 파일 제어 프로그램(FCP)
  • 과도 데이터 제어 프로그램(TDP)
  • 임시 스토리지 제어 프로그램(TSP)

V3에서 CICS 핵은 어셈블러로 컴파일된 IBM의 PL/AS 언어를 사용하여 커널 및 도메인 구조로 다시 작성되었습니다.

이전 구조에서는 우려사항의 분리를 강제하지 않았으며, 따라서 철저한 코드 분석을 수행하지 않으면 버그가 발생하는 프로그램 간 의존성이 많았다.새로운 구조는 충격 없이 쉽게 변경할 수 있기 때문에 모듈러형이고 복원력이 뛰어났습니다.첫 번째 도메인은 종종 이전 프로그램의 이름을 사용하여 구축되었지만 후행 "P"는 포함되지 않았습니다.예를 들어 DFHPC(Program Control Domain) 또는 DFHTD(Transient Data Domain) 등이 있습니다.커널은 도메인 간 요구에 대한 스위처로서 동작했습니다.처음에는 자주 호출되는 도메인(Trace 등)에 대해서는 비용이 많이 듭니다만, PL/AS 매크로를 이용함으로써, 이러한 콜은 다른 도메인 설계에 영향을 주지 않고 인라인 처리되었습니다.

이후 버전에서는 완전히 재설계된 도메인이 Logging Domain DFHLG 및 Transaction Domain DFHTM과 같이 추가되어 저널 제어 프로그램(JCP)이 대체되었습니다.

지원 프로그램

온라인 기능 외에 CICS에는 배치 [47]작업으로 실행되는 여러 지원 프로그램이 있습니다.: pp.34–35

  • 고급 언어(매크로) 프리프로세서
  • 명령어 번역기
  • 덤프 유틸리티– CICS 덤프 관리에 의해 생성된 포맷된 덤프를 인쇄합니다.
  • 트레이스 유틸리티– CICS 트레이스 출력 포맷 및 인쇄
  • 저널 포맷 유틸리티– 오류 발생 시 CICS 영역의 포맷된 덤프를 출력합니다.

응용 프로그램 서비스

CICS의 다음 컴포넌트는 응용 [47]: pp.35–37 프로그램 개발을 지원합니다.

  • Basic Mapping Support(BMS; 기본 매핑 지원)를 통해 디바이스에 의존하지 않는 단말기 입출력 제공
  • APPC 지원: LU6.1 및 LU6.2 API를 지원하여 2단계 커밋을 지원하는 분산 어플리케이션 협업 지원
  • DIP(Data Interchange Program)는 IBM 3770IBM 3790 프로그래밍 가능 장치를 지원합니다.
  • 2260 호환성을 통해 IBM 2260 디스플레이 장치용으로 작성된 프로그램을 3270 디스플레이에서 실행할 수 있습니다.
  • EXEC 인터페이스 프로그램:에 의해 생성된 콜을 변환하는 스터브프로그램EXEC CICS명령어, CICS 함수에 대한 콜
  • 내장 기능 – 테이블 검색, 음성 변환, 필드 검증, 필드 편집, 비트 체크, 입력 포맷, 가중치 검색

발음

나라마다 발음이[48] 다르다

  • IBM(특히 Tivoli)에서는 /kkksks/라고 합니다.
  • 미국에서는 보통 각 문자 /siɪaːaɪsiːs/를 발음합니다.
  • 호주, 벨기에, 캐나다, 홍콩, 영국 및 기타 일부 국가에서는 /k/ks/로 발음됩니다.
  • 덴마크에서는 킥이라고 발음합니다.
  • 핀란드에서는 [kiks]라고 발음한다.
  • 프랑스에서는 [se.i.se.s]라고 발음합니다.
  • 독일, 오스트리아 및 헝가리에서는 [tstsksks]로 발음되며, 드물게는 [kkksks]로 발음된다.
  • 그리스에서는 kiks라고 발음한다.
  • 인도에서는 발차기라고 발음합니다.
  • 이란에서는 발차기라고 발음한다.
  • 이스라엘에서는 C-I-C-S라고 발음한다.
  • 이탈리아에서는 'tʃiks'라고 발음한다.
  • 폴란드에서는 그것을 [kʲiks]라고 발음한다.
  • 포르투갈과 브라질에서는 그것을 [sisiks]라고 발음한다.
  • 러시아에서는 kiks라고 발음합니다.
  • 슬로베니아에서는 kiks라고 발음합니다.
  • 스페인에서는 그것을 [ˈθiks]라고 발음한다.
  • 스웨덴에서는 킥이라고 발음한다.
  • 이스라엘에서는 발차기라고 발음한다.
  • 우간다에서는 킥이라고 발음합니다.
  • 터키에서는 kiks라고 발음합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "IBM CICS Transaction Server for z/OS, V5.6 delivers significant improvements to the developer experience, security, resilience, and management". IBM. 7 April 2020. Retrieved 28 July 2021.
  2. ^ IBM Corporation. "CICS Transaction Server for z/OS Glossary:T". Archived from the original on 15 June 2021. Retrieved 2 February 2021.
  3. ^ Customer Information Control System (CICS) General Information Manual (PDF). White Plains, New York: IBM. December 1972. GH20-1028-3. Archived (PDF) from the original on 29 May 2019. Retrieved 1 April 2016.
  4. ^ King, Steve (1993). "The Use of Z in the Restructure of IBM CICS". In Hayes, Ian (ed.). Specification Case Studies (2nd ed.). New York: Prentice Hall. pp. 202–213. ISBN 978-0-13-832544-2.
  5. ^ Warner, Edward (23 February 1987). "IBM Gives PC Programs Direct Mainframe Access: PC Applications Can Alter Files". InfoWorld. 9 (8): 1. Archived from the original on 24 December 2016. Retrieved 1 April 2016.
  6. ^ "IBM CICS Transaction Server for z/OS, V5.2 takes service agility, operational efficiency, and cloud enablement to a new level". IBM. 7 April 2014. Archived from the original on 15 June 2021. Retrieved 14 April 2016. CICS DDM is no longer available from IBM and support was discontinued, as of December 31, 2003. CICS DDM is no longer available in CICS TS from Version 5.2 onwards.
  7. ^ "IBM z/VSE Central Functions Version 9.2 - z/VSE Version 5.2". IBM. 7 April 2014. Archived from the original on 24 March 2016. Retrieved 14 April 2016. Support for CICS Distributed Data Management (DDM) is stabilized in CICS TS for VSE/ESA V1.1.1. In a future release of CICS TS for z/VSE, IBM intends to discontinue support for CICS DDM.
  8. ^ "IBM CICS Transaction Server for z/VSE V2.1 delivers enhancements for future workloads". IBM. 5 October 2015. Archived from the original on 24 April 2016. Retrieved 14 April 2016. CICS Distributed Data Management (CICS/DDM) is not supported with CICS TS for z/VSE V2.1.
  9. ^ a b Paul E. Schindler, Jr. (27 October 1986). "Unicorn is Betting that CICS is easer and cheaper on a PC". InformationWeek. pp. 41–44.
  10. ^ "Unicorn MicroCICS/RT". Computerworld. 9 December 1985. p. 98. IBM Personal Computer XT/370 family
  11. ^ "IBM Get its CICS". Midrange Systems. 10 November 1992. p. 35.
  12. ^ "그냥...1985년 10월, 올해 7월까지 납품을 시작하지 않았습니다."
  13. ^ "CICS/CMS". IBM. Archived from the original on 2 April 2016. Retrieved 1 April 2016.
  14. ^ "CUSTOMER INFORMATION CONTROL SYSTEM/ CONVERSATIONAL MONITOR SYSTEM (CICS/CMS) RELEASE 1 ANNOUNCED AND PLANNED TO BE AVAILABLE JUNE 1986". IBM. 15 October 1985. Archived from the original on 2 April 2016. Retrieved 2 April 2016.
  15. ^ "(CICS/VM) Customer Information Control System / Virtual Machine". IBM. Archived from the original on 13 April 2016. Retrieved 1 April 2016.
  16. ^ "CUSTOMER INFORMATION CONTROL SYSTEM/VIRTUAL MACHINE (CICS/VM)". IBM. 20 October 1987. Archived from the original on 2 April 2016. Retrieved 2 April 2016.
  17. ^ Babcock, Charles (2 November 1987). "VM/SP update eases migration". Computerworld. Vol. 21, no. 44. IDG Enterprise. pp. 25, 31. ISSN 0010-4841. Archived from the original on 31 March 2017. Retrieved 30 March 2017.
  18. ^ "US - IBM CICS Transaction Server (CICS TS) for OS/390". www.ibm.com. 3 February 2004. Retrieved 7 May 2022.
  19. ^ "US - IBM CICS Transaction Server (CICS TS) for OS/390". www.ibm.com. 3 February 2004. Retrieved 7 May 2022.
  20. ^ "US - IBM CICS Transaction Server (CICS TS) for OS/390". www.ibm.com. 3 February 2004. Retrieved 7 May 2022.
  21. ^ "CICS TS for z/OS V2". www.ibm.com. 23 May 2001. Retrieved 13 May 2022.
  22. ^ "IBM CICS Transaction Server for z/OS V2.2 Delivers Major Value to All CICS Customers". www.ibm.com. 4 December 2001. Retrieved 7 May 2022.
  23. ^ "IBM CICS Transaction Server for z/OS V2.3 advances towards on demand business". www.ibm.com. 28 October 2003. Retrieved 7 May 2022.
  24. ^ "IBM CICS Transaction Server for z/OS V3.1 offers improved integration, application transformation,". www.ibm.com. 30 November 2004. Retrieved 7 May 2022.
  25. ^ "CICS Transaction Server for z/OS V3.2 delivers significant innovation for application connectivity,". www.ibm.com. 27 March 2007. Retrieved 7 May 2022.
  26. ^ "IBM US Announcement Letter". www.ibm.com. 28 April 2009. Retrieved 7 May 2022.
  27. ^ "IBM US Announcement Letter". www.ibm.com. 5 April 2011. Retrieved 7 May 2022.
  28. ^ "IBM CICS Transaction Server for z/OS V5.1 delivers operational efficiency and service agility with cloud enablement". www.ibm.com. 3 October 2012. Retrieved 7 May 2022.
  29. ^ "IBM CICS Transaction Server for z/OS, V5.2 takes service agility, operational efficiency, and cloud enablement to a new level". www.ibm.com. 7 April 2014. Retrieved 7 May 2022.
  30. ^ "IBM CICS Transaction Server for z/OS, V5.3 delivers advances in service agility, operational efficiency, and cloud enablement with DevOps". www.ibm.com. 5 October 2015. Retrieved 7 May 2022.
  31. ^ "IBM CICS Transaction Server for z/OS, V5.4 delivers unparalleled mixed language application serving". www.ibm.com. 16 May 2017. Retrieved 7 May 2022.
  32. ^ "IBM CICS Transaction Server for z/OS, V5.5 delivers support for Node.js and further enhancements to CICS Explorer, systems management, and security". www.ibm.com. 2 October 2018. Retrieved 7 May 2022.
  33. ^ "IBM CICS Transaction Server for z/OS, V5.6 delivers significant improvements to the developer experience, security, resilience, and management". www.ibm.com. 7 April 2020. Retrieved 6 May 2022.
  34. ^ "IBM CICS Transaction Server for z/OS, 6.1 delivers significant improvements in the areas of developer productivity, security, and management". www.ibm.com. 5 April 2022. Retrieved 6 May 2022.
  35. ^ IBM Corporation (1972). Customer Information Control System (CICS) Application Programmer's Reference Manual (PDF). Archived (PDF) from the original on 29 May 2019. Retrieved 4 January 2016.
  36. ^ "Command/CICS". IBM. Archived from the original on 15 June 2021. Retrieved 22 April 2018.
  37. ^ "Archived copy". Archived from the original on 10 July 2020. Retrieved 9 July 2020.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  38. ^ IBM Corporation. "Basic mapping support". CICS Information Center. Archived from the original on 3 January 2013.
  39. ^ IBM (13 September 2010). "CICS Transaction Server glossary". CICS Transaction Server for z/OS V3.2. IBM Information Center, Boulder, Colorado. Archived from the original on 1 September 2013. Retrieved 12 December 2010.
  40. ^ "IBM Archives: Thermal conduction module". www-03.ibm.com. 23 January 2003. Archived from the original on 20 July 2016. Retrieved 1 June 2018.
  41. ^ "IMS Context". IMS. Chichester, UK: John Wiley & Sons, Ltd. 2009. pp. 1–39. doi:10.1002/9780470750001.ch1. ISBN 9780470750001.
  42. ^ "IBM Knowledge Center MQ for zOS". www.ibm.com. Archived from the original on 7 August 2016. Retrieved 1 June 2018.
  43. ^ Vijayan, Jaikumar. "Amdahl gives up on mainframe business". Computerworld. Archived from the original on 3 November 2018. Retrieved 1 June 2018.
  44. ^ "Hitachi exits mainframe hardware but will collab with IBM on z Systems". Archived from the original on 13 June 2018. Retrieved 1 June 2018.
  45. ^ "IBM Knowledge Center". publib.boulder.ibm.com. Archived from the original on 15 June 2021. Retrieved 2 February 2021.
  46. ^ IBM Corporation (1975). Customer Information Control System (CICS) System Programmer's Reference Manual (PDF). Archived (PDF) from the original on 17 February 2011. Retrieved 21 November 2012.
  47. ^ a b IBM Corporation (1977). Customer Information Control System/Virtual Storage (CICS/VS) Version 1, Release 3 Introduction to Program Logic Manual (PDF). Archived from the original (PDF) on 17 February 2011. Retrieved 24 November 2012.
  48. ^ "CICS - An Introduction" (PDF). IBM Corporation. 8 July 2004. Retrieved 20 April 2014.

외부 링크