企业架构实用指南

企业架构实用指南
作 者: James McGovern 李琦 郭耀 李琦
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  麦克高文,哈特福德金融服务公司企业架构师,是畅销书Java Web Service Architecture 和Agile Enterprise Architecture的作者之一。SCOTT W.AMBLER,Ronin国际公司资深顾问,专攻面向对象的分析/设计、敏捷建模和重要系统架构审计。他的畅销书包括Agile Modeling和The Elements of Java Style。

内容简介

来自杰出企业构架师的不可或缺的技术、过程和业务观点。当前许多企业组织面临着设计、建造和维护大规模分布式企业系统的挑战,以便能够适应不断变化的业务需要。许多人重复着其他人的错误,导致费用超支、完成日期拖延,乃至丧失了机遇。今日的商业环境为IT造成额外的交付负担。不断调整的业务驱动脱离了当前的企业IT系统能力;尤其如果系统是复杂、脆弱,难以容纳变化的。企业架构能有助于今天做出前瞻性的IT投资。企业架构实用指南帮助读者为企业架构的成功实现而建立适应性的架构策略。这本经典的手册超越了理论,基于跨越多个行业立面组织中的实际经验,讲解了企业架构的策略。每个观点、技术和原则之后是由今日最知名的业界领袖提供的丰富知识。几位作者已为金融服务、电信、传媒和电子商务领域中许多全球杰出企业架构了工业级的软件和基础设施。他们讲解了实践指南,对已有的实践进行坦率的评价,并从亲身经验中提供详细的实例。本书前言从前,某位训练有素的科学家在他的实验室里工作,他把盛满试剂液的烧杯放到本生灯上,又拿起另一个烧杯,把内盛的试剂倒到前一个烧杯里。随着温度的升高,混合液的颜色开始变化,随即突然泡腾起来,散发出非常美妙的芳香。“我找到了!”科学家欢呼着冲出实验室,把这个好消息带给他的主管们。“我们一定要将它立即投产!”CEO说,“我们今年就能卖20亿加仑!”于是建筑队受命修建一个200英尺高的本生灯以及220英尺高的基座来安放50万加仑的烧杯,还需要建一个500英尺高的起重机来高高举起第二个烧杯,以便把内盛液体倾倒于第一个烧杯里制成混合液。然而,不行,这样的做法将会是愚不可及的。实验室中的试验和大规模生产相当不同。因此,企业系统若和实验室的原型系统采用同一架构,未免有点古怪,是愚不可及的。企业系统异于诸如“餐厅局域网”式的原型小系统,但是这种差异体现于架构,而不是设计思想。可是架构经常会被混淆于设计。架构表现的是在某类事物中普适的特征、结构、行为和关系。设计表现的是细节,说明某类事物中特定的个体该如何建造。架构和设计总是存在的。但在许多时候,它们埋没在程序员的意识里,踪影难觅。如果现在所有的程序员都是精干的架构师/设计师,如果大家都具备长期卓有成效的企业系统开发经验,如果大家在开发企业系统或其他相关项目时都愿意和其他程序员交流思想,如果在系统开发完成后不需要其他人员做维护、甚至另起炉灶再开发一个新的企业系统,那么架构和设计难觅踪影的状况会一去不返。可...

图书目录

第1章 系统架构 1

1.1 卡纳夏引入外来的架构师 2

1.1.1 基础设施的架构方法 3

1.1.2 其他关于系统架构的关注点 4

1.1.3 工作于现有的系统架构 5

1.1.4 系统架构类型 6

1.1.5 使用系统架构增强系统价值 12

1.2 网络协议 13

1.2.1 TCP/IP 13

1.2.2 其他协议 15

1.2.3 系统架构和业务智能 17

1.2.4 服务层协议 19

1.3 小结 27

第2章 软件架构 29

2.1 软件架构的定义 30

2.2 软件架构师的角色 30

2.3 为什么需要软件架构 31

2.3.1 两个极端 32

2.3.2 折中方案 32

2.4 系统涉众 33

2.5 创建软件架构的例子 34

2.5.1 业务实例 36

2.5.2 理解需求 36

2.5.3 创建或者选择架构 36

2.5.4 架构表示及通信 39

2.5.5 分析和评估架构 40

2.5.6 保证一致 41

2.6 架构描述语言与UML 41

2.7 品质属性 42

非功能性需求和品质属性 47

2.8 架构级的观点 48

2.8.1 软件架构的4+1视图模型 48

2.8.2 应用软件架构观点 49

2.9 架构级风格、模式和隐喻 51

2.10 小结 53

第3章 面向服务的架构 54

3.1 SOA的优点 54

3.2 SOA的特征 57

3.2.1 服务具有明确定义的接口与

策略 57

3.2.2 服务代表业务领域 61

3.2.3 服务拥有模件化的设计 62

3.2.4 服务应该被松散地耦合在

一起 63

3.2.5 服务是可以被发现并且支持

内省的 64

3.2.6 服务是独立于传输机制的 65

3.2.7 服务的位置是对客户

透明的 65

3.2.8 服务应该是独立于平台的 65

3.3 Web服务 66

Web服务的问题 68

3.4 卡纳夏的服务 69

3.4.1 卡纳夏的SOA分析 69

3.4.2 内部服务 69

3.4.3 卡纳夏的Web服务 71

3.4.4 国际化 71

3.5 SOA的问题 71

3.6 SOA管理 73

3.7 SOA的最佳实践 75

3.8 SOA反面典型 76

3.8.1 SOA就是一切。基础设施

什么都不是 76

3.8.2 关于SOA,我们只需知道

Web服务就可以了吗 76

3.8.3 SOA讲的是技术 77

3.8.4 任何东西都是一项服务 77

3.9 小结 77

第4章 软件产品线 78

4.1 卡纳夏的产品线 79

4.2 产品线的历史 80

制造业隐喻 81

4.3 软件产品线是什么 81

4.3.1 核心资产开发 82

4.3.2 产品开发 83

4.3.3 管理 83

4.4 产品线的优点 83

4.4.1 降低的费用 83

4.4.2 缩短上市时间 84

4.4.3 灵活的人员配备和生产能力 84

4.4.4 更高的可预测性 84

4.4.5 更高的品质 84

4.5 产品线特性 84

4.5.1 相关的业务优势 85

4.5.2 核心资产 85

4.5.3 共享的技术和工具 89

4.5.4 支持组织 90

4.6 小结 96

第5章 方法学概述 97

5.1 软件开发生命周期 98

SDLC的变化 99

5.2 极限编程 100

5.2.1 持续的计划 102

5.2.2 持续的设计 102

5.2.3 持续的编码 103

5.2.4 持续的测试 104

5.2.5 XP好处和不足 105

5.3 SEI/CMM 105

5.3.1 初始级 107

5.3.2 可重复级 107

5.3.3 已定义级 108

5.3.4 已管理级 108

5.3.5 优化级 109

5.3.6 CMM的好处和不足 109

5.4 Zachman框架 110

Zachman框架的优缺点 112

5.5 模型驱动的架构 113

MDA 的优缺点 114

5.6 Rational统一过程(Rational Unified

Process) 116

5.6.1 统一建模语言(UML) 117

5.6.2 核心过程流程(Core Process

Discipline) 117

5.6.3 Rational工具集 119

5.6.4 RUP的优缺点 119

5.7 使用这些方法学 120

5.8 小结 122

第6章 企业统一过程 123

6.1 企业统一过程概述 124

6.2 产品阶段 125

6.3 退休阶段 126

6.4 运作和支持流程 127

6.5 企业管理流程 127

6.6 为何要采用EUP 128

6.7 小结 128

第7章 敏捷架构 129

7.1 敏捷简介 129

7.2 传统企业架构方法的潜在问题 131

7.3 一个架构的敏捷方法 132

7.3.1 聚焦于人,而不是工艺或

技术 132

7.3.2 保持简单 134

7.3.3 迭代和递增地工作 134

7.3.4 亲自动手 135

7.3.5 在开口谈论之前先实践 136

7.3.6 观察全局 136

7.3.7 让架构吸引你的客户 136

7.4 敏捷架构的投入所产生的结果 136

7.5 卡纳夏的敏捷架构 137

7.6 在你的组织中引入敏捷方法 139

7.7 还有其他架构是敏捷的吗 140

7.8 敏捷方法的潜在问题 141

7.9 小结 142

第8章 敏捷建模 143

8.1 敏捷建模的目的 143

8.1.1 价值观 144

8.1.2 敏捷建模的原则 145

8.1.3 敏捷建模实践 148

8.2 敏捷模型 150

8.3 敏捷文档 152

对架构师的影响 152

8.4 小结 153

第9章 表示层架构 154

业务需求和表示要求 154

9.1 关键表示层组件 155

9.1.1 主表示层组件 155

9.1.2 次表示层组件 157

9.1.3 业务层组件 160

9.1.4 数据层组件 160

9.2 通用设计建议 161

设计表示层 162

9.3 界面组件的设计纲要 164

设计用户界面过程组件 169

9.4 小结 174

第10章 可用性和用户体验 175

10.1 理解可用性 176

10.2 用户体验组件 178

人机交互原则 179

10.3 可用性和用户体验设计过程 184

10.4 可用性技术 185

10.4.1 需求阶段 185

10.4.2 设计、开发和测试阶段 188

10.4.3 实施以及进行改良 189

10.5 共享可用性测试报告 189

10.6 即购即用体验 190

10.7 小结 191

第11章 数据架构 192

11.1 业务问题 192

11.2 基准线数据架构 193

11.3 框架 195

11.3.1 业务架构 196

11.3.2 业务对象建模 197

11.3.3 业务数据 197

11.3.4 架构 199

11.3.5 验证和最终复查 199

11.4 元数据 199

联合元数据 200

11.5 高级元数据架构 204

对业务问题应用元数据 205

11.6 数据安全 205

11.7 敏捷数据库技术 206

11.7.1 运用敏捷方法 207

11.7.2 使用脚本工作 209

11.7.3 规格化 211

11.8 小结 217

第12章 思想领袖 219

12.1 组织矩阵 219

12.2 外包和核心能力 219

12.3 强有力的技术领导 221

12.4 架构师面对时代的考验 222

12.5 对最佳实践的热衷追逐 223

12.6 敏捷CIO 224

12.7 神奇的开放源码 225

12.8 101咨询师 226

12.9 为什么我应该成为CIO 227

12.10 下一时刻 228

12.11 小结 228

附录A 业务案例 229

附录B 实用的考虑 232

附录C 敏捷企业架构的七种习惯 233

附录D 模型 234

附录E 参考文献 236

附录F 进阶阅读 241

敏捷 241

数据架构和数据库 241

开发 242

企业架构 242

模式 242

表示和可用性 243

职业 243

面向服务的架构 243

软件架构 243

UML 244

其他主题 244

附录G 未来的书 246

关于作者 248