北极星

搜索历史清空

  • 水处理
您的位置:电力综合正文

对SOA模式的一些理解

2008-08-04 18:40来源:希赛关键词:SOA收藏点赞

投稿

我要投稿

  SOA-面向服务构架,是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

  SOA结构中,它将分布在网络中的软件资源看作是各种服务,而这些服务是从业务需求开始的,而非始于技术。因此,SOA摆脱了面向技术的解决方案,而朝着商业服务的方向发展。与其它架构方法相比,SOA让IT变得更有弹性,能够更快地响应业务需求,从而实现更好的业务灵活性,使得系统能够对变化快速和有效地做出响应,并且利用变化来获得竞争优势。而这种灵活性的架构,意味着它不仅能够确保当前业务的灵活性,而且可以满足系统未来的业务需求。增加一种服务将是比较容易的。

  在SOA中,不同的应用也能够交换数据,而并不需要考虑每个应用是用什么编程语言开发的或在什么操作系统下运行。在这种模式下,一个应用软件或一个应用软件的一部分是一种服务,其它应用和客户可以在无需编写大量代码的情况下使用这些服务。就像堆积木一样,在SOA中一个个服务组件都变成了标准的“建材”,可按照需要创造出各式各样的组合。然而,并非所有的组件都必须重新铸模成一块块积木。我们可以用一层凹凸圆柱体表皮包在过去使用的“砖块”和“瓦片”外,让它们能和其它的积木连接,而其它的积木很可能也是用这种方式提供出来的,用户无须担心它骨子里到底是什么,重点在于服务组件的接口。

  SOA的强大和灵活性将给企业带来巨大的好处。如果某组织将其IT架构抽象出来,将其功能以粗粒度的服务形式表示出来,每种服务都清晰地表示其业务价值,那么,这些服务的顾客(可能在公司内部,也可能是公司的某个业务伙伴)就可以得到这些服务,而不必考虑其后台实现的具体技术。更进一步,如果顾客能够发现并绑定可用的服务,那么在这些服务背后的IT系统能够提供更大的灵活性。

SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建一个可以满足当前还未知的业务需求。

  另外,SOA还在以下几个方面的特点:

  业务驱动服务,服务驱动技术

  从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。

  业务敏捷是基本的业务需求

  SOA考虑的是下一个抽象层次:提供响应变化需求的能力是新的“元需求”,而不是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。

  一个成功的SOA总在变化之中

  SOA工作的场景,更象是一个活的生物体,而不是象传统所说的“盖一栋房子”。IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体要求崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。