【TechTarget中国原创】我们发现事件驱动架构(EDA)和面向服务架构(SOA)之间的区别后,很快便认识到另一个结构TLA(三个字母的首字母缩略词):流程定向架构(POA)。POA的支持者认为将流程作为架构的基本元素。POA利用SOA技术,但是却将SOA技术作用归为只能将IT功能展示为服务。
SOA,POA,EDA,更不用说阶梯层架构——你要问的是究竟需要多少这样的架构?信息技术似乎最终会弄懂什么是软件架构,目前,人人都想建立一个新的架构。这种趋势非常危险:IT内不同的营地排列在一起,这时我们可能面临着将筒仓架构添加到筒仓操作系统和筒仓应用的风险。最终我们需要的还是更多的筒仓。人们通常的反映是认为“我的架构比你的好”,你要知道,作为ZapThink的成员我们都会大力宣扬SOA技术。但是这不仅仅是“我们vs.他们”之间的问题。问题的关键在于人们对这些术语的不同定义。只要IT世界能消除对这些定义的误解,我们就能避免架构的破碎作用,向着单一、能为众人所接受的结构方法而迈进。
不同的定义
由于人们对架构这个词的理解各不相同,架构可以指一整套完美的实践或者规范??——换种说法,就是你手头正在做的事情。架构的另一个意思就是一个特定的模型或者系统设计——你所创建的事物。把这些定义结合在一起,架构实践(意义1)包含架构的创建(意义2)。
第二个我们必须要澄清的问题就是架构和结构观点的区别。一个结构观点实质上是系统架构的一个方面。要想了解结构观点,一个好的方法就是思考盲人摸象这个故事。你可能还记得,四个盲人被要求描述一头大象,每个盲人分别触摸大象的不同部位,摸到大象躯干的盲人认为大象是一只长的像马的动物,另一个摸到象鼻的盲人觉得它像是一条蛇,摸到象腿的盲人认为它是一棵树,第四个摸到大象身体的盲人觉得大象是一堵墙。
架构就和那头大象一样,大多数人如同那四个盲人,只看到了架构的某一方面。那些关注计算机、网络、应用的人以指导计算机、网络、应用的机构和原则的角度来看待架构。但是,侧重编写软件的人们却以应用和其它软件组件的机构的角度来看待架构。同样,如果你关注业务流程,你可能把架构看做是在整个机构内发生的设计和流程机构。
就像对待那些盲人一样,所有这些观点都有它真实的一面,但是这些观点都不全面。一个拥有远见卓识的人会看到大象的各个部分的功能和外形会像马、树、和蛇,但当他把大象看做一个整体时,大象却和这四个事物毫无相似之处。