资源描述:
《cobol主机应用开发架构基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、COBOLforMainframeFundamentalsCOBOL主机应用开发架构基础本节内容COBOL与传统系统COBOL应用开发架构COBOL与CICSCOBOL与DB2COBOL与IMS更详尽的内容将在相关课程中讲述。COBOL与传统系统传统程序是用上一代技术开发的可操作计算机程序或程序组,多数已经运行多年,并且仍然能胜任所负责的工作的可行系统;上世纪70年代~80年代,COBOL大量用于建设大型、复杂的商业系统,因此用COBOL编写的数据处理程序构成了传统程序的主体;传统系统通常是公司进行关键商业活动时所依赖的核心程序,当系统
2、需要更新时不能中断,从头改写往往是下策,其代码的修改和改进为现代的COBOL编程人员带来了机遇和挑战。COBOL应用开发架构大部分传统COBOL系统都是用IBM硬件、操作系统和编译器开发的;近代的S/390、Z900、AS/400乃至最新的iSeries、zSeries等服务器上仍然保持了对COBOL的支持;COBOL应用程序的数据可以放在文件中,也可以放在DBMS(数据库管理系统)中;主机上COBOL应用程序后台的DBMS通常使用IMS(层次数据库)或DB2(RDBMS),事务管理的实现则使用CICS或者IMSTM。COBOL与CIC
3、SCICS简介CICSCOBOLCICS简介CICS是IBM的客户信息控制系统,是运行终端(联机)系统的环境;CICS特别适合事务性系统,如处理机票购买和银行存取款等;40多年来,CICS一直活跃在全球一流公司的商业系统中:当今全球一共有大约50000个CICS站点;在500个最大的IBM客户中,490个都是用CICS;大约有100万编程人员编写和维护CICS程序,主要是COBOL程序。CICS事务CICS事务由一个或多个CICS程序组成,通常是用COBOL编写,一般是用SQL命令读写关系数据库或用DL/I读写IMS数据库,并负责与终端
4、上的最终用户交流信息;CICS保证事务或者完全成功,或者根本不执行,它与COBOL配合协调,能高效地使用系统资源;COBOL程序的性质是不可再入(reentrant)的,即一次只能有一个终端用户执行内存中的COBOL程序,但CICS用伪再入(pseudo-reentrant)或准再入(quasi-reentrant)技术解决了这个问题,它对COBOL程序的每个实例保存一份工作存储节,但允许程序的所有实例使用过程部。CICS程序实例——屏1CICS程序实例——屏2CICS程序实例——屏3CICS程序实例——屏4COBOL与CICSCICS
5、的许多特性使程序员不必考虑CICS终端的结构和它们的位置以及如何与网络联接就能编写出高级的事务处理应用程序;CICSCOBOL程序是COBOL语句与EXECCICS语句的组合,能与CICS通信,程序中的每一行是下列语句之一:COBOL行(例如MOVEWS-TEMPTOWS-PERMANENT)EXECCICS语句(例如EXECCICSRETURNEND-EXEC)数据库访问语句(例如EXECSQLSELECTNAMEINTO:WS-NAMEFROMEMPLOYEEWHEREEMP_ID=:WS-IDEND-EXEC)CICSCOBOL程
6、序通过EXECCICSSEND和RECEIVE语句与最终用户通信,就像其它程序使用DISPLAY和ACCEPT一样,不过在CICSCOBOL程序中,通常是全屏显示而不是一行显示。COBOL中的CICS命令通用格式commandoption(arg)....在COBOL中用EXECCICS启动CICS命令,用ENDEXEC.终止。CICS命令一览终端控制SEND,SENDCONTROL,SENDMAP,RECEIVE,RECEIVEMAP异常处理HANDLECONDITION,IGNORECONDITION文件控制READ,WRITE,R
7、EWRITE,WRITE,UNLOCK,STARTBR,READNEXT,READPREV,ENDBR,RESETBR程序控制LINK,XCTL,RETURNQueue控制WRITEQTS
8、TD,READQTS
9、TD,DELETEQTS
10、TD终端控制对终端进行I/O命令:SENDRECEIVE基本的mapping支持基本的mapping支持字符屏幕显示(mapping)基于应用程序生成mapping从终端接受数据或向终端发送数据SEND命令语法格式EXECCICSSENDFROM(data-area)LENGTH(data-value)
11、END-EXEC.SEND样例WORKING-STORAGESECTION.01MSG-LENGTHPICS9(4)COMP.01OUTPUT-MESSAGE.05MSG-IDPICX(4).05FILLE