CICS (Customer Information Control System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:46, 18 июня 2016.

CICS (англ. Customer Information Control System - Информация о системе управления клиентами) представляет собой семейство смешанных серверов приложений языка, которые предоставляют онлайн-управления транзакциями и соединения для приложений на системах IBM Mainframe при z/OS и z/VSE.

CICS является ПО промежуточного слоя и предназначен для поддержки быстрого и большого объёма оперативной обработки транзакций. Транзакция CICS является единицей обработки данных, инициированных одним запросом, который может повлиять на один или несколько объектов. Эта обработка, как правило, интерактивный (экран-ориентированный), но фоновые операции возможны.

CICS предоставляет услуги, которые расширяют или заменяют функции операционной системы и являются более эффективными, чем обобщенные услуги в операционной системе и проще для программистов использовать, в частности, в отношении коммуникации с различными оконечными устройствами.

Приложения, разработанные для CICS могут быть написаны на различных языках программирования и использовать CICS поставляемые расширения языка для взаимодействия с ресурсами, такими как файлы, соединения с базой данных, терминалы, или для вызова функций, таких как веб-службы. CICS управляет всей транзакции такой, что если по какой-либо причине часть сделки не может все извлекаемые изменения могут быть сохранены вне.

В то время как CICS имеет высокий профиль среди финансовых учреждений, таких как банки и страховые компании, многие из списка Fortune 500 компаний, как сообщается запустить CICS наряду со многими государственными структурами. CICS также широко используется многими мелкими организациями. CICS используется в банк-кассовых приложений, систем ATM, системы контроля промышленного производства, страховых приложений, а также многих других типов интерактивных приложений.

Последние усовершенствования CICS Transaction Server включают поддержку Web-сервисов и Java, обработки событий, Atom-каналы, и RESTful интерфейсов. CICS Transaction Server 5.3, которые, как правило, стали доступны на 11 декабря 2015 года, предусматривает новые и усовершенствованные возможности в трех основных областях: Услуги по маневренности, Высокая оперативность и Облако с DevOps.

История

CICS предшествовала ранее однопоточной системы обработки транзакций, IBM MTCS. Позднее был разработан 'MTCS-CICS bridge', чтобы выполнять эти операции под CICS без изменения оригинальных прикладных программ.

CICS первоначально была разработана в Соединенных Штатах при Центре разработки IBM в Дес-Плейнсе, штат Иллинойс, начиная с 1966 года для удовлетворения требований от коммунального промышленности. Первый CICS-продукт был выпущен в 1968 году, система названа Public Utility Customer Information Control System (Информация о системе управления коммунальным клиентов) или PU-CICS. Ясно стало сразу, что она имела применимость к многим другим отраслям, поэтому приставка Public Utility была сброшена с введением первого выпуска продукта CICS программы 8 июля 1969 года.

В 1974 году CICS ответственность по развитии был перенесен на IBM Hursley Site в Соединенном Королевстве, где работа по развитию продолжается и сегодня наряду с лабораториями в Индии, Китае, России, Австралии и Соединенных Штатах.

Раннее развитие

CICS изначально поддерживается только несколькими IBM-брендами таких устройств, как терминал на основе 1965 IBM 2741 Selectric пишущей машинки. 3270 дисплей видеотерминалов 1964 IBM 2260 и 1972 IBM были широко использованы в дальнейшем.

В первые дни IBM mainframes компьютерная программа была бесплатно - в комплекте без дополнительной оплаты с компьютерной техникой. Операционная система OS/360 и поддержка прикладного программного обеспечения, как CICS, были "открыты" для клиентов IBM задолго до того, по инициативе программного обеспечения с открытым исходным кодом. Корпорации, как Standard Oil Индиана (Amoco) внесли большой вклад в CICS.

Команда IBM Des Plaines пытался добавить поддержку популярных терминалов не IBM, как ASCII Teletype Model 33 ASR, но небольшая малобюджетная команда разработчиков программного обеспечения не может позволить себе аппаратные 100 долларов за месяцем, чтобы проверить его. Руководители IBM неправильно посчитали, что будущее будет похоже на прошлое с пакетной обработки с использованием традиционных перфокарт.

IBM неохотно предоставляется только минимальное финансирование, когда коммунальные компании, банки и кредитно-карточные компании потребовали экономически эффективной интерактивной системы (по аналогии с 1965 IBM Airline Control Program, используемой системой компьютерных оговорок American Airlines Sabre) для высокоскоростной передачи данных доступа и обновления информации о клиентах для своих телефонных операторов.

Когда CICS была доставлена в Amoco с Телетайпный Model 33 поддержки ASR, это вызвало все OS/360 к падению операционной системы (в том числе и прикладных программ, не CICS). Большинство CICS Program Control Terminal (TCP - сердце CICS) и часть OS / 360 должна была быть кропотливо переработан и переписан Amoco Production Company в городе Талса штата Оклахома. Затем он был возвращен IBM для бесплатного распространения среди других.

В течение нескольких лет [когда?], CICS генерируется более $ 60 миллиардов в новом оборудовании доходов для IBM, и стал их наиболее успешный продукт программного обеспечения для мэйнфреймов.

В 1972 году CICS был доступен в трех версиях - DOS-запись (номер программы 5736-XX6) для DOS/360 машин с очень ограниченным объемом памяти, DOS-СТАНДАРТ (номер программы 5736-XX7), для DOS / 360 машин с большим объемом памяти, и OS-СТАНДАРТ V2 (номер программы 5734-XX7) для больших машин, которые бежали OS / 360. [2]

В начале 1970 года ряд оригинальных разработчиков, в том числе Бен Riggins (главного архитектора ранних выпусков) переехал в Калифорнию и продолжил развитие CICS в Центре развития Пало-Альто IBM. руководители IBM не признавала значение в программном обеспечении в качестве продукта для получения прибыли до тех пор, после того, как федеральное законодательство требует программного обеспечения разукрупнение. В 1980 году руководители IBM не прислушался сильные предложения Бен Риггинс ', что IBM должна обеспечить свою собственную EBCDIC на основе операционной системы и микропроцессорный чип интегральной схемы для использования в IBM Personal Computer в качестве интеллектуального терминала CICS (вместо несовместимой чипа Intel, и незрелые ASCII на основе Microsoft DOS 1980).

Из-за ограниченных возможностей даже больших процессоров той эпохи каждая установка CICS требовалось собрать исходный код для всех модулей системы CICS после завершения процесса, аналогичного поколения системы (Sysgen), называемый CICSGEN, чтобы установить значения для условной сборки язык заявления. Этот процесс позволил каждому клиенту, чтобы исключить поддержку самого CICS для любой функции они не намерены использовать, такие как поддержка устройств для разных типов терминалов, которые не используются.

CICS обязана своей ранней популярности его относительно эффективной реализации, когда оборудование было очень дорого, его многопоточная архитектура обработки, относительная простота разработки терминала на основе приложений реального времени транзакций и много вкладов клиентов с открытым исходным кодом, в том числе как отладки и функции повышение.

Z обозначение

Часть CICS была оформлена с использованием Z обозначения в 1980-х и 1990-х годах в сотрудничестве с вычислительной лабораторией Оксфордского университета под руководством Тони Хоара. Эта работа завоевала королевскую награду за технологические достижения.

СICS как распределенный файловый сервер

В 1986 году IBM объявила о поддержке CICS для файловых серверов записей, ориентированных на определенную распределенную архитектуру управления данными. Это позволило программам на удаленных, подключенных к сети компьютеров для создания, управления и доступа к файлам, которые ранее были доступны только в средах обработки транзакций CICS/MVS и CICS/VSE. В более новых версиях CICS, поддержка DDM была удалена. Поддержка DDM компонента CICS z/OS была прекращена в конце 2003 года, и была удалена из CICS для z/OS в версии 5.2 и выше. В CICS TS для z/VSE, поддержка DDM стабилизировалась на V1.1.1 уровень, с объявленной целью прекратить его в будущем выпуске в CICS для z/VSE 2.1, CICS/DDM не поддерживается.

Программирование

Соображения по программированию

Многопользовательских прикладные программы интерактивно-транзакций должны были быть квази-возвратного для того, чтобы поддерживать несколько параллельных потоков транзакций. Программное обеспечение кодирования ошибки в одном приложении может заблокировать всех пользователей из системы. Модульная конструкция CICS возвратных/многоразовые программы управления означает, что, с разумном "обрезку" несколько пользователей с несколькими приложениями могут быть выполнены на компьютере с только 32К дорогостоящего магнитного сердечника физической памяти (включая операционную систему).

Значительные усилия требуются программисты приложений CICS, чтобы сделать свои операции как можно более эффективным. Обычная техника должна была ограничить размер отдельных программ не более чем 4096 байт, или 4K, так что CICS легко может повторно использовать память, занятую любой программе не используется в настоящее время для другой программы или других потребностей хранения приложений. Когда виртуальная память была добавлена в версии OS/360 в 1972 году, стратегия 4K стала еще более важным, чтобы уменьшить подкачки и трешинг непродуктивных накладные расходы ресурсов раздора. Эффективность программ скомпилированного PL/I языка COBOL и высокого уровня оставляла желать лучшего. Многие CICS прикладные программы по-прежнему написаны на языке ассемблера, даже после того, как COBOL и PL/I поддержка стала доступной.

С 1960-ых и 1970-ых аппаратные ресурсы дорогостоящего и дефицитного, конкурентная "игра" разработана среди оптимизации системных аналитиков. Когда критический код путь был определен, фрагмент кода был принят вокруг от одного аналитика к другому. Каждый человек должен был либо (а) уменьшить количество байтов кода, требуемого, или (б) уменьшить количество циклов процессора, необходимых. Младшие аналитики узнали от того, что сделали более опытные наставники. В конце концов, когда никто не мог сделать (а) или (б), код был рассмотрен оптимизирован, и они перешли на другие фрагменты. Небольшие магазины только с одним аналитиком узнал оптимизацию CICS очень медленно (или не совсем).

Поскольку прикладные программы могут быть разделены многими параллельными потоками, использование статических переменных, встроенных в программу (или использование памяти операционной системы) была ограничена (по соглашению только).

К сожалению, многие из "правил", часто нарушались, особенно COBOL программистов, которые не могли бы понять внутренности своих программ или не в состоянии использовать необходимые ограничительные опции времени компиляции. Это привело к "не-ре-ентному" коду, который часто ненадежен, что приводит к ложным нарушениям памяти и целых отказов системы CICS.

Весь раздел, или Multiple Virtual Storage (MVS) область, работает с тем же ключом защиты памяти, включая код ядра CICS. Программа коррупции и CICS блок управления коррупции является частой причиной простой системы. Ошибка программного обеспечения в одной прикладной программе может переписать память (кода или данных) одного или всех запущенных транзакций приложения. Поиск кода приложения оскорбительный для сложных временных ошибок синхронизации может быть очень трудной задачей-операционной системы аналитик.

Эти серьезные недостатки сохраняются в течение нескольких новых версий CICS за период более 20 лет. CICS транзакции приложений зачастую критически важных для коммунальных предприятий, крупных банков и других многомиллиардных финансовых институтов. Высококачественные навыки CICS большим спросом и не хватает. Комплексная кривая обучения была неглубокой и долго. Безусловные разработчики начинающие может оказать существенное негативное влияние на деятельность компании. В конце концов, это стало возможным обеспечить определенную защиту предварительной заявки, выполняя все испытания под управлением программы мониторинга, которые также служили для обеспечения тестирования и отладки функций. Одним из таких программ предложение было известно как Оливеру, что не позволило прикладных программ развращает памяти с помощью набора команд моделирования кода приложения, обеспечивая частичную виртуализацию.

Структура

В среде z/OS, установка CICS включает в себя одну или несколько областей (которые обычно называют как "CICS области»), разбросанных по одной или более образов системы Z/OS. Хотя он обрабатывает интерактивные транзакции, каждая CICS область может быть запущен в качестве пакетной обработки|пакетного адресного пространства со стандартными заявлениями JCL: это работа, которая работает на неопределенный срок. В качестве альтернативы, каждая CICS область может быть запущен в качестве запущенной задачи. Независимо от пакетного задания или запущенной задачи, CICS регионы могут работать в течение нескольких дней, недель или даже месяцев перед выключением для технического обслуживания (MVS или CICS). Установки разделены на несколько адресных пространств для самых разнообразных причин, таких, как:

  • разделение приложений
  • функция разделения
  • обход ограничений по производительности рабочей нагрузки одного региона или адресного пространства.

Типичная установка состоит из ряда различных применений. Каждое приложение, как правило, имеет свой собственный "Терминал-Регион", владеющего (ТЗ) и один или более "Application-Владельцам регионов» (AORs), хотя и другие топологий возможны. Например, AORs не может выполнить файловый ввод / вывод. Вместо того, чтобы не было бы "File-Владельцам регионов» (ФОРС), выполнивший File I/O от имени сделок в AOR.

Восстановление/Перезапуск CICS

Цель восстановления/перезапуска CICS - минимизировать и по возможности устранить ущерб, нанесенный в онлайн систему при сбое, так что система и целостность данных сохраняется. Под CICS, ниже приведены некоторые ресурсы, которые считаются извлекаемыми. При желании эти ресурсы могут быть добыты, затем специальные параметры должны быть указаны в соответствующих таблицах CICS управления:

  • VSAM файлов
  • Временные хранилища очередей во вспомогательной памяти
  • Сообщения ввода/вывода от/к операциям в сети VTAM

CICS предлагает обширные услуги восстановления/перезапуска для пользователей, чтобы создавать свои собственные возможности восстановления/перезапуска в своей системе CICS. Обычно используется услуги восстановление/перезапуск, включая в себя:

  • Динамический Откат транзакции (ДТБ)
  • Автоматический Перезапуск Транзакции
  • Восстановление ресурсов, используя Системный журнал
  • Восстановление ресурсов, используя журнал
  • Перезагрузка Системы
  • Механизм Расширенного Восстановления

Компоненты

Каждый CICS области включает в себя одну из главных задач, на которой каждая транзакция выполняется, хотя некоторые услуги, такие как доступ к данным DB2, используют другие задачи (TCBs). В операции области совместно выполнять сразу несколько задач — они должны быть хорошо выдрессированы. Услуги CICS справляются с этим автоматически. Каждый уникальная CICS "задача" или транзакция выделяется собственной динамической памяти при запуске и последующие запросы на дополнительную память были обработаны с помощью вызова к "Программе Управления Хранением Данных" (часть CICS ядра или "ядра"), которая является аналогом операционной системы. Система CICS состоит из онлайн-ядер, пакетных программ поддержки и обслуживания приложения.

Ядро

ядро CICS состоит из ряда функциональных модулей:

  • Целевая программа управления
  • Программа хранения управления
  • Программа управления программа
  • Программа управления прерыванием
  • Программа интервального управления
  • Дамп программа управления
  • Программа Terminal Control
  • Файл программы управления
  • Переходный Программа управления данными
  • Программа временного хранения Control

Программы поддержки

В дополнение к онлайн-функциям CICS имеет несколько программ поддержки, которые работают в качестве пакетных заданий.

  • Язык Высокий уровень (макро) препроцессора.
  • Языка переводчик командной строки.
  • Дамп утилита - печатает отформатированные отвалы, порождаемые управления Dump CICS.
  • Утилита трассировки - форматов и печатает CICS трассирует вывод.
  • Журнал утилиты форматирования - печатает отформатированный дамп CICS области в случае возникновения ошибки.

Услуги области применения

Следующие компоненты разработки приложений CICS поддержка:

  • Базовая поддержка картографирования обеспечивает независимый от устройств ввода и вывода терминала.
  • Программа обмена данными обеспечивает поддержку IBM 3770 и IBM 3790 программируемых устройств.
  • 2260 Совместимость позволяет программам, написанные для IBM 2260 устройств отображения для запуска на 3270 дисплеев.
  • Программный интерфейс EXEC - программа заглушки, которая преобразует вызовы, генерируемые команды EXEC CICS на вызовы функций CICS.
  • Встроенные функции - поиск таблицы, фонетические преобразования, поле проверить, поле редактирования, бит проверки, ввод форматирования, взвешенного извлечения данных.

Источники

https://en.wikipedia.org/wiki/CICS