标题：IBMi重装上阵
图书信息
书名：IBM i: AS/400重装上阵——操作、管理与开发  作者：《IBM i: AS/400重装上阵》编委会 编著
ISBN：978-7-121-11732-9
出版日期：2010年12月 
定价：89.00元
开本：16开 
页码：604页
内 容 简 介
IBM i是一款优秀的商业服务器操作系统软件，一向以安全稳定、高集成性、使用简单著称。本书是一本全面介绍IBM i系列服务器的技术图书。
本书的内容分为三个部分。首先是基础篇，适合初级用户阅读，在该篇中介绍了IBM i的体系结构以及设计理念、人机接口、对象与文件系统、消息处理以及工作管理等。然后是系统管理篇，适合中高级用户阅读，在该篇中介绍了IBM i的开关机管理、安全管理、备份与恢复、补丁管理、设备管理，存储管理，分区管理以及Linux分区，故障诊断与性能调优等等。在本书的最后是开发应用篇，介绍了ILE的原理以及辅助的开发工具，CL、C/C++、RPG、Java等的编程，IBM i上的中间件产品，如Domino和Webshpere，PASE环境，集成的关系数据库，以及SOA在IBM i上的应用等。
本书的读者对象涵盖了刚入门的初级用户、从事系统管理的中高级用户，以及在IBM i上进行应用程序开发、部署或者移植的应用开发人员。本书既适合于在校的本科生和研究生，也适合于从事IBM i平台相关工作的从业人员。
序
从1988年6月IBM推出专门为中小型企业而设计的AS/400服务器至今，整整20个年头过去了。追溯到1969年IBM Rochester实验室首创System/3，在将近40年的时间里，IBM始终将为中小型客户服务作为宗旨之一。如今，在21世纪这样一个“扁平世界”中，作为计算机工业的领军企业，IBM又将研发这一系列服务器的部分工作移到了中国这样一个快速发展的国家，目的就是培养一支实力强劲的技术团队，以更好地为中国的中小型企业客户服务。
这本将近600页的中文技术辅导书阐述了IBM i系列服务器（也就是曾经的AS/400中型通用计算机）的基本结构及其精华所在。本书的作者是IBM系统与科技研发中心在北京从事IBM i系列服务器开发工作的工程师们，他们利用自己的业余时间，花费了极大的精力将此书写成。书中的各个章节，每一字、每一句，都洋溢着他们对技术精益求精、对客户诚信负责的热情。这本书既是他们辛勤劳动的结晶，也是他们对国内计算机技术发展的贡献。
“麻雀虽小，五脏俱全”。IBM i系列服务器就是这样一个完整的计算机体系。基于为中小型企业用户服务的宗旨，IBM i系列服务器既是技术独立的机箱，又是一个硬、软件集成的服务整体。一方面，从应用软件到系统软件，从中央处理器到存储，自上而下密切整合、排除了许多不必要的链接，使IBM i系列服务器能提供较高的性能且耗费较低的能耗。另一方面，IBM i系列服务器高密度的整合也为中小型企业提供了简易的使用方法。
本书全面地介绍了IBM i系列服务器的基本架构、使用界面、操作系统，包括对文件、信息和工作的管理。在深入阐述了IBM i系统的管理和维护之后，本书又对编程要点、辅助开发工具进行了详细的介绍。同时，本书还集中介绍了在IBM i系列服务器上优化了的应用软件，包括中间件、数据库等。总之，我们希望本书不但是一本优秀的入门参考书，还是系统管理人员和程序设计工程师的良师益友。
改革开放30年来，中国发生了日新月异的变化，无数的中小型企业像雨后春笋一样不断地涌现出来。在这个全球走向科技化的年代，如何选择优秀的IT架构成为每个企业都要面对的问题。IBM i系列服务器无疑是中小企业的最佳选择。它的安全稳定、高密度整合、易于管理、节能等一系列优点，能为中小型企业提供一种实惠的解决方案。作为IBM中国系统与科技研发中心的技术总裁，我为新一代年轻工程师们的热情和执着所感动。他们为写作这本书所花费的心血，是IBM公司成就客户价值观的具体体现。因为，只有他们才能深刻理解一本中文版的系统管理书籍能给国内的读者带来多大的便利和价值。
我衷心地希望这本书能为读者带来一定的帮助，同时也希望通过这本书的读者反馈得到中国用户对IBM公司的产品和服务的建设性的有益建议，以帮助我们提高产品的质量，更好地为中国的客户服务。
徐健
于上海IBM系统与科技研发中心
前  言
四年前，当我走出校园跨入IBM时，还不知道AS/400身为何物；然而，半年后我便加入IBM i（AS/400的前身）的团队，从事IBM i相关软件产品的研发工作，并与IBM i结下了不解之缘。与IBM i的初次“亲密接触”带给我很大的触动，因为它与现今流行的Windows、Linux、UNIX等操作系统从内到外都有很大的不同。
从人机界面上看，现行的操作系统的命令可以说是简洁却有几分随意的，但IBM i的命令设计却十分严谨，都遵循“动词+宾语”的结构，而且“动词”与“宾语”都有相应的简写。这样，用户就可以很容易地知道每个命令的作用。即便用户不知道某个命令的写法，也能很容易地根据需要实现的功能“猜”出相应的命令。而在Windows、Linux、UNIX等操作系统中，如果不知道某个命令的具体写法，用户就很难“猜”出相应的命令。
就内在而言，IBM i引入了超越于各种硬件技术的机器界面（Technology Independent Machine Interface，TIMI）这一概念，从而能够适应底层硬件的快速变化而不会影响操作系统的上层以及其上的应用程序。而且，IBM i从其设计之初就引入了对象的概念，并将其作为系统设计的基础之一。系统中所有的实体都是一个对象，对象具有自身的属性与类型。在IBM i中，数据类型的对象永远无法伪装成程序对象来执行，这也是IBM i为什么具有坚如磐石的安全性的内在保证之一。另外，单级存储使IBM i在十几年前便具有180亿亿的巨大的程序寻址空间，而这只在64位处理器开始普及时才在新的64位操作系统上出现。此外，IBM i集成了大量的商业应用软件，如DB2等，使用户不必再单独购买相应的软件，也解决了软件之间以及软件与操作系统之间的兼容性问题。同时，IBM i还集成了大量的第三方的应用软件，如SAP等，以满足不同的商业需求。
正是由于AS/400独特的设计、强大的稳定性及安全性，其开发者IBM Rochester实验室，于1990年被授予Malcolm Baldrige美国国家质量奖，并成为迄今为止计算机行业唯一获此殊荣的实验室。然而，IBM i并没有就此固步自封，而是积极接受用户的建议与反馈，推陈出新，不断扩充产品的功能、提高产品的性能。在1994年，IBM i推出了第一台使用64位RISC芯片的服务器。在随后的几年中，IBM i又进行了多项改进，例如引入集成文件系统、提供电子商务能力、支持Lotus Domino以及WebSphere、支持逻辑分区以及Linux等。在新的世纪，当SOA盛行之时，IBM i还增加了将传统的RPG/COBOL应用程序转化成Web Service的功能。
IBM i从一开始便将自己定位于中小型的商业应用平台。IBM i以其独特的魅力流行于美、欧及日本，20余年不衰。如今，中国的IT市场正蓬勃发展，而IBM i系统却不及其在美、欧、日那样广泛流行。我想，这也与现今我国的计算机教育普遍集中在Windows、Linux、UNIX上有关。而且，遍览中国的图书市场，关于IBM i的图书寥寥无几。因此，我们决定写一本介绍IBM i的书，将IBM i介绍给广大的中国读者以及IT从业人员，不仅让他们了解IBM i，也让IBM i成为推动中国商业计算的一股力量。
本书的内容分为三部分。首先是基础篇，适合初级用户阅读，介绍了IBM i的体系结构以及设计理念、人机接口、对象与文件系统、消息处理以及作业管理等。然后是系统管理篇，适合中级用户阅读，介绍了IBM i的开关机管理、安全管理、备份与恢复、补丁管理、设备管理、存储管理、分区管理及Linux分区、故障诊断与性能调优等。在本书的最后是开发应用篇，内容包括ILE的原理以及辅助的开发工具，在CL、C/C++、RPG、Java等环境下的编程，IBM i上的中间件产品（如Domino、WebShpere），PASE环境，集成的关系数据库，以及SOA在IBM i上的应用等。
本书的作者大部分都是IBM中国系统与科技研发中心（CSTL）的研发人员，包括王双红、钟嘉田、齐松涛、刘峻峰、郭琦、涂波、王虎、迟承敏、杨圣武等，他们牺牲了自己大量的业余时间来完成本书的写作。在IBM工作了20余年、经验丰富的IBM i资深专家王静华女士参加了本书写作的全过程，并鼎力支持我们完成本书的写作。IBM i团队相关的经理刘秉清、王丰力、Hilda Wu等在写作过程中也给予了大量的支持。此外，实验室的王立博士、钟辉、黄达亮、史刚等人审阅了本书的部分初稿，并提供了许多宝贵的建议。感谢所有在本书的写作过程中提供了支持及帮助的人！
本书的内容主要是基于IBM i 5.4编写的。在编写过程中，IBM发布了IBM i 6.1版本，但是书中的绝大部分内容仍然适用。在我们的图书交付印刷之际，IBM i的下一个版本也在紧锣密鼓的开发过程中，IBM对中小客户以及IBM i的重视可见一斑。由于时间有限，书中疏漏和错误之处在所难免，恳请广大读者批评指正。
王双红 
2009年1月
目  录
第一篇  基础篇
第1章  IBM i概述 2
1.1  IBM i的发展史 3
1.2  IBM i的体系结构 4
1.2.1  技术独立性 5
1.2.2  基于对象的设计 6
1.2.3  单级存储 6
1.2.4  软件集成 7
1.2.5  硬件集成 7
第2章  人机界面 9
2.1  传统字符界面 10
2.1.1  绿屏 10
2.1.2  CL命令 14
2.1.3  QShell 17
2.2  图形界面 18
2.2.1  iSeries Access for Windows 19
2.2.2  iSeries Access for Web 27
第3章  对象和文件系统 32
3.1  对象 33
3.1.1  对象的类型 33
3.1.2  对象的名字 34
3.1.3  对象的基本命令 35
3.2  库对象和库列表 36
3.2.1  库列表 37
3.2.2  库的常用操作和命令 39
3.3  集成文件系统 42
3.3.1  集成文件系统的概念 43
3.3.2  集成文件系统中的文件系统 44
3.3.3  访问集成文件系统 46
第4章  消息处理 50
4.1  消息类型 51
4.2  消息队列 52
4.3  预定义消息 53
4.4  消息处理 55
4.4.1  用户之间的消息传递 56
4.4.2  从CL程序中发送和接收消息 57
4.4.3  在CL过程或程序中监控消息 61
4.4.4  消息处理API 64
第5章  工作管理 66
5.1  作业 67
5.1.1  作业描述 69
5.1.2  作业类型 71
5.1.3  作业的生命周期 74
5.2  子系统 75
5.2.1  子系统描述 76
5.2.2  启动子系统 78
5.2.3  控制子系统 79
5.3  内存池 80
5.3.1  内存池的类型 81
5.3.2  内存池的编码方案 83
5.4  作业队列 86
5.4.1  子系统及作业队列 87
5.4.2  作业的调度 89
5.5  输出队列 91
5.5.1  输出队列 92
5.5.2  假脱机文件 93
5.5.3  打印机 94
5.6  作业日志 95
5.6.1  生成作业日志 95
5.6.2  查看作业日志 97
5.6.3  管理作业日志 99
5.7  定时作业 101
第二篇  系统管理篇
第6章  基本系统管理 104
6.1  开/关机管理 105
6.1.1  开机 105
6.1.2  关机 110
6.1.3  与IPL相关的系统值 111
6.2  基本安全管理 112
6.2.1  安全基础知识 113
6.2.2  安全向导 122
6.2.3  安全工具 125
6.3  备份与恢复 125
6.3.1  备份与恢复的用途 125
6.3.2  备份介质 126
6.3.3  备份 127
6.3.4  备份任务菜单 133
6.3.5  恢复 135
6.4  补丁管理 140
6.4.1  补丁的类型 141
6.4.2  程序的维护策略 142
6.4.3  补丁的应用过程 143
6.4.4  删除PTF 150
6.5  设备管理 150
6.5.1  设备的类型 151
6.5.2  创建设备描述 151
6.5.3  设备的状态 154
6.5.4  查看设备 155
6.5.5  管理设备 156
6.5.6  监控设备 157
6.5.7  配置记录和备份设备 157
第7章  系统管理高级话题 159
7.1  存储管理 160
7.1.1  存储系统的架构 160
7.1.2  基本概念 161
7.1.3  硬盘保护 163
7.1.4  硬盘池 168
7.1.5  虚拟逻辑分区 169
7.2  WBEM 170
7.2.1  CIM的基本概念 171
7.2.2  5722-UME 173
7.2.3  扩展CIM的功能 182
第8章  故障诊断与性能优化 185
8.1  故障诊断 186
8.1.1  故障诊断概述 186
8.1.2  问题检测 186
8.1.3  分析和处理问题 190
8.1.4  减少故障发生的方法 193
8.2  性能管理 196
8.2.1  性能管理的命令和工具 196
8.2.2  性能管理 211
第9章  逻辑分区管理 213
9.1  逻辑分区管理 214
9.1.1  逻辑分区概述 214
9.1.2  逻辑分区的基本概念 216
9.1.3  划分逻辑分区 218
9.1.4  管理逻辑分区 225
9.2  Linux分区的实施 234
9.2.1  Linux在System i平台上的使用 234
9.2.2  Linux分区的相关概念 234
9.2.3  Linux分区的资源规划 236
9.2.4  在System i上实施Linux 237
第三篇  开发应用篇
第10章  应用程序开发 258
10.1  集成语言环境 259
10.1.1  ILE简介 259
10.1.2  ILE程序的创建 259
10.1.3  ILE的基本概念 261
10.1.4  CL编程 273
10.1.5  RPG编程 280
10.1.6  C/C++编程 289
10.2  IBM i上的Java编程 290
10.2.1  Java与IBM i 290
10.2.2  IBM Developer Kit for Java 290
10.2.3  IBM Toolbox for Java 293
10.2.4  JDBC 302
10.2.5  IBM Technology for Java Virtual Machine 307
10.3  IBM i 上的PHP编程 309
10.3.1  PHP on IBM i概览 309
10.3.2  PHP on IBM i的安装与配置 311
10.3.3  PHP on IBM i开发 318
第11章  辅助开发工具 320
11.1  WDSC 321
11.1.1  WDSC简介 322
11.1.2  远程系统资源管理器（RSE） 323
11.1.3  WebFacing Tool和HATS 325
11.1.4  屏幕设计器（Screen Designer） 326
11.1.5  程序图（Application Diagram） 326
11.1.6  调试器 327
11.2  调试工具（Debugger） 329
11.2.1  绿屏模式下的调试 329
11.2.2  图形模式下的调试 342
第12章  IBM i上的中间件 348
12.1  WebSphere Application Server 349
12.1.1  WebSphere Application Server概览 349
12.1.2  WebSphere Application Server安装和管理 350
12.1.3  Integrated Web Application Server简介 354
12.2  基于Domino API的程序开发 355
12.2.1  Lotus Notes/Domino简介 355
12.2.2  Domino for IBM i的优势 358
12.2.3  开发Domino C/C++程序的系统需求 362
12.2.4  使用Domino C API 362
12.2.5  使用Domino C++ API 370
12.2.6  使用Extension Manager 372
12.2.7  其他编程方式 373
12.2.8  Domino系统日志的收集 374
12.2.9  Domino对64位指针和Teraspace的支持 375
第13章  PASE 380
13.1  PASE简介 381
13.2  使用PASE 382
13.3  PASE开发环境的配置 383
13.3.1  为IBM i配置SSH连接 383
13.3.2  配置个人shell环境 386
13.3.3  源代码的存储管理 386
13.3.4  C/C++编译器的安装 387
13.3.5  Build工具的选择 388
13.4  创建IBM i PASE应用 389
13.5  ILE与PASE的集成 390
13.5.1  IBM i ILE应用调用PASE 390
13.5.2  IBM i PASE应用调用ILE 398
13.6  高级话题 405
13.6.1  PASE的信号处理机制 405
13.6.2  PASE的标准I/O接口 406
13.6.3  PASE的国际化 407
13.6.4  PASE的安全性 410
13.6.5  PASE的内存模型 411
13.6.6  PASE的编码方式 412
13.6.7  PASE的环境变量 413
第14章  数据库应用开发 415
14.1  IBM i上的DB2 416
14.1.1  DB2 for System i体系结构 417
14.1.2  DB2 for IBM i数据库的访问方式 418
14.1.3  DB2 for IBM i数据库的访问接口 418
14.1.4  两个查询引擎 420
14.2  IBM i原生数据访问方式 421
14.2.1  物理文件和逻辑文件 422
14.2.2  通过DDS创建物理文件和逻辑文件 430
14.2.3  文件重载 435
14.2.4  OPNQRYF命令 438
14.2.5  通过高级语言RPGLE访问数据库 440
14.3  IBM i SQL数据访问方式 446
14.3.1  SQL语言 446
14.3.2  数据定义语言 456
14.3.3  数据操作语言 466
14.3.4  SQL对象的安全管理 492
14.3.5  数据完整性 493
14.3.6  SQL例程 496
14.3.7  嵌入式SQL编程 503
14.3.8  CLI/ODBC编程 518
14.4  使用System i导航器访问数据库 531
14.4.1  使用操作导航器进行数据库对象管理 531
14.4.2  交互式运行SQL脚本 535
第15章  IBM i上的SOA及Web
第15章  Services 542
15.1  SOA简介 543
15.2  Web Services简介 545
15.3  IBM i上的Web Services与SOA 547
15.4  使用IBM Web Administration for i5/OS将ILE RPG/COBOL应用程序发布为Web Services 549
15.4.1  前提条件 549
15.4.2  启动HTTP ADMINServer 549
15.4.3  创建Web Services服务器 550
15.4.4  把RPG程序和COBOL程序部署为Web Services 554
15.4.5  对Web Services进行测试 558
15.5  通过WDSC将传统的RPG应用程序与Web服务进行结合 561
15.6  ILE与IBM Web Services客户端的结合 567
附录A  词汇表 573
参考文献 583