2022年服务器CICS系统运维指南 .pdf

上传人:Q****o 文档编号:27182946 上传时间:2022-07-23 格式:PDF 页数:19 大小:1,010.63KB
返回 下载 相关 举报
2022年服务器CICS系统运维指南 .pdf_第1页
第1页 / 共19页
2022年服务器CICS系统运维指南 .pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2022年服务器CICS系统运维指南 .pdf》由会员分享,可在线阅读,更多相关《2022年服务器CICS系统运维指南 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、服务器 CICS 系统运维指南名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 2 of 19 服务器 CICS系统运维指南CICS全称是 Customer Information Control System,即客户信息控制系统。CICS建立在操作系统、 ISO 的分布式计算环境和Encina 服务上,它帮助客户建立三层次结构的联机事务处理应用。CICS能为应用程序开发、通信、恢复、显示

2、、数据管理、安全性和内部通信等提供多项服务。今年是CICS诞辰 40 周年。它从最初的面向小型企业的汇编语言程序发展到今天这一步,经历了漫长的发展阶段。本指南介绍其在安全、通信、应用程序开发等方面的一些技巧。CICS 安全CICS 在锁定资源方面做得非常好,规则是保存在非常安全的资源访问控制程序(Resource Access Control Facility ,RACF )库中的, CICS 负责在应用程序代码和系统代码之外执行授权检查。但可能有时候有的企业想用一种新的方式使用现有的规则,或试图保护 CICS 不知道的事物,因此需要对CICS 的安全机制进行扩展。如何扩展大型机上的CICS安

3、全机制?利用 WSS 标准确保 CICS安全性CICS 通信CICS事务网关( CICS Transaction Gateway ,CTG )提供的 Java 客户端简化了与CICS之间的通信,大多数情况下,它象是一个通过外部调用接口与CICS通信的黑盒子,因此出现问题进行故障诊断时比较麻烦。排除 CICS事务网关中的PGMIDERR/AEI0 ABEND 故障名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 服务器 CICS

4、系统运维指南Page 3 of 19 如何处理 CICS/MQ触发器接口问题?CICS 应用开发在某些情况下,你可能需要自己动手编写简单对象访问协议(SOAP )消息头处理程序。此外,在C语言环境下的CICS应用开发也有不少问题。本栏目重点介绍这方面的内容。教程:如何为CICS编写 SOAP 消息头处理程序如何解决 C语言里 CICS程序算术计算不运行?一个程序能在CICS里使用 IXLLIST 宏吗?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - -

5、- - - - - - 服务器 CICS 系统运维指南Page 4 of 19 如何扩展大型机上的CICS安全机制?开箱即用的CICS在锁定资源方面做得非常好,规则是保存在非常安全的资源访问控制程序( Resource Access Control Facility,RACF )库中的, CICS负责在应用程序代码和系统代码之外执行授权检查。但可能有时候有的企业想用一种新的方式使用现有的规则,或试图保护CICS不知道的事物,因此需要对CICS的安全机制进行扩展。使用 CICS QUERY SECURITY 命令大部分外部安全管理器(External Security Manager)的调用需要

6、授权程序设施(Authorized Programming Facility)授权,但在CICS中实现是很困难的,大部分代码都运行在问题状态,幸好IBM为我们提供了EXEC CICS QUERY SECURITY命令访问安全服务。在 CICS应用程序编程参考指南(Application Programming Reference Manual,APRM )中有记载, EXEC CICS QUERY SECURITY有两种基本形式,一种形式是基于系统初始表( System Initialization Table,SIT)指定的资源类别,查询CICS定义的资源(如事务,文件)的规则,另一种形式是

7、允许程序检查任何安全规则。输出参数告诉调用者如何访问资源: ALTER (修改), CONTROL(控制), READ (读取)或UPDATE (更新)。另一个参数控制将违反安全规则的消息发给CICS作业日志。你可以关掉ICH408消息,屏蔽掉混乱的控制台输出,但我建议在程序中保留调试开关,以便在紧急关头可以启用错误消息。保护 CICS资源正如前面所提到的,CICS在保护其资源方面已经做得够好了,但有时你可能想要检查用户的资源授权,让程序生成一个友好的错误消息代替ABEND 或令人畏惧的“不可预测的结果”。例如,假设我们想在生产系统上培训一名新员工,他们可以读取文件但不能进行更新,为了使体验尽

8、可能真实,我们检查用户的安全,看所有更新逻辑是否有授权标志。为了做到这一点,我们在事务(不是CICS )前面添加了下面的命令:XEC CICS QUERY SECURITY RESTYPE(FILE) RESID(CIFFILE) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 5 of 19 RESIDLENGTH(7) UPDATE(UPDTFLAG) NOHANDLE 这个命令根据

9、SIT 中指定的 CICS RACF规则类别检查用户的权限,事务尝试对文件CIFFILE 执行 I/O 操作,如果执行成功,UPDTFLAG 将会置 CVDA (Value Data Areas)的值为 UPDATEABLE或 NOTUPDATEABLE,根据这个信息,应用程序可以通过事务设置开关,在事务处理过程中,每个程序都可以检查标志,看是否应该更新。当用户得到充分训练后,安全团队可以授予该员工修改简单规则的权利,APRM 列出了可能的资源类型,注意,如果资源在该区域没有定义,QUERY 命令很可能返回“没有找到”的错误。保护非 CICS资源有时候问题不是保护CICS资源,而是它里面的一些

10、东西,例如,一家公司希望所有销售代表都能看到所有客户记录,但要保证只有训练有素的人才可以更新客户状态,为此,我们假设每个客户记录有一个两字节的状态ID 来保存客户的状态。下一步就是定义一个RACF 类别保存资源规则,如STATECTL ,假设处于STATECTL 状态的有 50 个资源,所有销售代表都可以读取该类别的资源,但只有授权的销售代表可以更新资源的状态。为了检查销售代表的访问权限,应用程序应该在某些地方插入下面的命令:EXEC CICS QUERY SECURITY RESCLASS(STATECTL) RESID(INPSTATE) RESIDLENGTH(2) UPDATE(UPD

11、TFLAG) NOHANDLE 因此,要检查一个销售代表是否可以更新德州的客户记录,程序应该用“TX ”代替“INPSTATE ”,如果UPDTFLG 字段返回 UPDATEABLE,该销售代表就可以继续操作,否则销售代表将会看到一条错误消息,并要求他向可以更新德州客户记录,且经过培训的销售代表求援。为了完整起见,注意这个命令的第二种形式也可以用于检查CICS资源,例如,如果SIT 参数 XTRAN 被设置为 CICSTRN ,CICS使用资源 RACF 类 GCICSTRN 检查事务授权规则,因此,为了检查一个用户的事务访问权,程序应该使用下面的命令:EXEC CICS QUERY SECU

12、RITY RESCLASS(GCICSTRN) RESID(TRANNAME) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 6 of 19 RESIDLENGTH(4) READ(READFLAG) NOHANDLE 但这会立刻变得复杂起来,因此程序对CICS和 RACF 环境是敏感的。小结这些例子打破了应用程序代码安全检查的基本规则,但如果放松规定,额外的功能可能更有价值。我不知道

13、为什么QUERY SECURITY命令没有独立到由技术支持拥有的模块中,或许是他有自己的安全保障吧。查看原文( 作者:Robert Crawford译者:黄永兵来源:TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 7 of 19 利用 WSS 标准确保 CICS安全性万维网最好的地方在于它的匿名开放性,允许浏览器客户端访问世界范围远程服务器。然而,在二十世纪

14、九十年代,恰恰是由于网络的开放性威胁到了商业的安全性。由此,人们开始寻求可以安全交换私人信息的方法和途径。网络服务也是如此,并承诺将允许在全球范围进行点对点通信而不用管双方采用的是何种底层系统架构。为了实现这一目标,人们开发了WSS (Web Services Security)SOAP (Simple Objective Access Protocol )消息标准。WSS 为三种类型的SOAP 消息安全提供了一个架构。它允许你:利用数字签名保护消息的完整性,确保原始XML不受更改通过对全部或部分SOAP 消息加密确保不泄露信息机密运行验证过程对服务请求者进行校验。请注意,WSS 标准支持多种

15、验证,如X. 509 、Kerberos 和 basic CICS支持所有三种WSS 对象。对于验证,CICS提供了 basic 和 X. 509 。WSS 验证的 CICS支持正如你所知, CICS网络服务支持包括了一个消息管道(message pipeline)的概念。一个消息管道由一系列程序组成,由CICS调用这些程序来处理入站(inbound )或出站(outbound )的 SOAP 消息。每个消息处理程序(message processor )可以提取或插入XML 。WSS 标准为验证指定了合适的XML标签。对 CICS而言,只需创建消息处理函数(message handler )

16、来管理这些XML标签就可以了。对于入站消息,消息处理函数必须要能够从 SOAP Header中检索验证消息并确认。对于服务请求,消息处理函数当然还必须在 Header 中插入安全内容(security context)。CICS Web Service操作手册说明了写自己的消息处理函数的一些要求。不过,如果使用 IBM提供的用于安全性的消息处理函数可能会更加简单一些,如DFHWSSE1。这个工具可以为你完成这个工作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页

17、 - - - - - - - - - 服务器 CICS 系统运维指南Page 8 of 19 DFHWSSE1可以处理 basic 和 X.509 验证。在 SOAP Header中 basic 验证使用的是用户口令,口令通常由用户ID 和密码组成。 DFHWSSE1检索登陆ID 和密码后,与外部安全管理器确认信息,如RACF (资源访问控制设备)。如果验证通过,消息则会传送到下一个消息处理函数。反之,DFHWSSE1则告诉 CICS返回 SOAP 错误。至于 X.509,你可能已经猜到,它要更复杂一些。对于入站消息,你必须先输入请求者的验证信息到RACF ,作为一个ICSF (Integra

18、ted Cryptographic Service Facility )密钥。然后,通过RACF RACDCERT(RACDigitalCertificate)命令重新连接输入的证书到keyring 。对于 CICS的使用,证书的keyring一定要与 SIT(System Initialization Table)中指定的KEYRING 参数相匹配。还要注意,RACDCERT可能会将登陆 ID 连接到该证书。 CICS会把这个ID 当作 Web服务处理的安全内容(Security context )。如果用户ID 不是通过 RACDCERT连接的, CICS会使用 keyring的默认 ID

19、。相似地,如果要标记出站消息,你需要在RACF 中生成一个证书并将它与SIT keyring相关联。然后,输入该证书到服务提供者的服务器。提供证书之后,更改管道配置文件。你可以在包含自定义消息处理函数的部分指定验证选项。对于DFHWSSE1,特殊之处位于这部分的标签之间。在选项之间是:一个说明验证类型的部分。这部分还应该包含DFHWSSE1证书标签。是否标记入站消息以保证消息的完整性()标记消息内容所使用的算法和证书。()如果这些都完成到位,DFHWSSE1自己会知道做什么,而且不用更改应用也可以执行网络服务安全性。更好的是,安全性处于系统级,不受程序员控制。请注意, DFHWSSE1还可以用

20、于消息加密,并且可以通过管道配置文件控制。在这种情况下, XML必须指定编码算法和使用的证书或key。CICS可以解密整个或部分SOAP body。唯一的出站选项是整体进行加密。加密和解密消息处理函数在消息管道中必须位于最开始或最末端。这样做是有道理的,入站XML只有经过解密才能被处理。不过,对于将会被随后的处理函数更改的数据加密就没什么意义了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Pa

21、ge 9 of 19 幸好, CICS决定支持 WSS 标准。证书的应用使其安全性比那些采取回避策略(如清除文本登陆 ID 和密码)的协议的安全性要高一些。同以往一样,你所选择的安全强度和安全类型依然取决于规范要求和通信系统的可靠性。查看原文( 作者:Robert Crawford译者:涂凡才来源:TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 10 of

22、19 排除 CICS事务网关中的 PGMIDERR/AEI0 ABEND故障CICS 事务网关( CICS Transaction Gateway ,CTG )提供的 Java 客户端简化了与CICS之间的通信,大多数情况下,它象是一个通过外部调用接口与CICS通信的黑盒子,因此出现问题进行故障诊断时比较麻烦,本文就介绍一下如何处理程序没有找到(PGMIDERR)和 AEI0 ABEND错误。接收 CTG中的原始 PGMIDERR/AEI0 ABEND 错误CTG 客户端指定一个统一资源定位符(URL )和一个目标程序名连接到CTG ,客户端还包括一个事务和CICS应用程序 ID,所有通过CT

23、G驱动的事务必须定义CICS镜像程序(DFHMIRS )作为它的原始程序。当消息抵达时, CICS附加目标事务,调用DFHMIRS ,DFHMIRS 从消息头提取应用程序名称,并尝试连接,如果程序是可执行的,一切就会按计划执行,如果出现问题,DFHMIRS 返回诸如“程序未找到”或PGMIDERR,或 AEI0 ABEND等错误给客户端,最后,当它看到变量eci_abend_code 置为 AEI0 时,就知道客户端接收到了错误消息。诊断 PGMIDERR/AEI0 ABEND 的步骤听起来感觉很容易诊断,但试图找出错误时却会遇到很多问题,当DFHMIRS 连接目标程序失败时,它会静静地向CT

24、G发送一个错误,但不会向CICS日志写入任何消息,CTG可以识别这些问题,但在默认的跟踪级别,除了在它内部的跟踪表中,不会在其它地方记录日志。最后,在拥有多个CTG和路由区的CICSPlex 环境中,不会说出错误的发生位置。解决这个问题首先要找出出错的客户端消息,有以下几种办法:1、网络跟踪法:最不喜欢的是使用网络跟踪,不仅要查看海量数据,一旦发现错误消息,必须与原始请求进行匹配,这种办法的好处是不用浸入到复杂的大型机环境。2、CICS跟踪法:稍微配置以下,CICS或 GTF跟踪可以快速地精确定位问题,但对于在大型 CICSPlex 环境中的一个间歇性错误,需要跟踪很多区域,时间可能不允许,如

25、果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 11 of 19 跟踪管理捕捉到错误,仍然有海量的输出数据需要查看,最后是大家都知道的,跟踪对性能有影响。3、CTG跟踪法:在最新的CTG 版本中跟踪可以用一个修改的命令操作,此外,CTG将会把跟踪信息写入到SSYSOUT,使它更容易阅读,但要捕捉到错误,你可能要在多个CTG实例上开启四级跟踪。这个方法和CICS跟踪有一样的缺点,特别是

26、在复杂的环境下。4、转储 CTG 法:转储 CTG是最简单,最直接的方法,如果你运行了多个CTG实例,那么每一个都要转储,转储命令必须包括MVS 地址空间和附加的OMVS 进程。无论哪种方法,使用程序名称是最快的,但程序名称很可能是无效的,例如,消息中的持续名称可能包括非法字符,或是未以非空字符结束。如果程序名称无效,要找到错误需要两个步骤:1.登录到 CICS ,寻找程序的定义;2.当你找到程序正确的定义时,你一定会想用头磕桌子。原来是因为引起AEI0 ABEND的原因有很多,包括但不限于:1.当 CICS知道它应该将请求转发到另一个区域,但没有任何可用的线路时产生了DLP错误;2.目标程序

27、在目标AOR 上被禁用了;3.在极少数情况下,当事务让它通过路由区,但在目标AOR 上遇到了安全错误。要找到上述错误的根本原因,除非还有其它诊断信息可用,否则唯一的办法只有使用CICS跟踪。虽然 CICS和 CTG 不约而同地隐藏了错误,但用户仍然可以记录一些事件,例如,一个自定义动态路由程序在发生路由错误和DTR错误字段置为c7时可以记录消息,有些全局用户在退出时的事件也可以观察到和记录。最后的办法是确保错误不再发生。查看原文(作者:Robert Crawford译者:黄永兵来源:TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

28、- - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 12 of 19 如何处理 CICS/MQ触发器接口问题?CICS/MQ触发器接口提供了一个简单方法,在无需编写代码的情况下驱动在线消息,但在有些情况下,这种简单的方法也让人感到很讨厌,本文讨论适用于IBM CICS Transaction Server 4.1和 WebSphere MQ 接口的消息触发。消息触发器接口CICS/MQ消息触发器接口始于事务CKTI,CKTI 启动一个侦听队列(INITQ),当一个CIC

29、S绑定消息抵达时,MQ 会通过 INITQ 发送一个消息唤醒CKTI,然后由 CKTI读取触发消息,启动目标事务,提交工作单元,然后又从INITQ 中删除触发消息,最后,CKTI 尝试从INITQ 中获得下一条消息,如果没有新的消息,它就开始转入随眠状态。应用程序事务有两种触发方法:“在第一个触发”,当有一个应用程序消息抵达空队列后创建一个触发器;“每一个都触发”,每条消息抵达队列时都发送一个触发。CICS/MQ触发问题:“遗留”消息在这种情况下,一条触发消息唤醒CKTI,CKTI启动目标事务,然后同步点功能,最后删除触发器。目标事务启动读取它的预期消息,然后发送一个ABEND 或 ROLLB

30、ACK 命令,如果应用程序队列定义为可回收,MQ 将应用程序消息重新入队列。至此,原始应用程序消息在队列中,而附加触发消息已经先行一步,在这种情况下,队列中的消息将会失去活力,直到其它触发器产生新的消息,实际上,这种情况将会持续下去, CKTI 每接收到一个新消息,就将前一个消息推出队列,一直这样处理,直到队列中的消息变为零。这个问题很难进行诊断,因为大部分监视器不支持测量花在队列等待上的时间,此外,虽然客户端报告响应时间较长,但CICS监视器却显示没有问题,一个可行的线索是非零队列深度,尽管这可能是应用程序的正常行为,有关完整的诊断,技术支持可能已找到某些处理办法,可能出在消息数据本身,因此

31、需要跟踪从客户端到CICS的请求及相反方向的响应数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 13 of 19 这种情况的严重性取决于应用程序的数量和重要性,如果应用程序没有时间依赖性,为下一条消息抵达等待五分钟并不会有什么害处。但是,如果队列中的部分消息在等待响应,等待将是致命的。绕过“遗留问题”最好的办法可能是修改应用程序,允许一次读取多条消息,获取过去无触发器的消息,然而

32、,找到正确数量的消息同时读取可能是一个棘手问题。工作量平衡的神话MQ 支持共享队列,它将消息存储在Sysplex 耦合体( Coupling Facility,CF )中,任何应用程序都可以从这里读取消息,INITQ 的消息也可以共享,它将触发消息放入CF中, MQ 然后唤醒每个CKTI监听器,为每个要获得的触发器创建一个比赛,再启动目标事务吃掉消息完成整个过程,CKTI剩下的任务就是返回并自我休眠。注意,在这种方案中没有内置工作量平衡机制,在克隆的CICS实例间共享INITQ时,预期工作将会被顺利分配,注意克隆实例是在相同的处理器上以相同的优先级运行的。根据我以往的经验,时间间隔通常是五分钟

33、或更长,但在较短的时间间隔下,有时监听器会赢得比赛,会成功读取到触发消息,因此,CICS可能在短时间内没有几百,也有几十条消息从队列消失。再说一次,这与应用程序有很大的关系,少部分无时间依赖的应用程序可以提供一些控制,如事务类应用缓存某些突发性的冲击,而严重依赖时间的应用程序可能需要寻求其它形式的补救。IBM将会告诉你,那纯粹是一个竞争条件,没有任何类型的智能控制工作量分配。每个人都喜欢胜利者和MQ ,这里显然也不例外,如果事务类或其它CICS抑制机制不能工作,最好的解决方案是事务路由,CKTI 运行在路由区域,它可以跨应用程序组拥有的区域或 AORs 分散目标事务。小结名师资料总结 - -

34、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 14 of 19 上述问题在 MQ接口中是一直存在的,必须得到妥善处理,最好的防御是根据一些建议精心设计应用程序,首先,IBM建议大部分队列应该定义为“第一个触发”,其次,应用程序应该一次读取多条消息,避免被卡住,最后,应该尽量使用可回收队列。查看原文( 作者:Robert Crawford译者:黄永兵来源:TechTarget 中国) 名师资料总结 - -

35、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 15 of 19 教程:如何为 CICS编写 SOAP 消息头处理程序在某些情况下,你可能需要自己动手编写简单对象访问协议(Simple Object Access Protocol ,SOAP )消息头处理程序,在这篇教程中,我使用一个安全header block介绍如何编写 SOAP 消息处理程序。管道首先你必须修改管道的eXtensible标记语言( X

36、ML )配置文件,以便让CICS调用消息头。下面列出了CICS的样例 Web服务提供者管道,及几处突出显示的改动内容。图 1 CICS 的样例 Web服务提供者管道消息头处理程序定义开头的标记信号后跟着的是程序名,再后面的命名空间定义告诉CICS消息头块的类型(绿色部分),看到输入消息的例子后你会感觉更直观一点。当 CICS调用处理程序时使用标记控制,如果入站消息包含一个“Security ”消息头块,标记信号通过值“ False”或“0”告诉CICS调用处理程序,如果标记被设为“True”或“1”, CICS将调用消息处理程序处理所有的传入请求,该标记终止了消息头处理程序 SECHEADR的

37、定义,其它处理程序可采取进一步行动,直到遇到标记结束。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 16 of 19 SOAP 请求消息头示例消息处理程序有一组访问入站消息的选项,容器DFHRESPONSE容纳整个消息,DFHHEADER包括 CICS调用的消息头处理程序相关的消息头块。下面是一个 Security消息头块示例,我省略了命名空间URL以节约空间。图 2 Securit

38、y消息头块示例这就是我们通常感到比较困难的部分,正如你从上面的例子中看到的,XML已经够冗长了,但 SOAP 更加冗长,在不同的平台之间,通过包括自定义字段的基于文本的消息可以很好地传递信息,但这正是大型机的弱点之一字符串处理,在装配器中处理长消息是相对快速和廉价的方案,但难度也较大,其它语言,如PL/1,能熟练地解析文本,但在这些高级语言中都存在性能损失。好消息是IBM可能会引入一个特殊的XML解析引擎,我们只需要等待CICS支持它。可能你已经注意到,每个SOAP 标记都是以小于符号(“ ”)结束。紧接着开始标记的是标记描述内容,内容最后是以“”;6.在开始标记的结尾查找 。这里只显示了要经

39、过哪些操作,当你成为一个系统程序员时,你就会喜欢上SOAP 的松散耦合特性。查看原文( 作者:Robert Crawford译者:黄永兵来源:TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 18 of 19 如何解决 C语言里 CICS程序算术计算不运行?问:当我在C语言里写一个CICS程序,算术运算(arithmetic operations)在 CIC

40、S执行里不能工作。我收到了来自CICS和程序的两个值。单独这个附加的状态不工作,这是怎么回事呢?答:事情变得混乱有好几点,因此你不要一起添加正确的事情。你收到了 EBCDIC 里的数字吗?如果收到,确保把数字串转换成二进制的逻辑在正确工作。也要复查输入域的偏移(offsets)和长度以确保转换逻辑不包括垃圾信息。如果你使用多个架构或使用memcpy 在一个变量里得到数字的话,可能有存储调整问题。记住,原始 C不支持压缩数字。所以,如果你尝试添加两个压缩数字,你必须使用IBM或自定义写入程序。在任何情况下,你需要找到一些方法使用调试工具在添加东西期间检验你程序的执行。如果你没有调试工具,你可以试

41、着在攻击状态前或后强制终止异常或权利。查看原文(作者:Robert Crawford译者:唐琼瑶来源: TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 服务器 CICS 系统运维指南Page 19 of 19 一个程序能在 CICS里使用 IXLLIST 宏吗?问:当 IXLLIST 是 APF时,有什么方法能让一个程序在CICS里使用 IXLLIST 宏?答:这很困难,如你所知,CICS应用程

42、序未授权运行。我能想到两样事情:CICS程序能呼叫用户写下SVC例程。由于SVC在自动化状态下得到控制,它既能发出IXLLIS 请求,也能分回到CICS程序。我必须强调这两种解决方案对系统整合都是危险的,特别是后一种。应该小心控制CICS程序与 SVC之间的合作。一个作为授权APF的 TCB (无线上网卡)运行能发出XLLIST 宏。不过,有一些管理非授权的附属于授权程序的规则,因此,你将不能从CICS的拟重入 TCB来使用 IXLLIST宏。我不确定这个是否能工作,不过你应该从原先的工作步骤授权TCB ,然后附上CICS的主要任务作为子任务。从这看来,就是CICS程序与授权TCB之间的合作问题了。最容易的回答可能是使用其他结构跨Sysplex 共享数据。如果这只是一个纯粹的CICS应用,共享暂时存储队列的服务器将达到理想的结果。做不到这一点,有共享的VSAM (虚拟存储奇取发)文件可用。查看原文(作者:Robert Crawford译者:唐琼瑶来源:TechTarget 中国) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁