伪会话与会话 CICS 编程的优势是啥?
Posted
技术标签:
【中文标题】伪会话与会话 CICS 编程的优势是啥?【英文标题】:What are the advantages of pseudo conversational vs conversational CICS programming?伪会话与会话 CICS 编程的优势是什么? 【发布时间】:2012-02-07 06:57:18 【问题描述】:我试图了解伪对话式和对话式 CICS 编程之间的区别。每种方法的优缺点是什么?
【问题讨论】:
嘿downvoters...这是一个严肃的问题。如果 OP 询问 REST 或 MVC 的特点是什么,您会这么快就投反对票吗? @NealB - 最初提出的问题有点粗糙,但现在应该处于更清晰的状态。 这应该重新打开。这是一个非常清楚和合理的问题。 这是一个完全可以理解的问题。任何在大型机上具有 CICS 编程经验的人都应该了解它 【参考方案1】:NealB 的回答很好,你应该阅读
IBM's description
伪会话程序的主要优点是减少了计算机资源的使用,并且它们不能持有数据库锁。
--------------------------------------------------------------
我将尝试在非 IBM 大型机术语中表达答案
在对话式编程中,程序发送一个屏幕并等待用户响应。 该程序将保留内存、数据库资源等。
即
Send Screen and wait for a users response
Evaluate user-response
when PF2
Do Something
when PF3
Do Some Thing else
伪对话编程基本上是基于事件的编程的另一个名称。
伪对话程序响应用户操作或事件(即 PF 键)。 伪对话程序仅在以下情况下运行-
由另一个程序启动/调用
用户执行某些操作(例如,按回车键/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 服务器一样是一个应用程序服务器,但不是发送网页和接收 html 请求,而是 CIC 发送和 3270 终端屏幕并接收来自终端的响应。
注意:CIC 也可以用作 Web 服务器。
【讨论】:
【参考方案2】:这是一个链接comparing conversational and pseudo conversational CICS
基本区别在于,在对话式 CICS 中,进程(程序)是“活动的”并持有资源(例如内存、 数据库锁) 在等待事件时(例如,用户从屏幕地图提供的数据)。 在伪会话 CICS 中,进程在等待时“死亡”(CICS RETURN) 使事件发生。启动新的工作单元并重新分配资源以响应触发事件。
伪转换 CICS 经常用于在 CICS 中构建交互式应用程序。这种技术是资源有效的 因为内存和数据库锁是在用户“思考”时释放的——这是大多数时候。净收益是 更有效地使用资源,但管理数据库一致性需要更多的努力,因为它取决于 程序员确保事务完整性(由于在“对话”过程中丢失锁)。
本大纲仅涵盖主题的本质。远不止于此,但这只是一个开始。
【讨论】:
【参考方案3】:简短的回答是,伪对话代码不包含逻辑上后跟 EXEC CICS RECEIVE MAP 的 EXEC CICS SEND MAP,而没有中间的逻辑 EXEC CICS RETURN。因此,您的程序在用户“思考时间”期间不会消耗 CICS 资源。
当您的程序 EXEC CICS RETURN 时,您可以将状态信息保存在逗号区域(传统)或具有一个或多个容器的通道中(自 CICS TS 3.1 起)。
还有更多细节,但仅此而已。
【讨论】:
以上是关于伪会话与会话 CICS 编程的优势是啥?的主要内容,如果未能解决你的问题,请参考以下文章