SOA不能提供可持续软件的原因

 
   | |

导读:文章讲述的是使用当前的技术组合实施一项SOA设计是复杂的、笨拙的并且有许多陷阱。

关键词:SOA 面向服务架构 SOA设计 SOA实施 Web服务

 
正在加载数据...

  如果你评估这些自称是SOA的系统,你很可能发现这些具有服务功能的应用程序包括可再利用的软件组件和Web服务接口。因为许多当前的SOA平台还没有提供必要的手段在没有牺牲整个服务的数据完整性等东西的情况下实现真正的松散耦合,实施当前的SOA设计经常需要一些让步,从而使最终的服务缺少可持续性。

  要阅读有关SOA的积极的测评和SOA对于IT行业正在做什么事情,人们也许会认为因为SOA架构方法而出现一些认真的转变。事实是,使用当前的技术组合实施一项SOA设计(如达到真正的松散耦合,或者一项服务在根本上和在客户方面不能与任何其它的服务共享一个共同的关系)是复杂的、笨拙的并且有许多陷阱。

  独立的IT架构顾问JP Morgenthal说:“我曾经与我的一位朋友讨论过这个问题。我了解我的那位朋友知道如何开发可维护的和可持续使用的解决方案。”因此,当他说,做这个事情吧。我知道这个意思是使用一些通用的和公认的最佳做法开发灵活的软件解决方案的意义。因此,我们都回避可持续性的这个概念,我们最后一致认为关键是重点理解业务。这意味着可持续性来自于自上而下的分析,而不是自下而上的分析,因为自下而上的分析是战术性的解决方案,不能保证随着时间的推移与业务的需求保持一致。

  Morgenthal说:“我知道最后一种说法是有争议的。毕竟这个观点是很难接受的。如果你使用很好的面向组件的方法进行开发,你不能用当前的自下而上的方法来更新未来的自下而上的方法。”但是,事实是,这个自下而上的方法表示了“如何做”,而不是这样做的理由。“如何做”将受到提供信息的人的客观现实的限制。然而,真正地理解业务能够让设计师设计一个客观的目标并且以当前需要的主观方式展示出来。

  Morgenthal说,让我们重新看一下我的说法:“目前实施SOA设计是复杂的、笨拙的并且有许多陷阱。”他认为,当服务是没有状态的时候,SOA工作得很好并且很容易与松散耦合一致。这种情况使SOA更复杂。这意味着这个服务在使用之前和使用之后都不了解消费者,不知道消费者的环境。

  而且,一个服务应该以确定的方式运行。消费者应该不会推测这个服务在同样的环境中以不同的方式运行。更重要的是,如果这个实施的任何一个部分与任何其它的服务或者应用程序的实施联系在一起,那么,它就不能根据消费者的需求转化环境。

  在许多情况下,无状态是商业应用程序直接对立的。商业应用程序有丰富的用户环境和假设的用户环境。报告、安全和治理是这些功能的极好例子。如果实施方法过多地依赖一个特定的应用程序的要求,限制这个服务在多个应用程序环境中运行的能力,向松散耦合的服务架构过渡就会阻碍这些功能。

  例如,如果一项服务使用一个与其它表格(如外键)有关的数据库表,并且这个服务没有使用在这些相关表格中的数据,但是这个数据库在操作这个表格的时候没有强制要求数据的完整性,从而迫使这个服务认识这些关系,那么,松散耦合的关系就会中断,因为消费者被迫了解了这个服务范围之外的信息。

  此外,人们一直强调在SOA方面的再利用,以至于再利用已经成为定义一个服务的单个的决定性因素。然而,再利用是与SOA完全不相关的问题。再利用是由两个因素推动的:专业化水平和接口水平。低水平的专业化将推动再利用。然而高水平的专业化不会使一项服务设计失效,只是使它的再利用性差一些。接口只是通讯的接入点。因此,我们能够创建可再利用的组件。这些可再利用的组件在消费者不知道这个系统的其它部分(如计划ID)的情况下是不能运行的,因为这些局限性使它失去了松散耦合的资格,因此不是SOA意义上的服务。

  Morgenthal说:“如果你评估这些自称是SOA的系统,你很可能发现这些具有服务功能的应用程序包括可再利用的软件组件和Web服务接口。因为许多当前的SOA平台还没有提供必要的手段在没有牺牲整个服务的数据完整性等东西的情况下实现真正的松散耦合,实施当前的SOA设计经常需要一些让步,从而使最终的服务缺少可持续性。”


SOA实施
 SOA实施的五大优势和四大挑战
 六成CIO赞同SOA实施的关键是服务构造
 SOA实施先易后难大局为先
 建立服务水平协议确保SOA实施
 刘尔洪先生:服务构造是SOA实施的关键
 SOA实施的优势和挑战
 SOA实施 困难重重
 寻找SOA实施真正阻碍
 SOA实施要找对切入点
 SOA实施必须注重治理
 SOA实施四大关键点
 SOA实施关键:构建服务组合
 SOA里的Erlang和并发
 SOA失败的十大人为因素及改善建议(二)
 SOA失败的十大人为因素及改善建议(一)
 为什么现在是实施没有平台SOA的最佳时机(二)
 为什么现在是实施没有平台SOA的最佳时机(一)
 让SOA真正落地
 企业用什么技术转向SOA?
 SOA演变过程
 数据管理是企业成功实施SOA的关键
 链接到WCF和Dublin的新AmberPoint序列
 与未来有约SOA发展五大预测
 有关SOA将死的谣言……(二)
 有关SOA将死的谣言……(一)
 SOA架构实施锦囊:把脉SOA应从评估开始
 SOA是死了还是仅仅处于休眠状态?
 IT花费见涨 SOA价值何在
 阻碍SOA成功实施的三大因素
 SOA应用的阻碍是领导的不重视
 最好的SOA领航员并非一开始做好服务(二)
 最好的SOA领航员并非一开始做好服务(一)
 中国的SOA之路缘何只能自己走
 未来SOA可以更好地发展吗?
 实施SOA的前提是企业的流程梳理
 企业实施SOA面临的挑战和对策
 确保SOA以业务为中心的方法
 实施SOA的前提要把企业的流程梳理
 SOA顺利实施的十大问题
 实施SOA的一种更简单的方法
 SOA在多数企业中的应用不可避免
 模式变迁和状态对比 简述SOA实施路径
 中国SOA成功的关键在于实施路径
 企业想短期内实现SOA比较难
 SOA概念已经落地 生根发芽尚待时日
 SOA不能提供可持续软件的原因
 建立SOA政策管理基础设施的若干技巧
 SOA失败的“恐怖故事”在哪里?
 SOA平台实现政府机构现代化
 SOA实施得“相信群众”
 宁夏银行:逐步转向SOA
 SOA实施:自顶向下还是自底向上?

原文出处:http://www.ciotimes.com/
 
来源:CIO时代网    
 
 
 
 
 

SOA实施

 
就好像是医疗保健行业相当不错地风化了经济衰退,所以一些厂商已经在最近期待投资。甲骨文和Axolotl公司在2010年医疗卫生信息与管理系统协会……
 
虽然你可以在没有SOA实践的情况下使用云计算,你也可以在不使用云计算的情况下利用SOA,但是云计算的真正价值是使用服务、数据和流程……
 
许多基于服务的新应用跨越了单一组织的边界,在集成这些扩展系统时,数据定义经常是最可怕的挑战压力。加州个独立系统运营商(ISO)就是个实例……
 
Harris公司气象学家使用SOA将天气信息集成到下一代空运系统。上个月在亚特兰大举行的美国气象协会(AMS)会议上,他们探讨了这项工作。
 
现在微软Azure市场上有售,早期企业采用者开始在应用程序上进行移植。自从开发人员专门从事.NET云平台,微软可能就再三思考调查其他云厂商。

热门技术手册排行

 

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

 

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

 

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

 

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

 

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

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

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