时下,IT界最流行的话题莫过于SOA,而SOA领域里我们用到的最广泛的技术就是webservice,一方面我们热衷于使用webserivce来解决企业应用中面临异构系统的应用集成问题,它的问世,天生为集成服务,成为解决异构系统应用集成的首选“良药”。另一方面,良药并非“神药”,当我们把它神化之后,错误的以为构建SOA就必需要使用WebService来构建服务,在过多的使用webservice后,发现“良药服用过量”,会出现“不良反应”,使企业的应用又面临严重的性能瓶颈。对于它的认识与使用,我们需做何选择呢? SOA的理解 SOA架构的本质,并不是说把你的应用或者组件包装成Service就是SOA,而是说,你需要基于一种构架,能够让你的产品能够更适应“业务敏捷性(Business Agility)”。而体现SOA的重要特性在于松耦合、可重用、可视化、灵活性,所以只有在这几个环节做到之后才能使企业应用真正置身于SOA的大环境之中。 从SOA的面向角度来说分为:面向企业异构系统和面向企业内部业务系统两个方面,前者的角度称为Inter-SOA,后者称之为Intra-SOA。而企业在构建SOA时,并非单纯是从解决企业异构系统的角度来出发,也要考虑到应用的升级、扩展、企业新系统的建设,仅以一种修修补补的方式来适应因传统技术构建的业务系统,采用intra-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的解决方案。 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环境。 用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的唯一途径。 |
相关推荐
C#Web Service C#Web Service C#Web Service
XML Web Service 开发XML Web Service 开发XML Web Service 开发XML Web Service 开发XML Web Service 开发最好不要下
service now web service guide
D6 SOAP_WEB SERVICE 使用delphi来开发 webservice 使用soap
Web ServiceWeb ServiceWeb Service
delphi下soap编程指导 第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 ...第十四章 在Internet上使用Web Service
webservice 从表面上看Web service 就是一个应用程序它向外界暴露出一个能够通过Web进行调用的API。这就是说你能 够用编程的方法通过Web来调用这个应用程序。 对Web service 更精确的解释 Web ...
Web Service和Grid Service研究,郭璇,,本文分析并比较了两种主流的Web服务技术,Web Service技术和Grid Service技术。首先介绍Web Service 的系统架构和核心技术,并深入探讨Web Servic
web service 天气预报web service 天气预报web service 天气预报web service 天气预报web service 天气预报web service 天气预报
web service与sap_ecc系统服务发布与调用,主要用于sap的Ecc版本讲解。
ASP.NET与Web Service实例剖析
Query as a Web Service 指南
基于Express的违章查询REST Web Service设计与实现.pdf基于Express的违章查询REST Web Service设计与实现.pdf基于Express的违章查询REST Web Service设计与实现.pdf基于Express的违章查询REST Web Service设计与实现...
基于Express的违章查询REST Web Service设计与实现.docx基于Express的违章查询REST Web Service设计与实现.docx基于Express的违章查询REST Web Service设计与实现.docx基于Express的违章查询REST Web Service设计与...
详细描述如何使用SOA Test进行Web Service 的性能测试(有图)
远程抄表监控终端软件设计主要包括数据采集和Web Service的设计和实现,重点是使用gsoap软件包设计了供客户端调用的Web Service,并详细论述了远程抄表监控终端与客户端的通信。设计好的远程抄表监控终端作为一个...
使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service
Java Web Service 学习例子,里面有大量用来开发web services的Java程序示例,非常值得学习。 使用到的技术及工具如下: Apache: www.apache.org and xml.apache.org -- Ant 1.4.1 -- SOAP 2.2 -- Tomcat 3.2...
web service discovery
要在Smart Device项目中使用XML Web Service,您需要在项目中添加Web引用。项目通过Web引用来使用XML Web Service。在项目中添加Web引用时,Visual Studio .NET将自动生成一个“代理类”。默认情况下,代理类不会...