Java分布式应用程序设计

Java分布式应用程序设计
作 者: 苏洋编
出版社: 北京希望电子出版社
丛编项: 计算机知识普及和软件开发系列 Java应用技术丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Java
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Java分布式应用程序设计》作者简介

内容简介

本书是基于CORBA规范的Java分布式程序设计指导书。全书由19章组成,主要内容包括:分布式应用模式概览、CORBA体系结构的基本内容、OMGIDL语法结构、OMGIDL与Java语言的映射关系、idl2java映射文件分析、VisiBroker的基本内容、基于VisiBroker开发分布式应用、可移植对象适配器、基于动态调用接口和动态框架接口创建分布式应用、定位服务的应用、命名服务的应用、事件服务的应用、接口仓库的应用、对象激活进程的应用、URL命名服务的应用、基于JBuilder5和VisiBroker开发分布式应用、模拟人力资源管理分布式应用实例、模拟ATM机分布式应用实例、COM与CORBA的对比。本书提供了28个IDL接口定义文件和376个独立编写的以及由IDL接口定义文件映射生成的Java源程序。本书结构清晰,内容翔实,实例典型,边讲边练。特别适合具有一定Java语言基础的初、中级用户,同时也能为高级用户提供有力的参考,而且可作为大专院校师生教学与自学的参考书以及社会初、中级培训班教材。需要本书源代码的读者可在www.b-xr.com免费下载,文件名为3834.zip。

图书目录

第1章 分布式应用模式概览 1

1.1 客户机-服务器应用模式 1

1.1.1 客户机-服务器(C/S)

体系结构 1

1.1.2 浏览器-服务器(B/S)

体系结构 3

1.1.3 C/S和B/S体系结构的

优势与不足 3

1.2 分布式多层应用体系结构 4

1.2.1 分布式多层体系结构 5

1.2.2 分布式多层体系结构

各逻辑层的特征 7

1.3 中间件的基本概念 7

1.3.1 中间件的定义 8

1.3.2 中间件的基本特征 8

1.3.3 基于中间件的软件系统

开发和部署方式 8

1.4 小结 9

第2章 CORBA体系结构的基本内容 10

2.1 CORBA体系结构概述 10

2.1.1 CORBA的概念 10

2.1.2 CORBA规范的特点 11

2.1.3 对象请求代理的概念

和作用 11

2.1.4 CORBA中的对象模型 12

2.2 客户端CORBA对象 13

2.3 服务对象端CORBA对象 14

2.4 客户端存根 15

2.5 服务对象框架 18

2.6 对象请求代理 22

2.6.1 ORB传递服务请求的过程 23

2.6.2 ORB初始化方法 24

2.6.3 解析初始引用方法 25

2.6.4 对象字符串化和字符串

对象化方法 26

2.6.5 ORB启动 28

2.7 动态调用接口(Dynamic

Invoke Interface, DII) 28

2.7.1 客户端提出服务请求的方式 28

2.7.2 静态调用请求和动态

调用请求的区别 28

2.8 动态框架接口 29

2.9 接口仓库 30

2.10 对象适配器(Object Adapter) 31

2.11 实现仓库 32

2.12 ORB互操作 33

2.12.1 通用ORB间互操作协议 34

2.12.2 环境相关的ORB

互操作协议 34

2.13 CORBA基本服务 35

2.14 CORBA工具 38

2.15 小结 39

第3章 OMG IDL语法结构 40

3.1 OMG IDL接口定义文件举例 40

3.2 词法规则 41

3.2.1 注释风格 41

3.2.2 标识符 41

3.2.3 字面量 42

3.3 基本数据类型 42

3.4 复合数据类型 43

3.4.1 结构类型 43

3.4.2 联合类型 45

3.4.3 枚举类型 45

3.4.4 序列类型 46

3.4.5 字符串类型 47

3.4.6 数组类型 47

3.5 模块 47

3.6 接口 48

3.7 属性和只读属性 49

3.8 方向性说明 49

3.9 方法 49

3.10 单向调用请求 50

3.11 接口继承 51

3.11.1 单继承接口定义方式 51

3.11.2 多继承接口定义方式 51

3.11.3 前置声明 52

3.11.4 接口的跨模块继承 52

3.12 异常 53

3.12.1 CORBA异常定义 53

3.12.2 CORBA系统异常 54

3.12.3 CORBA用户异常 56

3.13 上下文 57

3.14 小结 58

第4章 OMG IDL与Java语言的映射关系 59

4.1 Helper类 59

4.1.1 IDL接口定义映射

生成Helper类规范 59

4.1.2 IDL复合数据类型映射

Helper类 63

4.1.3 IDL衍生数据类型映射

Helper类 65

4.2 Holder类 67

4.2.1 IDL基本数据类型映射

Holder类代码 67

4.2.2 IDL定义的接口对象映射

Holder类代码 68

4.2.3 IDL用户定义数据类型映射

Holder类代码 69

4.3 IDL常量的映射 71

4.3.1 在IDL接口定义内部定义的

常量 71

4.3.2 在IDL接口定义外部

定义的常量 72

4.4 IDL基本数据类型的映射 72

4.5 复合数据类型的映射 74

4.5.1 枚举类型的映射 74

4.5.2 结构类型映射 77

4.5.3 联合类型的映射 80

4.5.4 序列类型的映射 83

4.6 模块的映射 83

4.7 接口的映射 83

4.7.1 特征接口和方法接口

的定义 84

4.7.2 接口继承的映射 84

4.8 IDL异常的映射 86

4.9 标识符typedef定义数据类型

的映射 88

4.10 属性定义的映射 90

4.11 CORBA对象的映射 90

4.11.1 环境对象的映射 91

4.11.2 名—值对象的映射 91

4.11.3 名-值列表对象的映射 92

4.11.4 上下文对象的映射 93

4.11.5 上下文列表对象 94

4.11.6 请求对象 95

4.11.7 类型码 97

4.11.8 对象请求代理 98

4.11.9 Any数据类型 98

4.12 小结 100

第5章 idl2java映射文件分析 101

5.1 定义和映射IDL接口定义文件 101

5.2 接口对象的客户端存根文件 102

5.3 服务对象端POA框架文件 103

5.4 接口对象定义文件 104

5.5 接口对象映射的Helper类文件 104

5.6 接口对象映射的Holder类文件 106

5.7 接口对象映射的方法类文件 107

5.8 接口对象的POA框架代理类 107

5.9 小结 108

第6章 VisiBroker的基本内容 110

6.1 VisiBroker中的ORB服务工具 110

6.2 基于VisiBroker开发分布式

应用系统过程 111

6.3 VisiBroker的下载和安装 112

6.3.1 VisiBroker的下载 112

6.3.2 VisiBroker的安装过程 112

6.4 VisiBroker for Java4.5.1

安装目录的构成 117

6.5 idl2java 118

6.6 idl2ir 119

6.7 ir2idl 120

6.8 java2idl 120

6.9 java2iiop 121

6.10 vbjc 122

6.11 vbj 122

6.11.1 vbj运行客户端程序选项

122

6.11.2 vbj运行服务对象端程序

选项 123

6.12 Smart Agent 123

6.13 osfind 124

6.14 irep 125

6.15 oad 125

6.16 oadutil 126

6.17 可视化对象管理工具 127

6.17.1 定位服务管理 128

6.17.2 命名服务管理 129

6.17.3 实现仓库管理 129

6.17.4 接口仓库管理 130

6.17.5 服务对象管理 131

6.18 小结 132

第7章 基于VisiBroker开发分布式应用 133

7.1 基于VisiBroker创建分布式

应用程序过程 133

7.2 人力资源管理分布式

应用功能 134

7.2.1 系统分析 134

7.2.2 服务实现对象UML类图 134

7.3 IDL定义服务对象功能 134

7.4 将IDL接口定义映射到Java语言 135

7.5 编写客户端应用 135

7.5.1 初始化对象请求代理 135

7.5.2 定位并绑定服务对象 135

7.5.3 调用服务实现对象方法 136

7.5.4 客户端应用程序完整代码 136

7.6 编写服务对象应用程序 137

7.6.1 获取服务对象端对象

请求的代理初始化引用 137

7.6.2 获取对根POA的引用 137

7.6.3 创建服务POA 137

7.6.4 服务实现对象实例化 137

7.6.5 激活服务实现对象 137

7.6.6 激活根POA 138

7.6.7 启动服务对象 138

7.6.8 服务对象应用程序

完整代码 138

7.6.9 服务实现程序代码 139

7.7 分布式应用的运行 140

7.8 分布式应用系统的部署 141

7.9 小结 141

第8章 可移植对象适配器 142

8.1 可移植对象适配器的含义 142

8.2 POA的服务策略 143

8.2.1 生命期策略 143

8.2.2 对象标识惟一性策略 144

8.2.3 线程策略 144

8.2.4 服务实现对象的标识

赋值策略 144

8.2.5 服务实现对象维护策略 144

8.2.6 请求处理策略 144

8.2.7 明确激活策略 144

8.2.8 绑定支持策略 144

8.3 获取对根POA的引用和创建

服务POA 145

8.3.1 获取根POA的引用 145

8.3.2 创建服务POA 145

8.4 管理POA的状态 146

8.5 激活服务对象 147

8.6 服务对象与服务管理对象 148

8.7 VisiBroker的线程策略模型 149

8.7.1 线程池(Thread Pooling)

模型 149

8.7.2 会话线程(Thread-per

-session)模型 151

8.8 小结 152

第9章 基于动态调用接口和动态框架

接口创建分布式应用 153

9.1 创建基于动态调用接口的

客户端程序 153

9.1.1 创建动态调用的客户端

存根 153

9.1.2 获取对服务实现对象引用 153

9.1.3 创建请求对象 154

9.1.4 配置方法调用参数 155

9.1.5 设置返回值类型 156

9.1.6 发出调用请求, 等待

返回结果 156

9.1.7 查询服务对象返回结果 157

9.1.8 返回结果的解析 158

9.2 基于动态调用方式客户端

应用程序完整代码 158

9.3 创建基于动态框架接口的

服务实现对象程序 159

9.4 基于动态调用方式的服务

实现对象程序代码 162

9.5 创建服务对象程序 164

9.6 基于动态调用方式分布式

应用程序的运行 165

9.7 小结 166

第10章 定位服务的应用 167

10.1 定位服务的概念 167

10.2 获取定位服务代理实例 167

10.3 对象实例信息查询方法 168

10.4 对象接口定义信息查询完整代码 170

10.5 监听器类方法 171

10.6 编写监听器句柄 172

10.6.1 对象就绪状态消息

发送方法 172

10.6.2 对象关闭状态消息

发送方法 173

10.7 在对象定位代理中以监听器

方式注册实现对象 174

10.8 小结 175

第11章 命名服务的应用 177

11.1命名服务的概念 177

11.2 命名上下文 178

11.3 获取命名服务对象 181

11.4 命名服务支持工具 183

11.5 基于命名服务客户端应用

程序设计 183

11.6 基于命名服务的服务对象

程序设计 184

11.7 运行基于命名服务应用程序

的选项 187

11.8 基于命名服务分布式应用

程序的编译和运行 188

11.9 小结 189

第12章 事件服务的应用 190

12.1 事件服务概述 190

12.2 事件处理模型和事件对象接口 192

12.2.1 发送事件模型 192

12.2.2 接收事件模型 194

12.3 事件管理对象 196

12.4 事件通道 197

12.5 创建事件服务应用程序 199

12.6 小结 203

第13章 接口仓库的应用 204

13.1 接口仓库的概念 204

13.2 IDL接口名称与接口定义标识 204

13.3 接口仓库中对象定义 205

13.3.1 模块定义对象 205

13.3.2 接口定义对象 205

13.3.3 方法定义对象 207

13.3.4 属性定义对象 208

13.3.5 常量定义对象 209

13.3.6 序列定义对象 209

13.3.7 结构定义对象 210

13.3.8 字符串定义对象 210

13.3.9 枚举定义对象 211

13.3.10 异常定义对象 211

13.4 接口仓库的创建和维护 213

13.4.1 基于命令行方式的接口

仓库管理 213

13.4.2 接口仓库对象定义 213

13.5 接口仓库应用程序设计 214

13.6 小结 215

第14章 对象激活进程的应用 217

14.1 服务对象的自动激活机制 217

14.2 启动对象激活进程服务 217

14.3 对象激活进程中注册对象的管理 217

14.3.1 注册实现对象 218

14.3.2 取消对象注册 218

14.3.3 查看对象激活进程的内容 218

14.4 基于对象激活进程应用程序

设计方法 219

14.4.1 对象激活进程对象的

IDL定义 219

14.4.2 实现对象信息描述结构 221

14.4.3 在对象激活进程中注册

实现对象程序设计 222

14.5 小结 224

第15章 URL命名服务的应用 225

15.1 URL命名服务 225

15.2 URL命名服务对象 225

15.3 基于URL命名服务的客户

端程序设计 226

15.4 基于URL命名服务的服务

对象程序 227

15.5 小结 229

第16章 基于JBuilder5和VisiBroker

开发分布式应用 230

16.1 JBuilder5简介 230

16.2 JBuilder5 Enterprise版的

安装和许可证配置 231

16.2.1 JBuilder5企业版

的安装 231

16.2.2 JBuilder5的许可证配置 232

16.3 JBuilder5和VisiBroker的整合 234

16.3.1 配置ORB库 234

16.3.2 选择ORB产品 236

16.3.3 设置VisiBroker工具路径 237

16.3.4 设置VisiBroker库集合

路径 237

16.3.5 设置新建项目的默认设置

237

16.4 基于JBuilder5和VisiBroker

创建分布式应用的过程 238

16.5 创建JBuilder5工程 239

16.6 定义IDL接口 240

16.7 映射客户端存根和服务对象

框架代码 241

16.8 编写客户端程序 242

16.8.1 创建客户端应用程序 242

16.8.2 设计客户端应用程序

用户界面 243

16.8.3 编写客户端调用服务

对象方法代码 245

16.9 编写服务对象和服务对象

实现代码 246

16.9.1 创建服务对象程序 246

16.9.2 编写服务实现对象中

商务方法代码 248

16.10 分布式应用的运行和部署 250

16.11 小结 251

第17章 模拟人力资源管理分布式

应用实例 253

17.1 人力资源管理分布式应用

系统分析 253

17.1.1 系统功能描述 253

17.1.2 分布式应用服务对象的IDL

接口定义 254

17.1.3 客户端应用UML类图描述

255

17.1.4 服务对象UML类图描述 256

17.1.5 分布式应用配置图 257

17.2 服务对象应用程序设计 258

17.2.1 创建服务对象工程 258

17.2.2 编写IDL接口定义文件 258

17.2.3 创建服务对象程序 259

17.2.4 编写人力资源经理

对象HRManager实现代码 259

17.2.5 编写PersonalInfo对象实现

代码 262

17.3 客户端应用程序设计 263

17.3.1 创建客户端应用工程 263

17.3.2 编写IDL接口定义文件 263

17.3.3 创建客户端应用 263

17.3.4 创建客户端图形用户界面

设计 263

17.3.5 插入CORBA对象调用

接口 264

17.3.6 编写创建注册员工信息

请求方法 265

17.3.7 编写创建删除员工注册信息

请求方法 267

17.3.8 编写查询员工注册

信息方法 268

17.4 分布式应用系统的部署和运行 269

17.4.1 编译客户端和服务对象端

应用程序 269

17.4.2 分布式应用系统的部署 269

17.4.3 启动服务对象应用 269

17.4.4 启动客户端应用 270

17.5 小结 270

第18章 模拟ATM机分布式应用实例 271

18.1 模拟ATM机的分布式应用

系统分析 271

18.1.1 模拟ATM机分布式应用

系统功能描述 271

18.1.2 ATM机分布式应用系统

功能描述 271

18.1.3 分布式应用服务对象功能

IDL描述 272

18.1.4 客户端应用UML

类图描述 273

18.1.5 服务对象端应用UML

类图描述 274

18.1.6 分布式应用UML

配置描述 275

18.2 模拟ATM分布式应用系统服务

对象端应用程序设计 276

18.2.1 创建服务对象工程 276

18.2.2 编写IDL接口定义文件 276

18.2.3 创建服务对象程序 277

18.2.4 编写ATMServer对象

实现代码 277

18.2.5 编写ATMClient对象

实现代码 279

18.3 ATM分布式应用系统客户端

程序设计 281

18.3.1 创建客户端工程 281

18.3.2 编写IDL接口定义文件 281

18.3.3 创建客户端应用 281

18.3.4 图形用户界面设计 281

18.3.5 插入CORBA对象

调用接口 282

18.3.6 编写创建信用卡账户

方法代码 283

18.3.7 编写利用ATM系统客户端

存款的方法代码 284

18.3.8 编写利用ATM客户端从

指定账户取款方法代码 284

18.3.9 编写利用ATM客户端查询

账户余额方法的代码 285

18.4 ATM分布式应用系统的部署

和运行 286

18.4.1 编译客户端和服务对象

应用程序 286

18.4.2 分布式应用系统的部署 287

18.4.3 启动服务对象应用 287

18.4.4 启动客户端应用 287

18.5 小结 287

第19章 COM与CORBA的对比 289

19.1 COM与CORBA的产生背景 289

19.1.1 COM的产生背景 289

19.1.2 CORBA的产生背景 290

19.2 COM与CORBA的共同点 290

19.2.1 位置无关性 291

19.2.2 平台无关性 291

19.2.3 编程语言无关性 291

19.3 COM与CORBA的区别 291

19.3.1 在对象模型方面的区别 291

19.3.2 在对象的定位方面 292

19.3.3 在对象的持久性管理方面 292

19.3.4 在组件提供的服务方面 292

19.3.5 在异常定义及抛出方

式方面 292

19.3.6 在运行平台与组件开发

工具方面 293

19.4 小结 293

附录1 OMG IDL保留字 294

附录2 CORBA系统异常类型 295

附录3 接口仓库对象类型 297

附录4 CORBA对象定义 298

附录5 中英文对照 302

附录6 相关互联网资源 304