Java Web系统设计与架构(UML建模+设计模式+面向服务架构)

副标题:无

作   者:刘中兵Java研究室编著

分类号:

ISBN:9787121097287

微信扫一扫,移动浏览光盘

简介

   本书讲解JavaWeb系统设计与架构,包括Java与UML建模技术、Java设   计模式、面向服务架构SOA、面向资源架构ROA、面向云架构COA,这5部分   内容层层递进,涵盖了JavaEE开发中的各种设计与架构技术。讲解的主要   内容包括如下。    Java与UML建模:讲解UML建模的5类10种图,包括用例图、静态图(类   图、对象图、包图)、实现图(组件图、部署图)、行为图(状态图、活动图)   、交互图(序列图、协作图),并结合Bug管理系统、ATM取款机等实例进行   讲解。    Java设计模式:包括5种创建型模式(工厂方法模式、抽象工厂模式、   单例模式、建造者模式、原型模式)、7种结构型模式(适配器模式、装饰器   模式、代理模式、外观模式、桥接模式、组合模式、享元模式)、11种行为   型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式   、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器   模式),并通过Java中的经典案例进行展示。    面向服务架构SOA:讲解Web服务协议(SOAP、WSDL、UDDI)、Web服务开   发技术(使用JAX-WS、Axis开发Web服务)、SOA架构技术(Sun公司的JBI和   IBM/BEA公司的SCA/SDO、OSGi架构)、SOA延伸技术(BPEL业务流程管理、   ESB企业服务总线与EAI企业应用集成)、SOA扩展应用(Portal门户组件与   Portlet窗口组件)。    面向资源架构ROA:讲解REST产生的背景、概念、基本原理、设计方法   ,以及常用REST开源框架、ROA面向资源架构。    面向云架构COA:讲解云计算的几个发展阶段的概念,包括网格计算、   集群计算、分布式计算和云计算,以及云服务的特点、实现形式和实际应   用。随书附赠光盘内容为本书各种原型包、系统源程序。    本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参   考手册。   

目录

绪论 软件设计与架构概述. 1

一、java与uml建模 1

二、java设计模式 2

1.创建型模式
2.结构型模式
3.行为型模式

三、系统架构 4

1.面向服务架构soa
2.面向资源架构roa
3.面向云架构coa

第1部分 java与uml建模

第1课 uml快速入门 9

1.1 uml建模概述 9

1.1.1 面向对象方法 10

1.1.2 面向对象建模omt 10

1.1.3 统一建模语言uml 11

1.1.4 uml的起源和发展 11

1.1.5 为什么要使用uml 12

1.2 uml基本构成元素 13

1.2.1 4种事物 13

.1.结构事物(structural things)
2.行为事物(behavioral things)

3.分组事物(grouping things)
4.注释事物(annotational things)

1.2.2 4种关系 16

1.依赖(dependencies)
2.关联(association)
3.泛化(generalization)
4.实现(realization)

1.2.3 10种图 17

1.用例图(usecase diagram)
2.类图(class diagram)

3.对象图(object diagram)
4.包图(package diagram)

5.组件图(compoment diagram)
6.部署图(deployment diagram)

7.状态图(statechart diagram)
8.活动图(activity diagram)

9.序列图(sequence diagram)
10.协作图(collaboration diagram)

1.2.4 uml图的分类 22

1.3 uml设计工具 24

1.3.1 使用rose进行uml建模 24

1.3.2 使用visio进行uml建模 25

1.4 本课小结 27

1.4.1 本课图例打包uml.mdl 27

1.4.2 总结本课的知识点 27

1.4.3 要掌握的关键点 28

1.4.4 课后上机作业 29

1.4.5 继续下一课:用例图 29

第2课 用例图 31

2.1 用例概述 31

2.1.1 什么是用例 31

2.1.2 为什么要使用用例 32

2.1.3 用例图的基本模型元素 32

2.2 用例图的绘制 33

2.2.1 参与者的表示法 33

2.2.2 用例的表示法 34

2.2.3 系统边界的表示法 35

2.2.4 通信关联的表示法 35

2.3 用例图的建立过程 36

2.3.1 发现参与者及检查标准 36

2.3.2 发现用例及检查标准 37

2.3.3 编写用例规约 37

2.3.4 用例图创建技巧 38

2.4 本课小结 39

2.4.1 本课图例打包usecase.mdl 39

2.4.2 总结本课的知识点 40

2.4.3 要掌握的关键点 40

2.4.4 课后上机演练—企业产品生产销售管理系统 41

2.4.5 继续下一课:静态图—类图、对象图、包图 42

第3课 静态图—类图、对象图、包图 43

3.1 类图的绘制 43

3.1.1 类图的表示法 43

1.类图的表示法
2.类图属性的表示法
3.类图操作的表示法

3.1.2 接口的表示法 46

3.1.3 类图之间的4种关系 46

1.泛化关系(generalization)—表示类的继承
2.关联关系(association)—表示类的变量

3.依赖关系(dependency)—表示局部变量
4.实现关系(realization)—表示接口的实现

3.2 对象图的绘制 50

3.2.1 对象图的表示法 50

3.2.2 对象图的使用场景—序列图和协作图 50

3.3 包图的绘制 52

3.3.1 包图的表示法 52

3.3.2 使用包包含类 52

3.3.3 使用包包含子包 53

3.3.4 包的依赖关系 53

3.4 本课小结 54

3.4.1 本课图例打包class.mdl 54

3.4.2 总结本课的知识点 57

3.4.3 课后上机演练—企业信息管理系统用户登录和注册模块 58

3.4.4 继续下一课:实现图—组件图与部署图 59

第4课 实现图—组件图与部署图 61

4.1 组件图的绘制 61

4.1.1 组件的表示法 61

4.1.2 程序的表示法 62

1.子程序规范
2.子程序体
3.主程序

4.1.3 包的表示法 62

1.包规范
2.包体

4.1.4 任务的表示法 63

1.任务规范
2.任务体

4.1.5 组件之间的依赖 63

4.2 部署图的绘制 64

4.2.1 处理器节点的表示法 64

4.2.2 设备节点的表示法 64

4.2.3 节点之间的关联 64

4.3 本课小结 65

4.3.1 本课图例打包component.mdl 65

4.3.2 总结本课的知识点 66

4.3.3 要掌握的关键点 67

4.3.4 课后上机演练—企业信息管理系统部署图 67

4.3.5 继续下一课:行为图—状态图 68

第5课 行为图—状态图 69

5.1 状态图的绘制 69

5.1.1 状态图的基本模型 69

5.1.2 状态的表示法 70

5.1.3 转换的表示法 71

5.2 状态的绘制 72

5.2.1 初始状态的表示法 72

5.2.2 终止状态的表示法 73

5.2.3 子状态的表示法 73

5.2.4 历史状态的表示法 73

5.3 本课小结 74

5.3.1 本课图例打包statechart.mdl 74

5.3.2 总结本课的知识点 75

5.3.3 要掌握的关键点 75

5.3.4 课后上机演练 75

1.bug管理系统状态图
2.atm机存取款状态图
3.java线程类thread的状态图

5.3.5 继续下一课:行为图—活动图 78

第6课 行为图—活动图 81

6.1 活动图的绘制 81

6.1.1 活动图的基本模型 81

6.1.2 活动的表示法 82

6.1.3 转换的表示法 83

6.1.4 分支与合并的表示法 84

6.1.5 分叉与汇合的表示法 84

6.1.6 泳道的表示法 85

6.2 本课小结 87

6.2.1 本课图例打包activity.mdl 87

6.2.2 总结本课的知识点 88

6.2.3 要掌握的关键点 88

6.2.4 课后上机演练 89

1.bug管理系统活动图
2.atm机存取款活动图
3.java线程类thread的活动图

6.2.5 继续下一课:交互图—序列图 91

第7课 交互图—序列图 93

7.1 序列图的绘制 93

7.1.1 序列图的基本模型 93

7.1.2 对象生命线的表示法 94

7.1.3 激活的表示法 95

7.1.4 消息的表示法 95

7.1.5 自调用消息的表示法 97

7.2 本课小结 97

7.2.1 本课图例打包sequence.mdl 97

7.2.2 总结本课的知识点 98

7.2.3 要掌握的关键点 98

7.2.4 课后上机演练 98

1.bug管理系统序列图
2.atm机存取款序列图
3.打电话序列图

7.2.5 继续下一课:交互图—协作图 102

第8课 交互图—协作图 103

8.1 协作图的绘制 103

8.1.1 协作图的基本模型 103

8.1.2 对象的表示法 104

8.1.3 连接的表示法 104

8.1.4 消息的表示法 104

8.1.5 自调用消息的表示法 105

8.2 本课小结 105

8.2.1 本课图例打包collaboration.mdl 105

8.2.2 总结本课的知识点 106

8.2.3 要掌握的关键点 106

8.2.4 课后上机演练 106

1.bug管理系统协作图
2.atm机存取款协作图
3.打电话协作图

8.2.5 继续下一课:使用uml进行系统设计—bug管理系统 109

第9课 使用uml进行系统设计—bug管理系统 111

9.1 uml系统设计概述 111

9.1.1 软件开发的驱动方法 112

1.数据库驱动开发ddd(database-driven development)
2.测试驱动开发tdd(test-driven development)

3.模型驱动开发mdd(model-driven development)

9.1.2 正向工程与逆向工程 113

1.正向工程(forward engineering)
2.逆向工程(reverse engineering)

9.1.3 uml建模的受众分析 114

9.1.4 uml建模的过程 114

9.2 bug管理系统的模型驱动开发过程 115

9.2.1 需求分析—用例图 116

9.2.2 系统分析:分析业务规则—状态图 117

9.2.3 系统分析:分析业务流程—活动图 117

9.2.4 系统设计:设计静态结构—类图和包图 118

9.2.5 系统设计:action类被调用关系—序列图 120

9.2.6 系统设计:用户调用action类的过程—协作图 121

9.2.7 系统架构—组件图和部署图 121

9.2.8 编码实现 123

9.2.9 uml图例打包bug.mdl 123

9.3 本课小结 123

9.3.1 总结本课的知识点 123

9.3.2 要掌握的关键点 124

9.3.3 课后上机演练 125

9.3.4 继续下一课:java设计模式 125

第2部分 java设计模式

第10课 设计模式概述 131

10.1 了解设计模式 131

10.1.1 设计模式的概念 131

10.1.2 设计模式的产生—23种设计模式与gof“四人帮” 132

10.1.3 设计模式不是技术而是思想—构建可重用的程序 132

10.1.4 为什么要使用设计模式 132

10.2 设计模式的分类 133

10.2.1 创建型模式 133

1.工厂方法模式(factory method)
2.抽象工厂模式(abstract factory)

3.单例模式(singleton)
4.建造者模式(builder)

5.原型模式(prototype)

10.2.2 结构型模式 133

1.适配器模式(adapter)
2.装饰器模式(decorator)

3.代理模式(proxy) 4.外观模式(facade)

5.桥接模式(bridge)
6.组合模式(composite)

7.享元模式(flyweight)
10.2.3 行为型模式 134

1.策略模式(strategy)
2.模板方法模式(template method)

3.观察者模式(observer)
4.迭代子模式(iterator)

5.责任链模式(chain of responsibility)
6.命令模式(command)

7.备忘录模式(memento)
8.状态模式(state)

9.访问者模式(visitor)
10.中介者模式(mediator)

11.解释器模式(interpreter)

10.2.4 并发型模式 135

10.2.5 线程池模式 136

10.3 设计模式六大原则 136

10.3.1 开闭原则(open closed principle) 136

10.3.2 里氏代换原则(liskov substitution principle) 138

10.3.3 依赖倒转原则(dependence inversion principle) 141

10.3.4 接口隔离原则(interface segregation principle) 141

1.接口对应的角色
2.角色对应的接口

10.3.5 迪米特法则(最少知道原则)(demeter principle) 143

10.3.6 合成复用原则(composite reuse principle) 144

10.4 模式的讲解思路 145

1.模式的核心思想
2.何时使用
3.java中的应用

10.5 本课小结 146

10.5.1 总结本课的知识点 146

10.5.2 要掌握的关键点 147

10.5.3 继续下一课:5种创建型模式 148

第11课 5种创建型模式 149

11.1 工厂方法模式(factory method) 150

11.1.1 工厂方法模式的核心思想及分类 150

11.1.2 第一种—工厂方法模式 152

11.1.3 第二种—多个工厂方法模式 154

11.1.4 第三种—静态工厂方法模式(简单工厂模式) 156

11.1.5 何时使用工厂方法模式 157

11.1.6 java中的应用—swing中的静态工厂类borderfactory 158

11.2 抽象工厂模式(abstract factory) 161

11.2.1 抽象工厂模式的核心思想 161

11.2.2 何时使用抽象工厂模式 164

11.3 单例模式(singleton) 164

11.3.1 单例模式的核心思想 164

11.3.2 何时使用单例模式 165

11.3.3 属性文件加载工厂实例 165

11.3.4 java中的应用—日历单例类calendar 167

11.4 建造者模式(builder) 168

11.4.1 建造者模式的的核心思想 168

11.4.2 何时使用建造者模式 170

11.4.3 java中的应用—字符串建造者类stringbuilder 171

11.4.4 java中的应用—进程建造者类processbuilder 173

11.5 原型模式(prototype) 174

11.5.1 原型模式的核心思想 174

11.5.2 浅复制与深复制 175

11.5.3 何时使用原型模式 178

11.6 本课小结 179

11.6.1 总结本课的知识点 179

11.6.2 要掌握的关键点 179

11.6.3 继续下一课:7种结构型模式 180

第12课 7种结构型模式 181

12.1 适配器模式(adapter) 182

12.1.1 适配器模式的核心思想 182

12.1.2 第一种:类的适配器模式(对类进行适配) 183

12.1.3 第二种:对象的适配器模式(对对象进行包装) 185

12.1.4 第三种:接口的适配器模式(对接口抽象化) 187

12.1.5 何时使用适配器模式 190

12.1.6 java中的应用—iterator适配器(对象的适配器模式) 190

12.1.7 java中的应用—enumeration适配器(对象的适配器模式) 192

12.1.8 java中的应用—awt事件适配器(接口的适配器模式) 194

12.1.9 java中的应用—i/o字节流到字符流的适配器(对象的适配器模式) 197

1.字节输入流转换为字符输入流
2.字节输出流转换为字符输出流

12.2 装饰器模式(decorator) 200

12.2.1 装饰器模式的核心思想 201

12.2.2 何时使用装饰器模式 205

12.2.3 java中的应用—i/o输入/输出流管道的装饰器模式 205

12.2.4 java中的应用—sitemesh装饰器 207

12.3 代理模式(proxy) 208

12.3.1 代理模式的核心思想 208

12.3.2 何时使用代理模式 211

12.3.3 java中的应用—java动态代理机制 212

12.4 外观模式(facade) 214

12.4.1 外观模式的核心思想 214

12.4.2 何时使用外观模式 218

12.4.3 java中的应用 218

12.5 桥接模式(bridge) 218

12.5.1 桥接模式的核心思想 218

12.5.2 何时使用桥接模式 222

12.5.3 在java中的应用—jdbc桥drivermanager 222

12.6 组合模式(composite) 223

12.6.1 组合模式的核心思想—树形结构 223

12.6.2 何时使用组合模式 225

12.6.3 java中的应用—awt容器container 226

12.7 享元模式(flyweight) 226

12.7.1 享元模式的核心思想—共享 227

12.7.2 何时使用享元模式 227

12.7.3 java中的应用—数据库连接池 228

12.8 本课小结 230

12.8.1 总结本课的知识点 230

12.8.2 要掌握的关键点 232

12.8.3 继续下一课:11种行为型模式 232

第13课 11种行为型模式 233

13.1 策略模式(strategy) 234

13.1.1 策略模式的核心思想 235

13.1.2 何时使用策略模式 239

13.1.3 java中的应用—awt布局管理器 239

13.1.4 java中的应用—swing边界类border 240

13.2 模板方法模式(template method) 241

13.2.1 模板方法模式的核心思想 241

13.2.2 何时使用模板方法模式 246

13.2.3 java中的应用—http请求处理类httpservlet 246

1.init()方法
2.service()方法
3.destroy()方法

4.getservletconfig()方法
5.getservletinfo()方法

13.3 观察者模式(observer) 249

13.3.1 观察者模式的核心思想 249

13.3.2 何时使用观察者模式 252

13.3.3 java中的应用—observable和observer观察者实现 253

13.3.4 java中的应用—awt事件监听机制 254

13.4 迭代子模式(iterator) 255

13.4.1 迭代子模式的核心思想 256

13.4.2 何时使用迭代子模式 260

13.4.3 java中的应用—java集合类迭代子iterator和enumeration 260

1.枚举(enumeration)接口
2.迭代器(iterator)接口

13.4.4 java中的应用—jdbc查询数据集迭代子resultset 262

13.4.5 java中的应用—jsp分页器 263

13.5 责任链模式(chain of responsibility) 264

13.5.1 责任链模式的核心思想 265

13.5.2 何时使用责任链模式 267

13.5.3 java中的应用—i/o输入/输出流管道的责任链模式 267

13.6 命令模式(command) 269

13.6.1 命令模式的核心思想 269

13.6.2 何时使用命令模式 271

13.6.3 java中的应用—awt界面事件处理 272

1.音乐播放器主程序musicplayer.java
2.播放线程playthread.java

3.运行mp3音乐播放器

13.7 备忘录模式(memento) 278

13.7.1 备忘录模式的核心思想 278

13.7.2 何时使用备忘录模式 280

13.7.3 java中的应用—session和application对象 281

1.session会话对象
2.application应用程序对象

13.8 状态模式(state) 281

13.8.1 状态模式的核心思想 282

13.8.2 何时使用状态模式 284

13.8.3 java中的应用—java工作流引擎 285

13.9 访问者模式(visitor) 286

13.9.1 访问者模式的核心思想 286

13.9.2 何时使用访问者模式 289

13.9.3 java中的应用—java annotaion访问者实现 290

13.10 中介者模式(mediator) 291

13.10.1 中介者模式的核心思想 291

13.10.2 何时使用中介者模式 294

13.10.3 java中的应用—java多线程数据共享 294

1.产品类
2.产品仓库类
3.生产者类

4.消费者类
5.测试类
6.运行结果

13.11 解释器模式(interpreter) 299

13.11.1 解释器模式的核心思想 299

13.11.2 何时使用解释器模式 302

13.11.3 java中的应用—java正则表达式解释器pattern 303

13.12 本课小结 303

13.12.1 总结本课的知识点 303

13.12.2 要掌握的关键点 305

13.12.3 继续下一课:面向服务架构soa 306

第3部分 面向服务架构soa

第14课 web服务协议—soap、wsdl、uddi和ws协议集 309

14.1 web服务概述 309

14.1.1 什么是web服务 309

14.1.2 为什么要使用web服务 310

1.传统应用程序
2.分布式计算
3.web服务

14.1.3 使用web服务的方式 312

1.远程过程调用—xml-rpc服务调用
2.面向服务架构soa—soap服务调用

3.表述性状态转移—rest服务调用

14.2 web服务基本规范 313

14.2.1 web服务协议族 314

14.2.2 web服务通信协议—简单对象访问协议(soap) 315

14.2.3 web服务描述协议—web服务描述语言(wsdl) 317

14.2.4 web服务发现协议—统一描述、发现和集成(uddi) 320

14.3 web服务扩展规范—ws协议集 325

14.3.1 ws安全(ws-security) 325

14.3.2 ws策略(ws-policy) 326

14.3.3 ws寻址(ws-addressing) 327

14.3.4 ws业务流程(ws-bpel) 328

14.4 本课小结 331

14.4.1 总结本课的知识点 331

14.4.2 要掌握的关键点 332

14.4.3 继续下一课:web服务开发技术—使用jax-ws开发web服务 333

第15课 web服务开发技术—使用jax-ws开发web服务 335

15.1 jax-ws概述 335

15.1.1 jax-ws简介 335

15.1.2 jax-ws与jax-rpc之间的关系 336

15.1.3 为什么要使用jax-ws 336

15.2 jax-ws快速上手—helloworld实例 337

15.2.1 开发web service服务器端—jaxwshelloworldserver项目.. 337

1.创建服务器端类helloworld.java
2.运行wsgen导出服务器端代码

3.导出文件目录结构
4.生成的java代码sayhello.java

5.生成的java代码sayhelloresponse.java
6.生成的wsdl文件helloworldservice.wsdl

7.生成的xsd文件helloworldservice_schema1.xsd
15.2.2 发布web service服务 341

1.编写服务器端启动程序helloworldserver.java
2.启动web service服务

15.2.3 开发web service客户端—jaxwshelloworldclient项目 342

1.运行wsimport导出客户端代码
2.导出文件目录结构

3.生成接口类helloworld.java
4.生成实现类helloworldservice.java

5.生成对象工厂类objectfactory.java
6.编写客户端类helloworldclient.java

7.运行客户端类

15.2.4 打包jaxwshelloworldserver.zip和jaxwshelloworldclient.zip 347

15.3 本课小结 348

15.3.1 总结本课的知识点 348

15.3.2 要掌握的关键点 349

15.3.3 继续下一课:web服务开发框架—使用axis框架开发web服务 349

第16课 web服务开发框架—使用axis框架开发web服务 351

16.1 常用的web服务框架 351

16.1.1 apache服务框架axis 351

16.1.2 codehaus服务框架xfire 352

16.1.3 apache服务框架cxf 353

16.2 axis服务框架简介 353

16.2.1 axis框架 353

16.2.2 axis2框架 353

16.2.3 axis2的扩展 354

16.3 eclipse+axis2整合开发web service—helloworld实例 354

16.3.1 下载并安装axis2 355

16.3.2 配置eclipse与axis2的集成 356

16.3.3 开发web service服务器端—axishelloworldserver项目 356

1.新建服务类helloworld.java
2.新建并发布web service
3.访问web service

16.3.4 开发web service客户端—axishelloworldclient项目 360

1.导出web service客户端代码
2.编写客户端类
3.运行客户端类

16.3.5 打包axishelloworldserver.zip和axishelloworldclient.zip 362

16.4 本课小结 363

16.4.1 总结本课的知识点 363

16.4.2 要掌握的关键点 364

16.4.3 继续下一课:soa面向服务架构—sun的jbi和ibm/bea的sca/sdo 364

第17课 soa面向服务架构—sun的 jbi和ibm/bea的sca/sdo 367

17.1 soa概述 367

17.1.1 soa的基本定义—soa是一种架构模型 367

17.1.2 soa的本质特征—soa不是一种技术,而是一种的样式 368

17.1.3 使用soa的好处 368

17.2 构成soa的技术 369

17.2.1 构成soa的技术 369

17.2.2 实现soa的技术标准 370

17.2.3 本书soa讲解的内容 371

17.3 本课小结 371

17.3.1 总结本课的知识点 371

17.3.2 要掌握的关键点 372

17.3.3 继续下一课:jbi业务集成架构—java实现soa的标准途径 372

第18课 jbi业务集成架构—java实现 soa的标准途径 373

18.1 jbi概述 373

18.1.1 jbi是什么 373

18.1.2 jbi产生的原因 374

18.1.3 如何使用jbi 374

18.2 jbi服务架构—基于插件方式的架构 375

18.2.1 组件框架—把不同类型的组件部署到jbi容器 375

1.绑定组件(bc,binding components)
2.服务引擎组件(sec,service engines components)

18.2.2 规范化消息路由器—利用标准机制实现服务间消息交换 376

18.2.3 管理框架—基于jmx进行部署、管理及监控jbi容器中的组件 376

18.3 应用jbi解决方案 377

18.3.1 jbi系统开发任务分解 377

1.服务引擎开发
2.绑定组件开发
3.服务开发
4.jbi容器

18.3.2 jbi可以集成的功能 377

18.3.3 jbi开源项目 378

18.4 本课小结 379

18.4.1 总结本课的知识点 379

18.4.2 要掌握的关键点 379

18.4.3 继续下一课:sca服务组件架构—实现soa的最佳方式 380

第19课 sca服务组件架构—实现soa的 最佳方式 381

19.1 sca概述 381

19.1.1 sca的产生 381

19.1.2 sca服务架构 382

19.1.3 sca基本概念 383

1.服务组件(component)
2.服务模块(composite)

3.接口(interface)和引用(reference)
4.导入(import)和导出(export)

5.共享库
6.独立引用

19.1.4 sca基本规范 384

19.1.5 sca的扩展性 386

19.1.6 sca的优势 386

19.1.7 sca与jbi的区别 387

19.2 sca解决方案 388

19.2.1 sca开源项目 388

19.2.2 sca商业产品 388

19.2.3 apache的tuscany 388

19.2.4 eclipse下soa开发插件stp 389

19.3 使用tuscany构建sca服务器端与客户端—计算器实例 390

19.3.1 新建项目并设置tuscany环境 391

19.3.2 开发sca服务器端组件 392

1.加法模块addservice
2.减法模块subtractservice

3.乘法模块multiplyservice
4.除法模块divideservice

5.主模块calculatorservice
19.3.3 传统的调用方式 396

19.3.4 配置sca服务器端 396

19.3.5 开发sca客户端 398

1.创建节点
2.启动节点
3.定位服务
4.停止节点

19.3.6 运行客户端 399

19.3.7 打包scajava.zip 400

19.4 使用tuscany构建分布式web服务—helloworld实例 401

19.4.1 通过sca服务器端发布web服务 401

1.创建sca服务器端
2.配置sca服务
3.启动sca服务器端
4.测试web服务

19.4.2 通过sca客户端访问远程web服务 404

1.配置客户端组件helloworld.composite
2.添加组件引用helloworldimpl.java

3.开发客户端helloworldclient.java
4.运行客户端

19.4.3 打包scawsserver.zip和scawsclient.zip 406

19.5 本课小结 407

19.5.1 总结本课的知识点 407

19.5.2 要掌握的关键点 408

19.5.3 继续下一课:sdo服务数据对象—sca数据服务组件 409

第20课 sdo服务数据对象—sca数据服务组件 411

20.1 sdo概述 411

20.1.1 sdo是什么 411

20.1.2 sdo数据模型 412

1.数据对象(data object)
2.数据图(data graph)
3.数据访问服务(data access services,das)

20.1.3 sdo的特性 413

1.sdo统一访问异构的数据源
2.sdo统一支持静态和动态数据api

3.sdo支持离线编程模型
4.sdo支持基于常见设计模式的客户数据访问层

5.sdo降低应用代码和数据访问代码之间的耦合度

20.2 sdo与其他数据模型对比 414

20.2.1 sdo与dao的对比 414

20.2.2 sdo与jdo的对比 415

20.2.3 sdo与jaxb的对比 415

20.2.4 sdo与ado.net的对比 415

20.3 sdo核心类简介 415

20.3.1 sdo数据对象dataobject 416

20.3.2 sdo数据图datagraph 420

20.3.3 sdo数据类型type 421

20.3.4 sdo帮助类 423

20.4 本课小结 423

20.4.1 总结本课的知识点 423

20.4.2 要掌握的关键点 424

20.4.3 继续下一课:osgi体系架构—sca的一种实现方式 425

第21课 osgi体系架构—sca的一种实现方式 427

21.1 osgi概述 427

21.1.1 什么是osgi 427

21.1.2 osgi体系结构 428

1.java执行环境层
2.模块层(系统类库)
3.生命周期层(osgi)

4.服务注册层(服务)
5.应用层(bundle)
6.服务层

21.1.3 osgi开源框架 430

1.equinox项目
2.knopflerfish框架
3.felix框架

21.2 osgi与sca的关系 431

21.2.1 osgi与sca的区别 431

1.出发点不同
2.所关注的目标不同
3.面向的服务不同
4.面向的技术不同

21.2.2 osgi与sca结合的架构 432

21.2.3 osgi与sca结合的方式 432

21.3 osgi在实际中的应用 433

21.3.1 osgi与eclipse和equinox 433

21.3.2 osgi在spring上的应用 434

21.3.3 eclipse下的osgi开发样例—helloworld实例 435

1.新建osgi项目
2.编辑代码
3.运行项目

4.osgi控制台
5.导出应用程序

21.4 本课小结 441

21.4.1 总结本课的知识点 441

21.4.2 要掌握的关键点 442

21.4.3 继续下一课:soa延伸技术—bpel、esb与eai 443

第22课 soa延伸技术—bpel业务流程管理、esb企业服务总线与eai企业应用集成 445

22.1 bpel业务流程管理—实现web服务整合 445

22.1.1 什么是业务流程 445

22.1.2 什么是bpel 446

22.1.3 bpel产生的背景 446

22.1.4 使用bpel的好处 447

22.1.5 bpel开源引擎 447

22.2 esb企业服务总线—提供统一的web服务总线 447

22.2.1 esb产生的原因 448

22.2.2 esb服务总线架构 448

22.2.3 esb服务总线的作用 449

22.2.4 esb开源实现 449

1.codehaus社区的mule
2.apache社区的servicemix
3.open esb

4.apache synapse
5.jboss esb
6.wso2

7.openadaptor

22.3 eai企业应用集成 450

22.3.1 eai的产生 451

22.3.2 eai是什么 451

22.3.3 eai系统架构 451

22.3.4 eai相关技术 452

22.3.5 eai开源实现 453

1.apache camel
2.openeai
3.bie

4.xbus
5.elemenope

22.4 本课小结 454

22.4.1 总结本课的知识点 454

22.4.2 要掌握的关键点 455

22.4.3 继续下一课:soa扩展应用—portal门户组件与portlet窗口组件 455

第23课 soa扩展应用—portal门户组件与portlet窗口组件 457

23.1 portal门户技术 457

23.1.1 什么是portal 457

23.1.2 portal的功能 458

1.portlet容器
2.内容聚集
3.公共服务

23.1.3 portal工作原理 459

23.1.4 portal开源框架 459

1.apache的pluto框架
2.apache的jetspeed
3.liferay

23.2 portlet组件技术 461

23.2.1 什么是portlet 461

23.2.2 portlet执行过程 461

23.2.3 portlet生命周期 462

1.init()初始化
2.processaction()动作处理
3.render()呈现内容
4.destroy()

23.2.4 portlet编程方式 462

23.3 本课小结 463

23.3.1 总结本课的知识点 463

23.3.2 要掌握的关键点 464

23.3.3 继续下一课:soa服务架构开发实战—基于tuscany+spring的企业信息管理系统 464

第24课 soa服务架构开发实战—基于tuscany+spring的企业信息管理系统 465

24.1 了解并运行原有系统—基于struts 2+spring+hiberante的web应用 465

24.1.1 基本功能—登录、退出与注册 466

1.基础功能流程图
2.用户登录功能
3.用户退出功能
4.用户注册功能

24.1.2 业务功能—企业信息管理系统功能 467

1.通讯录管理模块
2.短消息管理模块
3.日程安排模块
4.工作记录模块

5.公司公告模块
6.工作会议模块
24.1.3 数据库结构 468

1.数据库需求分析
2.设计数据表e-r图
3.数据表结构

24.1.4 安装并运行mysql数据库 472

1.下载mysql
2.安装mysql
3.mysql的启动与停止

4.mysql服务的启动与停止
5.安装mysql客户端软件sql-front
6.新建数据库demo

7.新建用户表user
8.创建数据表

24.1.5 导入项目并运行系统 479

24.2 开发基于tuscany+spring的sca服务器端 480

24.2.1 新建项目emisservice并添加jar和tuscany支持库 481

24.2.2 添加dao层和service层代码 481

24.2.3 添加pager分页类的具体类 483

24.2.4 将service接口设置为远程接口 492

24.2.5 将service发布为web服务—集成配置tuscany+spring组件 493

24.2.6 开发sca服务启动类emisserviceserver.java 496

24.2.7 启动sca服务并查看web服务 496

24.3 开发基于struts 2+spring+sca的web应用—sca服务的客户端 499

24.3.1 新建项目emisweb并添加jar和tuscany支持库 499

24.3.2 添加web层和action层代码 499

24.3.3 添加service层接口代码 501

24.3.4 配置sca客户端访问web服务 502

24.3.5 配置spring访问sca组件—集成配置spring+tuscany组件 506

24.3.6 运行程序 510

24.4 打包emisservice.zip和emisweb.zip 513

24.5 本课小结 516

24.5.1 总结本课的知识点 516

24.5.2 要掌握的关键点 517

24.5.3 继续下一课:面向资源架构roa—基于rest风格的web服务 518

第4部分 面向资源架构roa

第25课 roa面向资源架构—基于rest风格的web服务 521

25.1 rest概述 521

25.1.1 rest产生的背景 521

1.orb(object request broker)
2.soa
3.rest

25.1.2 什么是rest—rest是一种架构样式 522

25.1.3 rest基本原理—使用crud原则表达uri 522

25.1.4 rest设计方法 523

1.查看图书列表
2.查看某一本图书信息
3.新增一个订单

25.1.5 rest开源框架 525

1.ruby on rails框架
2.apache axis2(http://http://ws.apache.org/axis2/)

3.jersey框架
4.restlet框架(http://www.restlet.org/)

5.cetia4(https://cetia4.dev.java.net/)
6.sqlrest(http://sqlrest.sourceforge.net/)

7.rest-art(http://rest-art.sourceforge.net/)
25.2 roa面向资源架构 526

25.2.1 构建rest式的web服务 527

25.2.2 roa面向资源架构 527

25.3 本课小结 528

25.3.1 总结本课的知识点 528

25.3.2 要掌握的关键点 528

25.3.3 继续下一课:面向云架构coa 529

第5部分 面向云架构coa

第26课 coa面向云架构—云计算与云架构 533

26.1 云计算的发展 533

26.1.1 网格计算(grid computing) 533

26.1.2 集群计算(cluster computing) 534

1.高可用性集群high-availability(ha)clusters
2.负载均衡集群load balancing clusters

3.高性能计算集群 high-performance(hpc)clusters
4.网格计算grid computing

26.1.3 分布式计算(distributed computing) 535

1.传统的c/s模型
2.集群技术
3.通用型分布式计算环境

26.1.4 云计算(cloud computing) 536

26.2 云计算与云架构 536

26.2.1 云计算的特点 536

26.2.2 云计算的实现形式 537

26.2.3 云计算的实际应用 537

1.amazon的弹性计算云
2.google的google appengine

3.ibm的“蓝云”计算平台
4.微软的windows azure蓝天操作系统

5.sun的“hydrazine”计划
6.salesforce的force.com

26.3 本课小结 539

26.3.1 总结本课的知识点 539

26.3.2 要掌握的关键点 539

26.3.3 继续下一课:架构师之路 540

第6部分 架构师之路

第27课 软件架构师职业规划 543

27.1 了解软件架构 543

27.1.1 软件架构与软件架构师 543

1.什么是软件架构
2.什么是java web软件架构
3.什么是软件架构原型
4.什么是软件架构师

27.1.2 软件架构的历史 544

27.1.3 软件架构的目标 544

27.2 软件架构师的职责 545

27.2.1 软件架构师的具体工作 545

27.2.2 软件架构师的要求 545

27.2.3 软件架构师的成长阶段 546

27.3 软件架构师职业发展 546

27.3.1 产品管理 546

27.3.2 项目管理 547

27.3.3 团队建设 547

27.3.4 发展战略cto 548

27.4 本课小结 548

27.4.1 总结本课的知识点 548

26.4.2 要掌握的关键点 549

27.4.3 本课总结 550

《高手真经》系列后记... 551


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Java Web系统设计与架构(UML建模+设计模式+面向服务架构)
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon