关闭

解读SOA平台---概念分析

1755人阅读 评论(0) 收藏 举报

什么叫SOA平台?-----概念分析
----- SOA,有些人认为等同于“世界应用计算平台”World application computing platform。


        SOA:现阶段不同的SOA概念有一个共同的关注点,SOA就是能够通过Web服务优势,来解决企业环境平台的兼容性,并且注入了不同组织之间的交互的愿望,敏捷性与跨平台性。很多的概念都认为:SOA体系结构是一个简单的Web服务集成。这是一个普遍而又危险的认识。因为这些概念的误解,导致了很多组织认为,为了实应SOA这种潮流,只需要加快Web服务平台的开发。


        从逻辑的角度上看,为了解决一个大的问题能被更好的架构,执行和管理,这应该把这个大的问题分解成一系列更小的,相关的子问题。然后再把这些小片段组合起来,从而解决问题。而SOA这一术语就代表着这样的一个模型:自动化逻辑(商业逻辑)被分解成更小的、各自独立的逻辑单元。这些逻辑单元依据一定的策略组合成商业自动化逻辑,并且这些单元是分布式的。


          SOA鼓励各个逻辑单元自治、独立,但各自之间又不孤立存在。这些逻辑单元要符合能独立的完成进化,进化过程不影响其他的逻辑单元,并且还要保持足够的公用化和标准化。在SOA中,这种的逻辑单元就叫做Services。


         SOA中的Services如何关联:services可以被其他的services或其他程序利用。这种服务之间的应用,是基于相互理解的基础之上,这种理解就要通过services descriptions来描述。描述文件中描述了服务的名称,服务所要求的数据,处理后所返回的数据。


         为了服务之间能够实现一些有意义的事情,它们之间就要交换信息。在SOA中就称为messages。服务之间通过提供服务描述,基于框架通过messages进行交流。这和以产基于消息的框架相类似,但是SOA的三个核心部件:services,descriptions,messages的设计是不一样的。SOA它有自己的设计原则。


        SOA也是一门方法论,类似于面向对象的设计,它也有自己的一些原则:
1) 松偶合性。服务之间要求最小的依赖性,只要求它们之间能够相互知晓。
2) Service Contract。服务之间支持统一的通信协议,可以通过一个服务描述文件来定义。
3) 自治性。服务完全控制它所封装的逻辑,也就是说服务在它自身所统治的范围内,在执行时不会依赖于其他的服务。
4) 抽象化。除了service contract中所描述的,services对外隐藏了它的所有逻辑。
5) 重用性。商业逻辑被分成各个小的services,目的就是为了促进重用。
6) 可组装性。Services集能相互协作,能被组装成一个合成的services.
7) 无状态性。Services还应被要求来管理状态信息,因为状态信息的保存,会阻碍松耦合。Services在激活时,应最大限度地处于无状态。
8) 可发现性。服务进行配置后,对外可通过一定的发现机制来发现该服务。
           这些原则是不可或缺的,Web Services技术集为我们提供了设计Services的平台。
          但是这些原则中,有几组可能存在混淆:
1) 重用性(Reusablility)与composability(可组装性)
2) 自治性(autonomy)与无状态性(statelessness)
3) 松偶合与use of a service contract 
        其实重用性是指:当逻辑单元被封装到service中,能被多个service requestor所使用,就能认为是可重用。它建立在上面提到的多个原则的基础之上,如:服务的无状态性它最大限度地让激活体在外部执行service的逻辑单元。而可组装性之所以可行,就是因为service能够重用。
Service contract:是服务的metadata表现出来的。它使规则、条件标准化,使得外部的requestor能够与service交互。其实认真体会一下,上面的三组关系,应该很容易分辨出他们的关系与联系。


SOA概念的一些误解:
1) 应用Web Services的程序就是面向服务(SO)。SOA依赖于不同的抽象模型,任何形式的分布式体系结构都可以归类成SO。
2) SOA只是对Web Services的重新定义的市场概念。SOA不是一个由媒体或者某个市场部门发明的,它是一个合法的建立在相关技术术语之上。它表述了基于独特原则之上的分布式系统。SOA只是应用一些技术集来实现SOA服务的原则。这候选些技术平台目前选用的是Web Services而以。
3) SOA只是对Web Services实现分布式计算的市场术语。
4) SOA简化了分布式计算。


建立SOA系统中所要防范的要点:
1) 建立的SOA如同传统的分布式体系结构。这就会引发如下问题:大量的RPC类型的服务描述文件;没有充分利用WS-*规范的物性;对Services中功能划分不合理;创建不可组装的services;进一步加大了同步通信模式的鸿沟;创建异质非标准化的services。
2) 非标准化的SOA。
3) 没有创建移植计划。
4) 没有以XML做为基础体系结构
5) 没有明白SOA的性能要求
6) 没有明白SOA的安全要求
7) 没有关心产品平台和标准的发展

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:56924次
    • 积分:856
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:9篇
    • 译文:1篇
    • 评论:17条
    最新评论