前言
这是一本写了20多年的书,一本让你学习IBM主机技术不求人的书!
开始萌发写书的想法要追溯到20多年前,大学毕业分配到青岛的一家国有银行工作的时候。那时工作不是很忙,年轻的时候精力过剩,总想找点事情做做,但毕竟水平有限,能写的东西不多,成不了型,也就放下了。后来有机会去香港工作几年,然后又辗转到深圳的一家比较知名的做银行项目的民营公司,最后又到一家著名的外企,虽然这段时间的工作经历为本书提供了丰富的素材,使得读者对书中的讲述有感同身受的亲切感,但这段经历繁忙到根本没有时间和精力提笔写书。
从2008年开始转行做培训方面的工作,就又有了写书的念头。因为有一件事,让我感触很深,某个培训班的学生中,有一批学日语的学生,他们几乎完全不会英语,而我们的教材通常是英文的,根本没有这方面技术的中文书,使得有的学生实在学不下去,只好中途退学了。这件事,让我决定尽快写出一本通用的IBM主机技术方面的书,既能了却20多年前的夙愿,又能对从事主机工作的同行们尽自己的微薄之力。经过几年的努力,这本书终于面世了。
本书的定位是一本IBM主机技术方面专家级的参考书,既适合该行业的初学者入门的需要,也能满足有多年相关工作经验的行业高手进一步提高的要求。
本书有下面几个鲜明的特点,特此提出来与读者分享。
1.IBM主机技术的完整性
作者有多年的IBM主机技术应用的实践经验,非常清楚哪些技术是必须详细讲述的,哪些技术是可以一笔带过的,因此对于重要的知识点和在实际工作中经常用到的内容,以及有一定难度,平常也有可能用到的内容,本书都做了详细的讲述,以满足各种水平读者的需要;对于那些过于晦涩,使用不多的内容,本书只是简单讲述,并提供相关的参考线索,为读者进一步学习提供帮助。总之,本书希望能够让读者有一本在手、别无它求的满足感。
2.初学者入门的好帮手
多年的IBM主机技术培训和银行项目实训的教学经验,使得作者非常了解初学者对于学习IBM主机技术的需求,因此本书采用由浅入深、由易到难的编排顺序,将IBM主机技术的相关内容串联起来,使得读者只要按照本书的顺序阅读,就可以快速入门,并随着阅读内容的增加和对每个章节后面高级议题的深入理解,由初学者变成行业高手。
3.IBM主机技术高手们的增值器
由于行业的分工越来越细,即使从事IBM主机开发工作多年的人,所能接触的内容也是有限的,比方,有的人做联机方面比较多,对CICS方面的内容就比较熟悉;有的人做批处理方面的工作比较多,相应地,对作业流(JCL)方面的内容了解就要多些。由于本书充分考虑了IBM主机技术的完整性,因此,读者很容易通过本书,学到自己相对欠缺或不熟悉的知识,从而达到全面提高的目的。
此外,本书中有些议题,是目前国内书籍中很少讨论的,是作者查阅了大量的国外相关论文后汇总到本书中的,比如,处理多文件交易合并的平衡线算法及在银行应用系统中的应用、常用的MVS主控台命令和程序设计风格方面的一些内容等。
4.大量的程序例子
本书避免空洞的概念陈述,而是通过鲜活的程序实例来介绍IBM主机技术的各种元素,让读者能够从程序例子中了解技术元素的实际含义、在现实中的应用及使用过程中需要注意的地方。通过各种技术元素(程序、作业流、参数)的实际运用,让读者了解各种不同的技术元素是如何相互协作、相互配合、共同完成项目的。每个技术元素运行后的结果,都通过演示报表(Magic Report)的方法,清晰地呈现在读者的面前,加深读者对这些技术元素的理解。
5.查错和纠错技术的研讨
根据实际开发中的经验,作者深切地体会到,查错和纠错技术对于项目开发团队是多么重要,而这一点正好又是很多新手甚至工作多年的高手所欠缺的。写一个程序容易,但让程序正确完成指定的任务却不那么容易,这样的例子太多了。当程序员完成了一个程序后,运行出来的结果却是牛头不对马嘴,或运行中途异常结束的时候,很多读者都是一脸茫然,不知所措。
为了解决这个问题,本书提供了两种解决途径。
一是所谓的源程序级查错,即通过阅读源程序来辨别出错的原因。根据作者多年的实践经验,本书为各种类型的常见问题给出了几种可能出错的原因,比如,当你的程序出现死循环的时候,本书就为你提供了几种可能的原因,帮助读者通过阅读源程序尽快找到问题的根源。
另一种是根据运行时系统提供的信息,比如,系统的返回码或出错的程序代码的位移等,帮你顺藤摸瓜,一步一步地确定出错原因,从而找到解决办法。
这本书能够面世,要感谢的人很多。对于以前在银行或公司一起工作的同事们,正是跟他们一起工作的时光,使作者能够博采他们出色的技术特长,汲取他们横溢的技术精华,才能使本书的内容如此多姿多彩。限于篇幅,这里就不一一列出他们的名字了。
参与本书编写的还有王青萍女士,她提供了本书中全部的精美绘图并提供了与图相关的文字描述。本书由于时间跨度长,信息容量大,加上作者水平有限,一定有许多疏漏的地方,敬请广大读者批评指正。