WebService是“良药”还是“毒药”

 时下,IT界最流行的话题莫过于SOA,而SOA领域里我们用到的最广泛的技术就是webservice,一方面我们热衷于使用webserivce来解决企业应用中面临异构系统的应用集成问题,它的问世,天生为集成服务,成为解决异构系统应用集成的首选“良药”。另一方面,良药并非“神药”,当我们把它神化之后,错误的以为构建SOA就必需要使用WebService来构建服务,在过多的使用webservice后,发现“良药服用过量”,会出现“不良反应”,使企业的应用又面临严重的性能瓶颈。对于它的认识与使用,我们需做何选择呢?

  SOA的理解

  SOA架构的本质,并不是说把你的应用或者组件包装成Service就是SOA,而是说,你需要基于一种构架,能够让你的产品能够更适应“业务敏捷性(Business Agility)”。而体现SOA的重要特性在于松耦合、可重用、可视化、灵活性,所以只有在这几个环节做到之后才能使企业应用真正置身于SOA的大环境之中。

  从SOA的面向角度来说分为:面向企业异构系统和面向企业内部业务系统两个方面,前者的角度称为Inter-SOA,后者称之为Intra-SOA。而企业在构建SOA时,并非单纯是从解决企业异构系统的角度来出发,也要考虑到应用的升级、扩展、企业新系统的建设,仅以一种修修补补的方式来适应因传统技术构建的业务系统,采用intra-SOA来适应企业的快速变化并非长久之策,只能作为当前不得已而选择的一种手段。

(图一)Intra-SOA和Inter-SOA架构



  Webservice的价值观

  WebService很好的解决了基于不同平台,基于不同语言开发的应用系统间的集成问题,成为解决Inter-SOA,最通用最好的技术手段。但是,如果良药乱用,只要谈到SOA,就要用WebService,那么“良药”服用过量,也会中毒。在构建企业的应用、或新建系统的建设时,都考虑将业务封装成webservice的方式以适应业务的变化,这并非合理的选择。

  在儒家文化的一种理念价值观就是“中庸之道,过犹不及”。对待Webservice的态度,我们面临的是同样的选择。

  而有没有一种技术既能适应用外环境的变化,也能适应用内部系统的变化呢?那就需要intra-SOA和inter-SOA内外配合,前者从业务的角度来解决因业务的需求变化,后者从系统层面解决跨系统间业务与数据的整合。intra-SOA和inter-SOA “内外兼修”才能称之为完整的SOA解决方案。

  TmaxSoft的SOA之道

  目前TmaxSoft提供了基于intra-SOA的ProFrame用来构建企来内部的SOA,同时也提供了基于inter-SOA的ESB产品ProBus来解决接口层异构系统EAI、workflow和多渠道接入的功能,从而提供由内到外的一整套SOA企业级完整解决方案。

  TmaxSoft把整个SOA框架分为四个层次:用户界面层(UI)、接口层(Interface)、业务层(Business)和数据层(Data),其中在接口层提供基于Inter-SOA的解决方案、在业务层提供基于Intra-SOA的解决方案。

(图二)Tmaxsoft企业级完整SOA解决方案

 

ProFrame是定义生成实现并重用SOA服务的Business Framework的核心解决方案。ProFrame最大化了基于SOA的下一代系统所要求的灵活性,重复性及安全性。 ProFrame的“Enterprise ModuleBus构架”是运用Gartner提出的“Microflows”概念,实现“Intra-SOA”的TmaxSoft的核心技术。通过ESB消除了系统与服务间的相互依赖性,提高了服务的可重用性。类似,通过EMB消除了组件或模块间的相互依赖性,从而提高了各模块的重用性。通过组合服务接口、单位模块,以及通过ESB构建的模块流程,构建了真正的服务组件。EMB的优点不仅在于可重用性,而且实现了服务的业务逻辑的可视性。因此用户不懂编程,也可以参与到设计与开发工作当中。其中ProFrame的核心就是EMB (Enterprise Module Bus),它不同于ESB(Enterprise Service Bus),但却有着异曲同工之妙,它通过把企业的业务逻辑按照Business Module和Service Module的方式,在ProFrame平台上进行开发与定义,通过EMB来统一管理Service Module,通过组合已有的模块产生各种新的服务,构建一个内部的SOA环境。构建的这些Business Module和Service Module可以复用和重新组合成新的服务,从而在企业内部形成一个intra-SOA的松耦合、可重用、高性能的SOA环境。

(图三)基于松耦合架的企业模块总线(Enterprise Module Bus)

 

        用EMB创建的服务由松耦合模块组成,保证了每个模块的独立性和系统结构的灵活性。松耦合组件提高了组件的重用性和系统的可维护性。

  ProBus是TmaxSoft的Inter-SOA中ESB解决方案,是TmaxSoft 对服务、应用、资源以及分散的服务组件进行连接或整合,提供可靠通信的ESB解决方案。它解决系统之间的互联、消息传递、转换、路由、web服务支持、Flow的控制等。ProBus 以高性能的引擎结构保障稳定的服务,可以与BPM、MCI进行连动,灵活支持多种适配器,是真正实现SOA 2.0的ESB解决方案。

  我们声称要构建SOA,于是新建的系统要遵循一系列的标准,要支持Webservice,很多原来可以直接以内部模块的方式非常高效的构建系统,现在为了SOA,为了支持异构系统的调用,把它封装成了Webservice,居不知,这正是噩梦的开始。Webservice基于SOAP协议来进行通信,它传输数据的格式为XML,而每次调用Webservice时都需要传输XML格式的数据,对XML进行解析,这些都是出现性能瓶颈的罪魁祸首。

  总结

  当我们需要构建复杂而高效的SOA环境时,Webservice的通讯方式和笨拙的数据交换格式而引起的性能问题,注定无法让它在企业占据核心的地位,而TmaxSoft ProFrame提供了一套高效的基于SOA的Framework,基于Proframe来构建企业的核心应用,而WebService作为企业SOA解决方案中inter-SOA的首选技术。

  不论是基于inter-SOA还是intra-SOA,实施SOA的目的是一样的,那就是实现以业务为核心,提高IT系统扩展的灵活性以及IT资产的复用,达到业务灵活组合的状态。而WebService则是作为inter-SOA中首选的技术,而非解决SOA的唯一途径

 

 

2008-07-11来源:中国IT实验室

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值