CICS TS 4.1中最有趣的新功能是事件处理,有了这个功能,应用程序无需修改代码就可以在日常运行中抛出事件,此外,CICS TS 4.1引入了一个新的命令EXEC CICS SIGNAL EVENT用来创建具体的事件。 原理是相当简单的,CICS程序调用一个应用程序编程接口(API),当API调用匹配在“捕获点”谓词中指定的准则时,CICS取得在事件定义中指定的信息,然后将它传递给“事件处理适配器”,在传递给事件消费者之前,适配器可能会数据进行装饰或充实。 注意CICS创建的是简单的事件,更复杂的事件,如超过5次取款,一天内有多次取款等,需要某些类型的处理,收集和分析来自CICS独……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
CICS TS 4.1中最有趣的新功能是事件处理,有了这个功能,应用程序无需修改代码就可以在日常运行中抛出事件,此外,CICS TS 4.1引入了一个新的命令EXEC CICS SIGNAL EVENT用来创建具体的事件。
原理是相当简单的,CICS程序调用一个应用程序编程接口(API),当API调用匹配在“捕获点”谓词中指定的准则时,CICS取得在事件定义中指定的信息,然后将它传递给“事件处理适配器”,在传递给事件消费者之前,适配器可能会数据进行装饰或充实。
注意CICS创建的是简单的事件,更复杂的事件,如超过5次取款,一天内有多次取款等,需要某些类型的处理,收集和分析来自CICS独立的事件,IBM推荐使用WebSphere Business Monitor(WBM)。
捕获CICS TS 4.1中的事件
自动事件处理包括多个CICS命令,完整的命令清单请参考CICS TS 4.1信息中心“事件处理/CICS如何支持事件处理”主题,命令正常结束后,CICS触发大部分事件,其它如EXEC CICS LINK等命令,则是在命令执行之前产生事件,你也可以捕获程序初始化非API事件的事件。
如果API调用构成一个事件,事件谓词是一套CICS用来判断的过滤标准,标准的示例如事务上下文,命令资源名以及其它一些信息,CICS也可以根据命令参数(如文件I/O缓冲区)中的数据进行判断,但不能使用其它位置的信息,如工作存储中的信息。
谓词应慎重选择,太简单的谓词将产生事件风暴,太多的谓词会带来很大的系统开销,自动事件捕获不适用于DB2,MQ或IMS调用,但你可以使用EXEC CICS SIGNAL EVENT命令和通信区域(COMMAREA)或通道中的数据产生事件。
当CICS要产生一个事件时,要确定事件定义中包含哪些应用程序信息,这些信息可能是事务上下文和命令数据区域中的字段,如账号余额或零件编号。最后,CICS要传递所有相关数据给事件适配器。
CICS事件适配器
CICS将收集到的信息传递给事件适配器,下面这些都是可以的:
- 一条MQ消息
- 另一个CICS事务
- 向临时存储队列写入事件数据
- 发送一个HTTP消息(可通过APARs PK94205和PM07361发送)
- 自定义适配器
适配器以各种格式发出事件信息,有一组基于XML的格式:通用基础事件(Common Base Event,CBE)和Websphere业务事件(WebSphere Business Event,WBE),其目的是WBM。此外,还有适用于MQ的CICS扁平型事件(CICS Flattened Event,CFE),启动事务和TS队列类型的适配器,HTTP适配器可以产生CBE-,CBER-和WBE-格式的消息。
事件处理工具
IBM提供事件处理工具作为CICS Explorer中的事件绑定编辑器(Event Binding Editor,EBE),事件处理以启动新的绑定项目向导为开始,然后要定义捕获点和事件中的数据,最后创建一个打包的事件绑定文件。
应用程序数据的选择非常特殊,幸运的是,EBE可以导入语言结构,使用户可以按名称选择字段,EBE也非常聪明,它可以算出字段的长度和格式,但需要注意的是,对结构的任何变化都必须传递给EBE,事件绑定文件的移动必须小心和主机上的应用程序变化协调。
EBE为有影响的事件行为提供了多个选项,其中之一的“事务选项”告诉CICS不要产生事件,直到驱动事务获得一个同步点。相反,如果事情很糟糕地结束,CICS会放弃事件,如果业务规则要求数据在事件产生前提交,这将是一件好事,但对于一个长时间运行的任务,这将是一件麻烦事。
当事件完整的定义后,用户告诉EBE导出产生的事件绑定文件到大型机上的Z文件系统文件,相反,CICS必须有一个绑定的定义指向相同的目录,当CICS扫描该目录时,它将会定义包和事件。
我确定许多人对事件处理开销存在疑惑,IBM强调系统开销非常低,因为捕获事件的逻辑在API代码内,但他们警告事件处理的价格会根据事件定义的数量和谓词复杂性而上涨。
翻译
相关推荐
-
SDDC架构转型?看Shutterstock CIO怎么说
David Giambruno正带领团队再次进军SDDC架构。在这篇问答中,Shutterstock的新任CIO将分享他面临的最大挑战与收获到的经验教训……
-
详解软件定义应用程序和基础设施
借助自动化的管理方式,现如今的软件定义应用程序和基础设施借助其内部机理为独立的组件和可扩展的资源提供了内在交互的环境。
-
数据中心专家预测2016年IT发展趋势
超融合及云计算占据了2015年新闻头条,数据中心专家认为2015年IT以变革为主,那么,2016年又是以什么变化为主呢?
-
API应用场景与技能培训
API系统在数据中心的重要性越来越明显。那么,API会出现在哪些场景里面?既然API系统变得这么受欢迎,IT技术人员如何才能获得正规数据中心API技术培训和经验呢?