在IT领域,SOA(Service-Oriented Architecture,面向服务架构)是最近几年最火爆的词语之一,估计每个IT人都会接触过SOA,或者听说过SOA。那么SOA到底是什么,业界有很多种解释,比如SOA的“发明人”Gartner将SOA描述为:客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成,它着重强调软件组件的松散耦合,并使用独立的标准接口。
其实,软件开发或者说IT领域,很多方法和概念都是可以和建筑行业来进行类比理解的,比如我们最初的面向结构的程序设计方法,就像农村砌土房子的方法,根据主人的需要,工匠们用泥土、树木等原材料依次按照地基、墙体、门窗、屋顶等部分从下往上砌起来。后来面向对象的分析和设计方法有一定的改进,就是将散沙和泥土做成砖和预制板,还做成了成型的一些门、窗子以及屋顶的琉璃瓦等,房子的搭建可以通过这些经过加工的元件进行。这些类比也许不够确切,但确实可以便于我们理解。
那么SOA呢?就像现在大多数的建大楼的方式,即框架结构。这种方法可以建成摩天大楼,以及各种风格不同的房子。这种方法首先需要有比较好的设计,根据设计,第一部是搭建一个框架(),在这个框架内,可以根据需要分隔不同大小,不同用途的房间。房间的装修、用途的更改和整体框架几乎没有什么关系。
在这个过程中:大楼的整体设计相当于我们对企业整体流程的梳理和业务流程的设计,即我们常说的BPM、业务分析等;框架的搭建相当于SOA中的架构设计,也即搭建企业服务总线(ESB)和搭建企业级工作流系统的过程,有了它,企业的IT流程就能顺畅进行,也能保证各个IT业务单元进行良好的衔接和交互;各个房间的装修和功能体现相当于服务的实现和封装,我们可以在搭好架构后按照规范进行新系统的开发,也可以将事先做好的IT子单元(就像现在有预制好的成品房间、整体厨房、整体浴室等)直接和ESB和工作流进行对接,以实现其作为业务流程某个环节的功能。
所以,SOA是系统设计的一种新方式,是构建企业IT系统的一种方法。SOA中重要的两个部分是S(服务)和A(架构),服务部分主要是服务的分析和封装,架构部分主要考虑整体结构、业务流程、数据交互以及接口实现等。
然而,SOA也不是擅长作任何事情,或者说SOA并不是要取代传统软件生产方式和信息化方法。它不擅长相对独立的单个的,可控的环境下的IT应用系统,对于单一功能的工具型应用也不需要SOA。我们设想,如果您需要搭建的只是一个小小的鸡笼,就用不着采用复杂的框架结构建筑方法。
最后,还想说明的是实施SOA之前,对于业务流程的梳理和分析至关重要,因为我们不是为了IT而IT,更不是为了某种新技术而采用SOA。IT最终是要解决生产、经营、管理的实际问题,所以,我们事先要分析清楚搭建IT系统解决什么问题,站在企业或者一个组织的整体考虑,系统和系统之间是否有交互?是否需要整合原有系统?是否有跨系统的业务流程?如果有这些问题,建议您采用SOA。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
联合创新,携手共赢 华为与Commvault签署全球合作联盟协议
【中国,上海,2015年9月19日】在2015年华为云计算大会上,全球领先的信息与通信解决方案供应商华为与美国知名的数据管理软件及相关服务主要供应商Commvault签署全球合作联盟协议。基于合作协议,双方将会加大投入数据中心备份解决方案在云化环境下的“可服务化”技术研究 。Commvault公司全球业务发展副总裁Andreas May、华为IT数据中心解决方案总裁马力出席签约仪式。