- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cics编程
第二章 编程 1
第一节 建立一个简单的CICS应用 2
1.1 您的第一个CICS程序:GETTIME 2
1.2 EasyCICS的标准示例:TELECOM 8
第二节 三层C/S结构的规划 26
2.1 CICS三层结构的本质 26
2.2 CICS的服务程序框架 27
2.3 CICS的客户程序框架 28
2.4 EasyCICS——使用CICS的捷径 29
第三节CICS服务程序设计入门 30
3.1 EasyCICS的服务程序设计流程 30
3.2 EasyCICS的服务程序API解析 36
3.3 一个稍微复杂的例子 41
3.4 平台无关性编程要点 51
第四节 CICS客户程序设计入门 53
4.1 EasyCICS的客户程序设计流程 53
4.2 EasyCICS的客户程序API解析 56
4.3 使用PowerBuilder开发EasyCICS 63
4.4 使用Delphi开发EasyCICS 68
4.5 使用Java开发EasyCICS 76
4.6 使用C开发EasyCICS(不使用OLE) 86
4.7 使用其它开发工具开发EasyCICS 89
第五节 编写可靠的CICS应用 101
第二章 编程
我经常听一些人大谈把两层C/S结构的应用转为三层C/S结构的应用,无论说的,还是听的,都兴高采烈,频频点头:好,好!转吧。不过,具体怎么“转”呢?是不是把两层C/S结构的程序放到什么容器里“煮”一下,再取出来就可以“吃”了?当然不行,看来一个“转”字还颇有点儿学问。如果您原来靠游泳过河,那我教您一种划船过河的方法,这条船就是中间件CICS——当然您不能靠划船的经验来驱动它,CICS需要的是——编程。学划船很简单,学CICS编程也一样简单,读了本章的内容就会知道。
如果读者想用COBOL或JAVA来开发CICS的服务程序,请参阅CICS的其它技术资料,这里只提供了C语言的例子。不过,这里提供了几乎所有常用的前端开发工具作为CICS客户的例子,也许这正是您所需要的,那么,请认真阅读后面的内容。
如果您已经有足够多的预备知识,可以先阅读下一章,在建好一个实验环境后,再回到本章。
第一节 建立一个简单的CICS应用
1.1 您的第一个CICS程序:GETTIME
我们将要看到的这个CICS程序基本没有用到CICS强大的事务处理监控能力,所以更象是一个两层C/S的应用。但是因为它如此简单,我还是把它做为您学习CICS的入门程序。
做过UNIX或NT的服务程序(UNIX经常叫DAEMON程序)朋友,会发现CICS服务程序非常容易实现,因为您不必去处理Socket、Named Pipe或FIFO之类的东西。是的,如果不考虑价格因素,用CICS去实现许多一般的服务程序可是个省事的好办法。
设想某公司要投资开发一个叫GETTIME的服务程序,其功能是公布服务器的时间,供他们的各种前端客户程序使用。这些程序必须能运行于各种常用的UNIX平台和WINDOWS NT,甚至可以移植到AS400和IBM大型机上。正在公司的编程高手们纷纷摩拳擦掌,准备大干一场时,一个初级的CICS程序员突然宣布他已在5分钟内完成了任务,并将得到一笔可观的报酬——有这种好事吗?那我们不妨就来看看GETTIME的CICS解决方案。
这是C语言作的CICS服务程序的清单(注意,这个源程序可以不加修改的运行在支持CICS的各种操作系统平台上):
#include <time.h>
#include "easycics.h"
void main(){
struct tm *newtime;
time_t aclock;
if( InitEasyCics() ) ExitEasyCics(); /* [A] */
BeginWrite(); /* [B] */
time( &aclock );
newtime= localtime( &aclock );
SetValue( "TIME", asctime(newtime) ); /* [C] */
ExitEasyCics(); /* [D] */
}
清单 2-1-1 (gettime.ccs)
客户程序更加简单,下面是一些例子:
1、ANSI C的客户程序见清单2-1-2:
#include "ec.h"
void main(){
char s[200];
ConnectServer( "CICSNT01", "TEST", "TEST" ); /* [A] */
CallProgramAndCommit("GETTIME"); /* [B] */
您可能关注的文档
- 8人口与环境.doc
- 8国际商事仲裁和诉讼案例讲解大全.doc
- 8前期物业服务协议.doc
- 7启动与关闭类故障判断流程.doc
- 8集大型纪录片第三集浴血坚持.doc
- 9138-《现代管理专题》期末复习题.doc
- 98K皮肤最终重点.docx
- 8实验八锑化铟磁电阻传感器的磁阻特性测量及应用.doc
- A-level数学词汇分类整理微积分篇(二).docx
- ACCA考试科目详细介绍.docx
- 地理-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 历史|湖北元月调考暨湖北省部分市州元月高三期末联考历史试卷及答案.docx
- 历史-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 数学(理科)-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 历史丨金太阳24~239C湖北省十堰市2024届高三上学期1月调研考试历史试卷及答案.docx
- 青岛某高层办公楼地下防水施工方案(sbs卷材).docx
- 土木工程实习报告表格.doc
- 工程流体力学教学课件ppt作者闻建龙工程流体力学习题答案部分.doc
- 围手术期管理制度(1)_0.doc
- 2023年公务员多省联考《申论》题(内蒙古旗县卷)及参考答案.doc
文档评论(0)