基于SOA模式的企业架构设计

2010-3-15    来源:支点网    我要评论
   | |

导读:本文中介绍了基于SOA模式的企业架构让IT更加关注于业务流程而非底层IT基础结构,从而获得竞争优势的更高级别的应用程序开发架构。

关键词:企业构架 SOA

 
正在加载数据...

  传统的企业构架有两种:一是面向功能的企业构架,二是面向过程的企业构架。这两种企业架构所采用的技术基本上是紧密藕合的,它们往往是不同平台、不同开发工具、不同管理规范、不同需求的一个信息模块集。这些应用程序整合在一起构成一个软件包。现有企业架构实现整合应用程序功能的代码通常与功能本身的代码混合在一起,更改一部分代码将对使用该代码的代码具有重大影响,这会造成系统的复杂性,并增加维护系统的成本,而且还使重新使用应用程序功能变得较困难,这严重影响了企业系统的稳定性。一种被誉为下一代面向服务的技术架构,以其高度开放型和可重用性、灵活性再一次引起业内关注,这就是SOA。

  一、SOA的概念及其特征

  SOA是指为了解决在Intenret环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。

  SOA的基本特征是:(1)独立的功能实体。SOA非常强调架构中提供服务的功能实体的完全独立自主的能力,以及实体自我管理和恢复能力。常见的用来进行自我恢复的技术,比如事务处理,消息队列,冗余部署和集群系统在SOA中都起到至关重要的作用。(2)大数据量低频率访问。对于传统的分布式计算模型而言,他们的服务提供都是通过函数调用的方式进行的,一个功能的完成往往需要通过客户端和服务器来回很多次函数调用才能完成,这些调用在Internet环境下往往是决定整个系统是否能正常工作的一个关键决定因素。因此SOA系统推荐采用大数据量的方式一次性进行信息交换。(3)基于文本的消息传递。SOA系统采用基于文本而非二进制的消息传递方式。在Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的很大困难。由于基于文本的消息本身是不包含任何处理逻辑和数据类型的,因此服务间只传递文本,对数据的处理依赖于接收端。数据处理端可以只选择性的处理自己理解的那部分数据,而忽略其它的数据,从而得到的非常理想的兼容性。

  二、基于SOA模式的企业架构

  SOA目标是整合业务过程,必须具备下面要求:异构性,横跨现有应用系统;可伸缩性,根据环境变化非常容易地能够提升系统性能;适用性,将应用错误和通讯错误隔离开来,不至于因为一点失败导致全局混乱;分布式,跨部门跨地域交互操作;机动性,允许各个部门以最小的代价很容易更改与应用相关的设计和实现,也就是各个部门系统相互独立,没有藕合性;可见性,可以对各种处理和服务运行情况进行管理监视。

  SOA是一种松散藕合的软件体系结构,在这种体系结构中,由各自独立可复用的服务去构成系统功能。这些服务向外公布有意义明确的接口,软件的开发是通过对这些实现透明的接口的调用来完成。

  在面向服务的体系结构中主要有三种角色:(1)服务消费者是需要使用服务的应用程序或其它的服务。通过对注册中心的服务进行查询后,根据接口说明信息并使用某种传输协议与服务绑定并执行服务功能。(2)服务提供者是创建服务的实体。可以从服务消费者处接受请求并可以远程执行所请求服务。通过向注册中心发布服务接口信息以供服务消费者发现和访问服务。(3)服务注册中心处于中心位置提供了展示服务的功能。服务消费者通过查询存储有服务信息库的注册中心以找到感兴趣服务的接口信息。

  在面向服务的体系结构中主要的操作有:发布为了被访问,服务的描述信息必须被发布以便服务消费者发现和调用。发现服务请求者通过查询注册中心去定位符合其需求标准的服务。绑定和调用在获得服务描述信息之后,服务消费者据此去调用服务。服务是SOA中的基础设施,位于业务需求和底层技术之间的抽象层次中。

  面向服务架构是让IT更加关注于业务流程而非底层IT基础结构,从而获得竞争优势的更高级别的应用程序开发架构。

  与传统开发方法相比,SOA的特点在于具有基于标准、松散藕合、共享服务和粗粒度等,其优势可表现为:(1)易于集成现有系统。在对现有系统不做修改的前提下,SOA可将现有系统和应用迅速转换为服务。通过封装可以提供服务接口的应用层来访问遗留系统,因此不用修改现有系统体系结构。(2)具有标准化的架构。只要符合相关标准,无论何时开发的组件都可以合并在一个结构良好的SOA系统中。并且不同开发者开发出的组件将被作为服务方便的添加部署在现有的基础构架中。(3)提升开发效率。由于SOA在可复用方面的特点,新的软件在设计、开发、测试和部署时可以充分利用已有服务。因此,其开发周期可以显着缩短。

  (4)降低开发维护复杂度。通过采用SOA体系结构,在进行二次开发时成本急剧减少。同时.由于系统具有松散祸合的特征,维护成本也大大减少。

  企业开始可以让SOA用于内部服务,然后扩大范围,用于面向客户的应用。这需要与商业合作伙伴交换XML数据,这种做法在电信业和旅游业变得越来越常见。SOA还有助于面向客户的B2B应用,在这种情况下,用户并不知道底层的基础设施。

  SOA的灵活性还可以让组织受益,因为可以加快应用开发,通过重复使用硬件部件和软件组件来降低成本。用这种办法开发应用程序的质量可能比独立开发的还要高,因为组件预先经过了测试,Web服务接口也已经得到了验证。

  SOA可以采用诸多方案通过诸多方法来实施,不过对每个组织来说,它们各自的好处还不明显。如果用户在设计和扩建方面的需求压倒一切,SOA和Web服务会带来巨大影响。衡量成功的尺度要与组织的目标和业绩联系起来。即便业务和IT没有紧密联系,SOA也会给内部的IT系统带来好处,从而提高内部客户的满意度。

  SOA可以降低开发成本,提高系统集成度和响应速度等,还能帮助解决因为系统升级带来的烦恼。未来SOA构架下的企业软件就像是一个不断进化的生态过程,某些“服务(业务组件)”不断地局部升级,新的“服务”不断地加人,只有这样的系统才能真正做到实时企业,快速适应业务变化。

  三、目前企业实施SOA的风险

  作为一种概念,SOA已成熟。但实现还有困难。首先标准仍不完备。Web服务是实现SOA最好的方式,但Web服务本身还有很多不成熟的方面。除了SOAP和WSDL相对成熟外,在可靠消息传递、安全Web服务、Web事务处理等方面的标准还有待完善。另外,就SOA架构来说,服务颗粒大小问题,在某种程度上决定着整个系统的灵活性和效率,要在灵活和效率之间找到一个平衡点。而平衡点需要由实践来检验。

  实施SOA存在两个风险:一个风险是,向SOA迁移过早或者过晚、未能充分发掘节省成本的潜力;另一个风险就是,SOA实施不当可能会导致组织被过时、专有的技术缚住手脚。

  总之,作为一个刚刚步放实践的事物,SOA面临的挑战还有很多。


企业架构EA
 信息专家建议用长远观点看待EA
 行动计划:一种基本的EA技能
 物流信息化如何实施SOA
 企业应用技术架构演进史
 企业架构方法论应始于开阔的视野
 BPMN为企业架构师流程建模通用语言
 基于SOA模式的企业架构设计
 中国农业银行企业架构梳理与优化
 让EA不再仅是“传说”
 业务流程管理中企业架构师的角色
 如何在IT规划中引入企业架构?
 不在头疼 六步实现智能信息架构
 企业SOA系统:更直观更规范
 Zachman的完美世界 企业架构依然缺席
 EA过度简化 缺少逻辑蓝图
 企业架构也要追赶敏捷的潮流?
 SOA和EA现状之我见
 UML、RUP和Zachman框架完美结合

原文出处:http://www.topoint.com.cn/html/soa/lilun/2010/03/279102.html
 
 
 
 
 
 

SOA开发

 
云端早期用例主要为存储所左右,ScaleOut软件创始人兼CEO William Bain表示。访问云端数据存储却出现了挑战。
 
八月份SOA网站最受欢迎的文章有哪些?您有没有看过?如何追踪海上集装箱?潜在REST开发者有哪些可用的RESTful资源?如何进行业务流程管理和个人授权?
 
目前的一种技术趋势是“大数据”,而且在很多组织机构中,这就是一种赌博,一些CEO已经再向CIO寻求一份大数据简报了。这个通知一直延续到CTO、总架构师等人那里。
 
在因特尔成为一种力量之前,确切地说是云基础架构显现出来之前,面向服务架构(SOA)背后的主体就已经确立了。
 
在IT部门有时候牛顿定律也会发力。软件开发中每一项行动似乎都在创建相同的反应。这种想法始于今年夏天,我们同ITKO的CEO Shridar Mittal进行了对话之后。

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

ESB(Enterprise Service Bus,企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录