企业架构与SOA

也经常写架构设计文档,但是以前都是采用的野路子,参考别人的经验,然后自己摸索出一些规律,没有怎么正儿八经去遵循某个理论体系。理论来源有两个:一本薄薄的英文原版书,书名好像就是软件架构;另外就是RUP了。

 

我记得2000年前,还不怎么提什么架构设计,到了2000年以后,这个概念慢慢开始火起来。

 

最近,在同时给业务部门和技术部门写解决方案和架构文档,又重新产生了一些疑问,正巧接触到一些企业架构理论方面的知识,觉得跟自己以前的实践还是有一些印证的。正好也学习学习:

 

了解企业架构,可以从下面这篇经典的文章入手,里面将四种企业架构的方法进行了详细的比较:

A Comparison of the Top Four Enterprise-Architecture Methodologies

http://msdn.microsoft.com/en-us/library/bb466232.aspx

Microsoft Architecture Overview:

http://msdn.microsoft.com/en-us/library/ms978007.aspx

 

 

另外,最近几年,SOA也逐渐成熟并被大家广泛应用,如果想了解SOA和EA的异同,可以看看ibm上的一篇文章:

Service-Oriented Architecture and Enterprise Architecture
http://www.ibm.com/developerworks/webservices/library/ws-soa-enterprise1/

 

另外,实施SOA的话,下面这篇文章不错:

Service-oriented modeling and architecture - How to identify, specify, and realize services for your SOA
http://www.ibm.com/developerworks/library/ws-soa-design1/

 

个人对这两者的理解还是比较肤浅,感觉EA的概念更大,它包含在将业务转化为IT系统架构的过程中要做哪些事情,一步步该怎么做,有一系列的步骤和规范,包含一些通用性的适用原则,适合任何行业。而SOA更多的是一种具体的架构实现思路,当然它也是遵从EA里面提到的思想。

 

由于架构一词是来源于建筑行业,我们可以把企业架构的过程跟一个城市的建设类比一下。首先,为什么需要企业架构呢?关键就在于企业应用的复杂度越来越大。我记得我们农村如果谁家想要盖房子,顶多开个全村的会议,说一下我要在哪盖个房子,大概多大,只要它没占着道,没堵着谁家的大门或者风水,就没人反对,至于其具体怎么盖,也没有任何人干涉。但是,如果建设天津滨海新区也这么干,那估计肯定乱套。

 

那企业架构到底是解决什么问题呢?一个建筑也好,一个系统也好,会有很多与之打交道的角色,Zachman里面叫player,比如说planner,owner,designer和builder等等。同时,还有很多切面,比如data,function,network。这两个维度交叉就产生了很多交叉,而且这些交叉是互不相同但又有联系的,比如说在城市规划者眼里的污水排放系统和一个水电工眼里的污水排放管道肯定不一样,但是这污水排放管道肯定是服从整体的污水排放系统的设计的。如果企业架构能够做到将每个角色对每个切面的关注都弄明白了,而且将它们的关联管理好了,那就是一个成功的企业架构。


知道了企业架构的必要性,那如何具体实施呢?老规矩,类比。比如说,上海要开发浦东新区,首先当然是政策层面对于进行定位、确立优惠措施,这有点类似于对IT系统业务进行定位。然后就是有规划部门对其进行整体规划,确立在哪建立商业区,哪里建立生活区,哪里建立工业区,主要道路怎么规划等等,这一步相当于从业务的角度去看待最终产品的面貌,这类似于TOGAF里的business architecture。注意,这一步的产物是可以被业务部门充分理解的,正如城市规划是能够被领导、投资商、居民所能看得懂的。

 

总体规划定了,其中张江被定位为高科技产业园,那负责张江这块的规划部门又开始想了?规划人口规模多大?在哪弄个软件园,在哪弄个医药园,生活区在哪,商业区在哪,这几部门的相对位置如何,如果搭配比较合理。交通怎么解决,修地铁,修主干道,园区内道路大概怎么规划,医院和学校如何配置,位置在哪。这一步就比较具体了,会考虑到各个功能单元的配置、位置和协调。这就类似于EA中的Application architecture。

 

当然,人要工作、生活,有些基础的生活设施必不可少,比如水、电、煤、交通、污水排放、垃圾处理。这就好比系统中的各类数据,我要很清楚地知道这些数据的通道如何,从哪里来,往哪里去,如何保证水、电的可靠性,万一发生什么紧急情况,应对措施如何?设计容量多大,有多大的拓展空间?运送这些数据的设施通道是什么?

 

最后,落实到软件园要修一个主楼。其实这个主楼就像一个小的城市,又会经历上述一个循环过程,最终落实到施工图,就是我们这些IT民工能够看得懂,照着coding的东东。

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值