疑似会話型と会話型の CICS プログラミングの違いを理解しようとしています。各アプローチの長所と短所は何ですか?
3 に答える
NealB の答えは良いものであり、読む必要があります
疑似会話型プログラムの主な利点は、コンピューター リソースの使用量が減り、データベース ロックを保持できないことです。
--------------------------------------------------------------
非IBMメインフレーム用語で答えを表現しようと思います
会話型プログラミングでは、プログラムは画面を送信し、ユーザーが応答するのを待ちます。プログラムは、メモリ、データベース リソースなどを保持します。
すなわち
Send Screen and wait for a users response
Evaluate user-response
when PF2
Do Something
when PF3
Do Some Thing else
疑似会話型プログラミングは、基本的にイベントベース プログラミングの別名です。
- 擬似会話型プログラムは、ユーザー アクションまたはイベント (PF キーなど) に応答します。
- 疑似会話型プログラムは、次の場合にのみ実行されます。
- 別のプログラムによって開始/呼び出された
- ユーザーは特定のアクションを実行します (Enter キーや pk キーを押すなど)。中間の時間 - すべてのリソースが解放されます
疑似会話型プログラムは、Java swing (またはその他の Swing、Web、SWT の同等物) の ActionListener に少し似ています。
私は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 は他の Web サーバーと同様にアプリケーション サーバーですが、Web ページを送信して HTML 要求を受信する代わりに、CIC の 3270 ターミナル画面を送信し、ターミナルからの応答を受信します。
注: CIC は Web サーバーとしても使用できます。
これは、会話型と疑似会話型の CICS を比較するリンクです。
基本的な違いは、会話型 CICS では、プロセス (プログラム) が「生きており」、リソース (メモリ、データベース ロックなど) を保持している間、イベント (ユーザーが画面マップからデータを提供するなど) を待っていることです。疑似会話型 CICS では、イベントが発生するのを待っている間にプロセスが「停止」します (CICS RETURN)。新しい作業単位が開始され、トリガー イベントに応答してリソースが再割り当てされます。
疑似会話型 CICS は、CICS で対話型アプリケーションを構築するためによく使用されます。ほとんどの場合、ユーザーが「考えている」間にメモリとデータベースのロックが解放されるため、この手法はリソース効率に優れています。正味の利点は、リソースをより効率的に使用できることですが、データベースの一貫性を管理するには、トランザクションの整合性を確保するのはプログラマーの責任であるため、少し手間がかかります (「会話」の過程でロックが失われるため)。
この概要は、トピックの本質のみをカバーしています。これ以外にもたくさんありますが、それは始まりです。
簡単に言えば、疑似会話型コードには、EXEC CICS SEND MAP が論理的にその後に続き、論理 EXEC CICS RETURN が介在することなく、EXEC CICS RECEIVE MAP が続くということはありません。したがって、ユーザーの「思考時間」の間、プログラムは CICS リソースを消費しません。
プログラムが EXEC CICS RETURN を返すとき、状態情報をコンマエリア (従来型) または 1 つ以上のコンテナーを持つチャネル (CICS TS 3.1 以降) に保存できます。
詳細はありますが、それはその骨組みです。