.NET Tools 2005--小气的神

专注于.NET技术,传播.NET技术

新书读感--- 《软件城堡》—企业结构建模

 

推荐一本书给大家吧,算不上书评,只能是自己的一些感想。

 

《软件城堡》企业结构建模 高等教育出版社 作者: Roger Sessions 定价: 18.00 RMB

英文名: Software Fortresses: Modeling Enterprise Architectures

我自己给它的评级在3星半多少于4星,也就是准4星,我希望下面的评论能说明我的这个评价

 

Fortress 一个非常生僻的词语,不过用的非常恰当,我查了金山词霸比起Chateau,Castte,Castle这些词Fortress更精准一些,我喜欢Software Fortresses这个概念,也许看完这本书你会相同的感觉,同样我建议你在看完书之后去Roger的网站去看一些相关的文章。

另外我不想用介绍Roger Sessions来增加更多的篇幅,许多书评人愿意用书的作者来影响读者的选择,很多时候,我看书,第一眼是看目录和书的组织结构,然后在考虑它给我带来的价值,作者往往是最后被注意的,我希望看这本书时你也能这样。

 

过去一年我们在谈论SOA,到底是什么是SOA,一双双迷惑的眼光,很容易想起3年前我们在谈论什么是.NET的年代,举办上百场的交流和讲座,不同的角度和方式,但往往听众在一个多小时的演示和口水喷洒下来,带着怀疑的感情告诉自己,这就是.NET吗?几乎是一种皇帝的新装夹杂爱丽丝仙境的情感,也许许多人3-5年之后,才对.NET有了自己的看法,有的甚至放弃了对这个词意义的追寻,.NET—这是广告词吧,够酷,但这也是有些人对.NET的基本看法。

而人们对于Web Services的感情是非常奇怪的,以致于今天他们重新又怀着有些愧疚的心情以近乎尊敬的心情来看待SOA,我相信他们曾经忽视过Web Services,抑或是同样厌倦了去了解它是什么。

还有所谓的设计模式、重构、XPTDD名次满天飞的今天,有这样一本书和一种概念我会感到非常温馨和满足,因为也许你有一个机会可以对之前你所理解的软件和软件架构做一个形象的总结和沉淀,也许这对你迎接所谓的灿烂明天有非常大的好处,这是这本书能带给你不同视角的地方。

 

软件城堡、吊桥、守卫、城墙、特使、条约、同盟等等概念的提出,我认为非常的新颖和实际,实际我们都知道这些技术的概念,但是换成这些戏剧的角色和图示的说明,更加易懂和引发建设性的观点,如果今天让你以一个CTO或架构师的角色给大企业的一群开发人员、设计人员甚至程序员展现你对软件架构的理解时,你会更有信心,事后你可能会被他们描述成一个富有思考力的软件架构专家这是本书技术价值之外的另一个价值。

 

作者坦诚,他曾受到Pat Helland所谓自治计算的一个模型,软件封地(software fidfdoms)思想的影响,而我发现作者也重新提了一些现在可能被大家可能忽视但非常重要的概念,比如事务的处理,同步和异步方式的选择,Web方式的授权、安全和完整性,这些隐晦不明的要素如何在设计和新的概念中重新考量和设计,依然是企业应用架构中很难直观把握的一部分建筑。从企业应用架构和技术的架构师角度如何来看,应遵循哪些基本的原则,作者给了不少的建议和现实的观点。

 

这也是本书另外一个特色,重新突出了建立企业应用系统的概念模型这样的主题,同时也能带着你细致的一个一个要素的讨论,让你唯一的感觉是,这本书还是太薄了,从广州到深圳的火车上,你就可以看完它,但我相信如果不是看多几遍,你几乎不能完全明白作者的意图。理解架构比理解设计模式和TDD更宏观和从容一些,但我相信,如果不是你完全相信这个理论,并亲自的体验,书中的许多概念和准则你将无法把握,甚至不能给你带来项目或应用架构的帮助。

 

当然书中也有败笔,比如作者在设计和建模方法受到J2EE平台的一些影响,有关事务和高可靠性方面带有Microsoft平台的痕迹。书中也有不少篇幅提及.NET vs. J2EE的论断和观点,当然作为作者的身份,可能这是他经常被他的客户问起的一个问题,最终他的意思是告诉客户,软件城堡并不是解决和证明.NET J2EE优劣的解决方案。这感觉要看你自身的情况了,如果你什么都不知道抑或只知道.NETJ2EE,那么作者的观点是有益的和他假设的一样,但如果你已经有了自己的观点,那么这些描述你可能就觉得有些赘冗稠长了些。之后我想这些描述可能是必要的,因为至少作为一个架构师的角度来说,这是现实和凸现执行力的方式,技术平台的评估、选用、安全性、互交互、互操作性是架构师必须指明方向和作出结论的。

 

整本书对于你理解SOAModeling的架构有非常大的帮助,不然许多人将不能从现在的架构中很快切换到模糊不定的SOA架构或概念中,另外按照武学境界的定义,如果你不能打破自己脑袋中旧的观念和体系架构,那么也很难接纳新的概念而打开任督二脉,毕竟有时我们看待架构的观念已固,投身太细节的设计模式和重构已久,自信的一发不可收拾,一时也就很难回头是岸了。

 

我比较喜欢最后一章,除了总结、论证和展望,作者有足够的勇气回答一些难堪的问题,并真诚的发表自己的意见,比如15.6 节作者说,下面是我对软件行业当前状态的十点不满:

  • 软件行业缺乏针对建立企业系统的概念模型
  • 软件行业对贯穿企业事务流缺乏一致的看法
  • 软件行业在安全能力方面是一塌糊涂,也缺乏相应的应用模型
  • 当我们需要互操作性标准时,软件行业正在浪费时间定于可移植性标准
  • 软件行业不区分实现技术(比如对象)、分布式技术(比如组件)和互操作技术(比如城堡)
  • 软件行业没有区分发生在系统内部的通信和发生在系统之间的通信的概念
  • 软件行业没有一个通用的互操作模型,因此不同的供应商所生产的产品很难结合在一起
  • 软件行业使用与技术香港的术语描述其所做的工作,这就导致党使用共同的方法时互相难以沟通和理解。
  • 软件行业假定互操作问题将通过一个能够集大成的单一技术来解决
  • 软件行业通常提供一些不仅没用而且完全有害的概念或技术

 

先别说这些问题是对还是错,仔细看来书上每个问题的描述,你会发现这些都是非常好的问题,问起任何一个敢自称为著名软件架构师的人都是对他的一个考验和***难。

 

翻完手中的书,想起以前打帝国时代的情景,什么时候软件架构能像一场帝国时代的战略游戏一样形象就好了,抑或软件架构一直都和战略游戏一样,只是我们一直不能感觉到身临其境而已。

 

文章原创首发博客园,版权所有。转载需注明出处。

posted on 2005-01-15 11:20  ccBoy  阅读(2475)  评论(5编辑  收藏  举报

导航