第一部分 设计 5
第1章 应用服务器的世界 5
1.1 Internet 5
1.1.1 传输协议 6
1.1.2 寻址约定 6
1.1.3 消息格式 7
1.1.4 三方面的结合 8
1.2 当今的软件体系结构 9
1.2.1 软件设计的发展 9
1.2.2 交互设计的发展 10
1.2.3 Internet上的现代系统设计 12
1.2.5 应用主机 14
1.2.4 非Internet连接 14
1.3 企业计算 15
1.4 遗留系统 15
1.4.1 遗留系统已经付过款了 15
1.4.2 更换成本太高 15
1.4.3 修复比更换更快 15
1.4.4 可以建立桥接 16
1.5 全球化 16
1.6 小结 16
第2章 当今的应用服务器 18
2.1 应用服务器能做些什么 18
2.1.1 集成遗留系统和数据库 18
2.1.2 Web站点的支持 20
2.1.3 Web集成系统的开发 21
2.1.4 个人计算机系统的部署 22
2.1.5 电子商务 23
2.1.6 性能管理 24
2.2 应用服务器如何工作 24
2.3 应用服务器的类型 26
2.3.1 操作系统型 26
2.3.2 集成型 26
2.3.3 插件型 26
2.3.4 独立型 27
2.3.5 应用服务器的市场 27
2.4 应用服务器和中间件 27
2.5 小结 27
3.1.1 术语 29
3.1 数据库发展现状 29
第3章 数据库和应用服务器 29
3.1.2 目前使用的数据库管理系统 30
3.1.3 这对应用服务器意味着什么 32
3.1.4 其他类型的数据库 33
3.2 关系模型 34
3.2.1 术语 35
3.2.2 规范化 35
3.3 SQL 38
3.3.1 过程性和描述性程序设计 39
3.3.2 基本SQL语法 40
3.3.3 ODBC和JDBC 42
3.4 小结 42
4.1 什么是子程序 43
4.1.1 客户机与服务器的子程序 43
第4章 子程序和应用服务器 43
4.1.2 子程序的类型 44
4.1.3 Applet和Servlet 44
4.1.4 辅助应用程序和插件 44
4.1.5 脚本 46
4.1.6 为什么这和应用服务器有关 46
4.2 客户端程序设计 46
4.2.1 界面增强 46
4.2.2 数据条目的编辑 46
4.2.3 客户机集成 47
4.2.4 这有什么关系 47
4.3 服务器端程序设计 47
4.4 接口 47
4.5 协议 48
4.5.1 HTTP 48
4.4.1 CGI 48
4.4.3 NSAPI 48
4.4.2 ISAPI 48
4.5.2 HTML 49
4.5.3 Web服务器和HTTP服务器 49
4.6 小结 49
第5章 组件、对象和应用服务器 50
5.1 组件和对象技术的历史 50
5.1.1 框架 50
5.1.2 非框架环境中的对象 51
5.2 组件和对象术语 51
5.2.1 类 51
5.2.5 组件与对象 52
5.2.4 如何操作对象 52
5.2.2 接口 52
5.2.3 对象和实例化 52
5.3 它们是如何工作的 53
5.4 怎样选择体系结构 53
5.5 小结 54
第二部分 开发 55
第6章 开发界面 55
6.1 应用服务器的关键 55
6.2 在客户机的Web页面中添加Applet和ActiveX控件 56
6.2.1 OBJECT元素 56
6.2.2 对象与脚本 57
6.3.1 编写ActiveX控件 58
6.3 ActiveX控件 58
6.2.4 对象的种类 58
6.2.3 为什么要用到它 58
6.3.2 用ActiveX控件进行操作 59
6.3.3 Web页面上的ActiveX控件 59
6.4 JavaBean和Java Applet 60
6.4.1 JavaBean和Java Applet 60
6.4.2 JavaBean的功能 60
6.4.3 JavaBean的基础 61
6.5 在服务器的Web页面中加入Applet和ActiveX控件 61
6.6 可扩展标记语言 62
6.7 主动服务器页面和JavaServer页面 62
6.8 小结 62
7.1.1 以业务逻辑为重点 63
7.1.2 轻松一下 63
第7章 连接到业务逻辑:COM、CORBA、EJB和RMI 63
7.1 哪些有关系以及哪些没有关系 63
7.1.3 分层和隔离 64
7.1.4 为什么要这样 64
7.2 COM/DCOM 64
7.2.1 概述 64
7.2.2 IUnknown 65
7.2.3 HResult 66
7.2.4 客户机/服务器的专门术语 66
7.2.5 标识 67
7.2.6 创建对象 67
7.3 CORBA 67
7.3.1 概述 68
7.3.2 CORBA::Object 68
7.3.4 客户机/服务器的专门术语 69
7.3.3 异常 69
7.3.5 标识 70
7.3.6 创建对象 70
7.4 RMI 70
7.4.1 RMI/JRMP 70
7.4.2 RMI/IIOP 70
7.5 企业级JavaBean 70
7.5.1 企业级JavaBean的服务 71
7.5.2 企业级JavaBean的角色 71
7.5.3 企业级JavaBean的类型 72
7.5.4 接口 72
7.6 小结 72
8.1.2 数据库驱动程序的类型 73
8.1.1 ODBC组件 73
8.1 ODBC 73
第8章 连接到数据:ODBC和JDBC 73
8.1.3 事务和并发性 74
8.2 JDBC 74
8.3 OLE DB 75
8.4 ActiveX数据对象 75
8.5 这对应用服务器意味着什么 75
8.6 小结 75
第三部分 产品化 77
第9章 事务处理和TP监视器 77
9.1 事务处理概述 77
9.1.1 事务是一个统一的操作 77
9.1.5 术语 78
9.1.4 你使用事务吗 78
9.1.3 事务与分析 78
9.1.2 事务是商业操作 78
9.1.6 事务的类型 79
9.1.7 谁来负责事务处理 79
9.1.8 操作问题 80
9.2 TP监视器 80
9.3 事务处理的标准和体系结构 81
9.3.1 X/Open XA和TX 81
9.3.2 CORBA对象事务服务 82
9.3.3 Java事务服务 82
9.3.4 微软事务服务器 83
9.4 小规模事务监视器 83
9.5 小结 83
10.1.1 站点的安全 85
第10章 安全和应用服务器 85
10.1 你需要安全吗 85
10.1.2 操作和事务的安全 86
10.2 TCP/IP上的安全 86
10.2.1 物理层 87
10.2.2 数据链路层 87
10.2.3 网络层 87
10.2.4 传输层 88
10.2.5 会话层 88
10.2.6 表示层 88
10.2.7 应用层 88
10.3 X.509证书 89
10.4 访问和目录 89
10.7 小结 90
10.5 用户端的安全 90
10.6 操作中的安全 90
第11章 小规模应用服务器 91
11.1 把小规模应用服务器用做培训工具 91
11.1.1 使用示例 91
11.1.2 学习如何测试 91
11.1.3 创建一个可用性实验室 91
11.2 用小规模应用服务器建立原型 92
11.3 准备让规模升级 92
11.4 行为准则 93
11.5 小结 93
12.2.1 实现文档自动化 95
12.1 问题一定会发生 95
12.2 文档 95
第12章 在设计时考虑维护 95
第四部分 维护 95
12.2.2 为环境建立文档 96
12.2.3 保证文档的可靠和安全 96
12.3 在设计时考虑长期运行 96
12.4 业务逻辑和操作的集成 96
12.4.1 问题是怎样出现的 96
12.4.2 预防和解决维护问题 97
12.5 小结 97
第13章 管理反馈 98
13.1 识别问题 98
13.2 建立反馈回路 98
13.5 小结 99
13.4 对外部事件做出反应 99
13.3 对反馈做出反应 99
第14章 怎样过渡到应用服务器 100
14.1 你现在的状况 100
14.1.1 系统 100
14.1.2 人员 100
14.1.3 操作 101
14.2 你想要做什么 101
14.2.1 系统 101
14.2.2 人员 101
14.2.3 操作 101
14.3 规划应用服务器 102
14.4 小结 102
附录A 当今的应用服务器产品 103
术语表 143