SOA结构中,它将分布在网络中的软件资源看作是各种服务,而这些服务是从业务需求开始的,而非始于技术。因此,SOA摆脱了面向技术的解决方案,而朝着商业服务的方向发展。与其它架构方法相比,SOA让IT变得更有弹性,能够更快地响应业务需求,从而实现更好的业务灵活性,使得系统能够对变化快速和有效地做出响应,并且利用变化来获得竞争优势。而这种灵活性的架构,意味着它不仅能够确保当前业务的灵活性,而且可以满足系统未来的业务需求。增加一种服务将是比较容易的。
在SOA中,不同的应用也能够交换数据,而并不需要考虑每个应用是用什么编程语言开发的或在什么操作系统下运行。在这种模式下,一个应用软件或一个应用软件的一部分是一种服务,其它应用和客户可以在无需编写大量代码的情况下使用这些服务。 就像堆积木一样,在SOA中一个个服务组件都变成了标准的“建材”,可按照需要创造出各式各样的组合。然而,并非所有的组件都必须重新铸模成一块块积木。我们可以用一层凹凸圆柱体表皮包在过去使用的“砖块”和“瓦片”外,让它们能和其它的积木连接,而其它的积木很可能也是用这种方式提供出来的,用户无须担心它骨子里到底是什么,重点在于服务组件的接口。
SOA的强大和灵活性将给企业带来巨大的好处。如果某组织将其IT架构抽象出来,将其功能以粗粒度的服务形式表示出来,每种服务都清晰地表示其业务价值,那么,这些服务的顾客(可能在公司内部,也可能是公司的某个业务伙伴)就可以得到这些服务,而不必考虑其后台实现的具体技术。更进一步,如果顾客能够发现并绑定可用的服务,那么在这些服务背后的IT系统能够提供更大的灵活性。
SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建一个可以满足当前还未知的业务需求。
另外,SOA还在以下几个方面的特点:
业务驱动服务,服务驱动技术
从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。
业务敏捷是基本的业务需求
SOA考虑的是下一个抽象层次:提供响应变化需求的能力是新的“元需求”,而不是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。
一个成功的SOA总在变化之中
SOA工作的场景,更象是一个活的生物体,而不是象传统所说的“盖一栋房子”。IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体要求崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。
文章来源于领测软件测试网 https://www.ltesting.net/