Каковы преимущества псевдо разговорного по сравнению с диалоговым программированием CICS? - PullRequest
9 голосов
/ 07 февраля 2012

Я пытаюсь понять разницу между псевдоговорящим и диалоговым программированием CICS. Каковы преимущества и недостатки каждого подхода?

Ответы [ 3 ]

9 голосов
/ 09 февраля 2012

Хороший ответ NealB, и вы должны прочитать

Описание IBM

Основным преимуществом псевдоговорящих программ является снижение использования ресурсов компьютера, и они не могут удерживать блокировки базы данных.

  --------------------------------------------------------------

Я попытаюсь выразить ответ в условиях, не относящихся к IBM-мэйнфреймам

В диалоговом программировании программа отправляет экран и ожидает ответа пользователя. Программа будет удерживать память, ресурсы базы данных и т. Д.

т.е.

   Send Screen and wait for a users response
   Evaluate user-response
   when PF2
      Do Something
   when PF3    
      Do Some Thing else

Псевдокоговорящее программирование - это, в сущности, другое название для программирования на основе событий.

  • Псевдоговорящая программа реагирует на действия пользователя или события (т. Е. Клавиши PF).
  • Псевдоговорящая программа запускается только тогда, когда
    1. Запуск / вызов другой программой
    2. Пользователь выполняет определенные действия (например, нажимает клавишу ввода / ключ). между таймами - все ресурсы высвобождаются

Псевдоговорящая программа похожа на ActionListener в Java Swing (или любом другом Swing, Web, SWT-эквивалентах)

Я склонен структурировать CICS как

   Initialise and get-screen and user-action
   Evaluate 
   when initial-entry
      Initial stuff
      Send initial screen 

   When PF2 /* Delete Action */
      Do Delete
      Send Response
   When PF3 /* Insert Action */
      ......   
   end-evaluate
   exit program

В java-Swing вы могли бы написать выше как

Class MyScreen implements ActionListener {

   public MyScreen() {
       Initial stuff
       Add this actionlistners to various buttons
       Display screen 
   }


    public void actionPerformed(ActionEvent e) {

       if (e.getSource() == deleteButton) {
          Do Delete
          update screen
       } else if (e.getSource() == insertButton) {
          .......
       }
   }
 }

Для тех, кто не имеет опыта работы с мэйнфреймами, CICS является сервером приложений, как и любой веб-сервер, но вместо отправки веб-страниц и получения HTML-запросов отправляет CIC и выводит на экран терминал 3270 и получает ответы из терминала.

Примечание: CIC также можно использовать в качестве веб-сервера.

5 голосов
/ 07 февраля 2012

Вот ссылка Сравнение разговорного и псевдо разговорного CICS

Основное отличие состоит в том, что в диалоговом CICS процесс (программа) является «живым» и содержит ресурсы (например, память, блокировка базы данных) в ожидании события (например, предоставленные пользователем данные с карты экрана). В псевдо разговорной CICS процесс «умирает» (CICS RETURN) во время ожидания для того, чтобы произошло событие. Запускается новая единица работы, и ресурсы перераспределяются в ответ на инициирующее событие.

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

Этот набросок охватывает только суть темы. Это намного больше, чем это, но это только начало.

1 голос
/ 07 февраля 2012

Короткий ответ: псевдоконверсионный код не содержит EXEC CICS SEND MAP, логически сопровождаемый EXEC CICS RECEIVE MAP без промежуточного логического возврата EXEC CICS RETURN. Таким образом, ваша программа не потребляет ресурсы CICS во время «обдумывания» пользователем.

Когда ваша программа EXEC CICS ВОЗВРАЩАЕТСЯ, вы можете сохранять информацию о состоянии в виде запятой (традиционного) или канала с одним или несколькими контейнерами (начиная с CICS TS 3.1).

Есть и другие подробности, но в этом их суть.

...