《GLOBUS TOOLKIT 4 JAVA网格服务编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:BORJASOTOMAYORISACHILDERS著;薛胜军,马延淮,刘文杰译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302207733
  • 页数:379 页
图书介绍:本书是一本网格服务编程的“初学者实践指南”,介绍如何运用Globus Toolkit(简称GT4)进行Java编程服务。本书共分四部分,第一部分介绍网格计算理论基础、WSRF、Web Service和GT4组件;第二部分介绍GT4 Java Web服务核心,并指导读者如何利用这些组件进行网格服务编程;第三部分介绍GT4安全,介绍GT4安全策略以及组件,并给出了众多的应用实例;第四部分为应用实例FileBuy,介绍如何使用GT4组件来实现该网络系统。

第一部分 网格概念 3

第1章 网格计算 3

1.1 一个问题 3

1.2 解决方法:网格计算 4

1.3 书面定义 5

1.4 网格体系结构 6

1.4.1 构造层 6

1.4.2 链接层 6

1.4.3 资源层 7

1.4.4 汇集层 7

1.4.5 应用层 8

1.5 网格系统的例子 8

1.6 小结 8

参考文献 8

第2章 OGSA、WSRF和GT4 10

2.1 OGSA和WSRF 10

2.1.1 开放网格服务体系(OGSA) 10

2.1.2 Web Service资源框架(WSRF) 11

2.2 如何与GT4相关联 12

参考文献 13

第3章 Web服务 14

3.1 一个典型的Web Service调用 15

3.2 Web服务体系 16

3.3 Web Service寻址 17

3.4 实际工作过程 18

3.5 聚焦服务器端 19

参考文献 20

第4章 WSRF 21

4.1 WRSF:关于状态的一切 21

4.2 有状态的资源方法 22

4.3 Web Service资源寻址 23

4.4 资源属性 25

4.5 WSRF说明书 25

4.5.1 WS-ResourceProperties 26

4.5.2 WS-Resource Lifetime 26

4.5.3 WS-ServiceGroup 26

4.5.4 WS-BaseFaults 26

4.6 相关的规格说明 26

4.6.1 WS-Notification 26

4.6.2 WS-Addressing 27

参考文献 27

第5章 Globus Toolkit 4 28

5.1 GT4组件概览 28

5.1.1 安全 28

5.1.2 数据管理 28

5.1.3 执行管理 29

5.1.4 信息服务 30

5.1.5 公共运行时 30

5.2 GT4服务概览 31

参考文献 31

第二部分 GT4 JAVA WS代码第6章 编写第一个有状态Web Service 35

6.1 步骤一:用WSDL定义服务接口 37

6.1.1 WSDL代码 37

6.1.2 WSDL的WSRF和Globus特性 40

6.1.3 命名空间映射 41

6.2 步骤二:用Java实现服务 42

6.2.1 QNames接口 42

6.2.2 实现服务 42

6.3 步骤三:用WSDD配置部署文件(和JNDI) 49

6.3.1 WSDD部署描述符 50

6.3.2 JNDI部署文件 51

6.4 步骤四:利用Ant创建GAR文件 52

6.4.1 Ant 53

6.4.2 globus-build-service脚本和buildfile 54

6.4.3 为Mathservice创建GAR文件 54

6.5 步骤五:向Web Service容器部署服务 55

6.6 一个简单的客户端程序 55

第7章 单一资源 60

7.1 对实现进行分离 60

7.1.1 Resource、Home和Servce 60

7.1.2 WSDL文件 62

7.1.3 Constants接口 62

7.1.4 Resource的实现 62

7.1.5 Service的实现 64

7.1.6 Resource home 67

7.2 对服务进行编译、部署和测试 68

第8章 复合资源 71

8.1 WS-Resource的工厂模式 71

8.2 在GT4中实现WS-Resource工厂模式 72

8.3 factory服务 76

8.4 instance服务 80

8.5 Resource 81

8.6 resource home 82

8.7 编译和部署 84

8.7.1 部署描述符 84

8.7.2 JNDI部署文件 85

8.7.3 编译和部署 88

8.8 一个简单的客户端程序 88

8.9 一个稍微复杂的客户端程序 91

8.9.1 用于创建资源的客户端程序 91

8.9.2 用于调用add操作的客户端程序 93

第9章 日志 96

9.1 Jakarta Commons Logging体系结构 96

9.2 给MathService添加日志 97

9.3 查看输出的日志信息 99

第10章 资源属性 102

10.1 资源属性详述 102

10.2 使用标准的WSRF端口类型 104

10.3 WS-Resource Properties端口类型 107

10.3.1 GetResourceProperty 108

10.3.2 GetMultipleResourceProperties 108

10.3.3 SetResourceProperties 108

10.3.4 QueryResourceProperties 108

10.4 访问资源属性的正确方法 108

10.4.1 WSDL文件 109

10.4.2 Java文件 110

10.4.3 Operation Providers 110

10.4.4 部署文件 111

10.4.5 编译和部署 111

10.4.6 客户端代码 112

10.5 一个更加精心准备的案例 116

10.5.1 WSDL文件 116

10.5.2 Resource的实现 118

10.5.3 部署文件 119

10.5.4 编译和部署 120

10.5.5 客户端代码 120

10.6 SimpleResourceProperty 125

10.7 命令行客户端 129

10.7.1 wsrf-get-property 129

10.7.2 wsrf-get-properties 130

10.7.3 wsrf-update-property 130

10.7.4 wsrf-insert-property 131

10.7.5 wsrf-delete-property 132

10.7.6 wsrf-query 132

参考文献 133

第11章 生命周期管理 134

11.1 即时销毁 134

11.2 调度销毁 139

11.2.1 WSDL文件 139

11.2.2 Resource的实现 140

11.2.3 部署 141

11.2.4 客户端程序 142

11.3 资源被销毁时执行响应操作 144

11.4 命令行客户端程序 144

11.4.1 wsrf-destroy 144

11.4.2 wsrf-set-termination-time 145

参考文献 146

第12章 持久资源 147

12.1 驻内资源VS持久资源 147

12.2 PersistentResource接口 148

12.2.1 load方法 148

12.2.2 store方法 149

12.2.3 清理工作 149

12.3 为MathService添加持久资源 149

12.3.1 交叉调用initialize方法 150

12.3.2 使用FilePersistenceHelper 151

12.3.3 store方法 153

12.3.4 load方法 154

12.3.5 清理工作 156

12.3.6 测试 156

12.4 资源缓存 159

参考文献 160

第13章 通知 161

13.1 什么是通知 161

13.2 WS-通知 162

13.2.1 WS-Topics 163

13.2.2 WS-BaseNotification 163

13.2.3 WS-BrokeredNotification 164

13.3 GT4中的通知 164

13.4 实现资源属性变化通知 165

13.4.1 WSDL文档 165

13.4.2 实现资源 167

13.4.3 实现服务 168

13.4.4 部署描述器 168

13.4.5 编译和发布 169

13.4.6 客户端代码 170

13.5 用ReflectionResourceProperty代替SimpleResourceProperty 174

13.6 定制通知消息 175

13.6.1 WSDL文档 176

13.6.2 实现资源 177

13.6.3 实现服务 178

13.6.4 编译和发布 178

13.6.5 监听通知 179

13.7 命令行客户端程序 180

13.7.1 wsn-subscribe 180

13.7.2 wsn-get-current-message 181

参考文献 182

第14章 实现自定义的操作提供者 183

14.1 RemoteLogging提供者 183

14.2 操作提供者的WSDL文档 184

14.3 操作提供者实现 185

14.4 把操作提供者插入MathService 187

14.4.1 WSDL文档 188

14.4.2 实现资源 189

14.4.3 部署描述器 190

14.5 测试 191

第三部分 GT4安全 195

第15章 安全基础概念 195

15.1 什么是安全通信 195

15.1.1 安全通信的三个基本要素 195

15.1.2 授权 196

15.2 密码术概述 197

15.2.1 基于密钥的算法 197

15.2.2 基于密钥的对称算法和非对称算法 199

15.3 公钥密码术 199

15.3.1 使用公钥密码术的安全通信 199

15.3.2 公钥体制的利弊 200

15.3.3 数字签名:公钥体制中的完整性 201

15.3.4 公钥体制中的认证 202

15.4 认证和认证授权 202

15.4.1 关于信任 202

15.4.2 X.509证书格式 203

15.4.3 CA层次 204

参考文献 205

第16章 GSI:网格安全基础设施 206

16.1 GSI简介 206

16.2 传输层和信息层的安全策略 206

16.3 认证 208

16.4 授权 209

16.4.1 服务器端授权 209

16.4.2 客户端授权 209

16.4.3 定制授权 210

16.5 委托和单点登录(代理证书) 210

16.5.1 问题 210

16.5.2 方案:代理证书 211

16.5.3 解决方案:委托和单点登录 211

16.5.4 细节 212

16.6 容器、服务和资源安全 214

参考文献 214

第17章 撰写一个安全的mathservice 215

17.1 一个安全服务 215

17.1.1 服务接口 215

17.1.2 服务实现 215

17.2 安全描述符 216

17.3 一个安全的客户端 217

17.4 测试 219

17.5 真的开始工作了吗 221

第18章 安全描述符 226

18.1 基本结构 226

18.2 公共选项 226

18.3 服务安全描述符 227

18.4 资源安全描述符 228

18.5 客户端安全描述符 228

18.6 容器安全描述符 229

18.6.1 指定容器的信任状 229

18.6.2 信息级安全选项 230

18.6.3 全局gridmap文件 231

第19章 认证 232

19.1 服务认证选项 232

19.1.1 默认认证方法的设置 232

19.1.2 为每个方法设定认证方法 233

19.1.3 设置保护级别 234

19.2 客户端认证选项 235

19.2.1 GSI安全会话 235

19.2.2 GSI安全消息 236

19.2.3 GSI传输 238

19.3 举例 239

19.3.1 案例一 239

19.3.2 案例二 244

第20章 授权 247

20.1 服务端授权 247

20.1.1 无授权 247

20.1.2 自主授权 247

20.1.3 身份授权 248

20.1.4 主机授权 248

20.1.5 SAML Callout授权 249

20.2 Gridmap授权 250

20.2.1 Gridmap文件 250

20.2.2 配置Gridmap授权 251

20.2.3 服务 251

20.2.4 测试gridmap 252

20.3 客户端授权 253

20.3.1 无授权 253

20.3.2 自主授权 254

20.3.3 身份授权 254

20.3.4 主机授权 255

20.4 自定义授权机制 255

第21章 资源级安全 258

21.1 资源安全描述符 258

21.2 采用编程的方式配置资源级安全 259

21.3 案例 260

21.3.1 WSDL文件 260

21.3.2 实现文件 261

21.3.3 部署描述符 262

21.3.4 运行和配置 263

21.3.5 测试服务 263

第22章 Run-as模型和委托 267

22.1 run-as模型 267

22.2 和委托相关的第一个案例 271

22.2.1 在客户端激活委托 271

22.2.2 在服务器端激活委托 272

22.2.3 编译和部署 273

22.2.4 编译和运行客户端 273

22.3 一个更加精细的和委托相关的案例 275

22.3.1 概述 275

22.3.2 PhysicsService 276

22.3.3 编译和部署 280

22.3.4 无委托的客户端 281

22.3.5 有委托的客户端 283

22.4 为资源委托信任状 285

22.4.1 安全描述符 285

22.4.2 WSDL文件 286

22.4.3 实现文件 287

22.4.4 编译和部署 289

22.4.5 测试 290

22.5 委托服务 292

参考文献 292

第四部分 FileBuy应用系统第23章 设计 295

23.1 资源代理总览 295

23.2 FileBuy系统概述 298

23.3 用例 299

23.3.1 用例1:发布文件 299

23.3.2 用例2:查找文件 301

23.3.3 用例3:购买文件 302

23.4 部署体系架构 304

23.5 安全考虑 305

23.5.1 认证 305

23.5.2 隐私和完整性 306

23.5.3 授权 306

23.6 总论 307

参考文献 308

第24章 实现 309

24.1 设置 310

24.1.1 在一台机器上运行FileBuy 311

24.2 用例1:发布文件 312

24.2.1 FilesForSale服务 312

24.2.2 AddFile客户端 318

24.2.3 测试 318

24.3 用例2:查找文件 319

24.3.1 文件代理服务 319

24.3.2 FindFile客户端 322

24.4 用例3:购买文件 324

24.4.1 FileBuyer服务:Purchase操作 324

24.4.2 FileBroker服务:purchase操作 325

24.4.3 FilesForSale服务:fillOrder操作 325

24.4.4 文件传输服务:transfer操作 325

24.4.5 FileBuyer服务:transfer操作 326

24.4.6 FileBroker服务:report操作 327

24.4.7 测试 327

总结 328

第五部分 附录 333

附录A Globus Toolkit 4工具包的安装 333

A.1 安装工具集前需要准备的一些软件 333

A.2 工具集的安装 334

A.3 对GT4进行CA安全配置 338

A.4 获取Host Certificate 341

A.5 设置容器证书 343

A.6 设置用户证书 344

A.7 Globus单机容器 346

附录B WSDL入门 347

B.1 WSDL文档的基本结构 347

B.2 端口类型 348

B.3 消息 349

B.4 在types标记中对请求和响应进行定义[yqq3] 350

B.5 资源属性的声明 351

B.6 小结 352

参考文献 354

附录C 命令行客户端 355

C.1 常用参数 355

C.2 客户端资源属性 355

C.3 客户端资源生命周期 359

C.4 客户端通知 360

C.5 Globus管理 362

C.6 用法举例 363

附录D 示例 365

D.1 服务接口Service Interfaces 365

D.2 服务 373

附录E globus-build-service脚本参考 376

E.1 参数 376

E.2 速记符 377

E.3 GAR文件 377

E.4 Build目录 378