`

web Service 使用的利与弊

 
阅读更多
时下,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的唯一途径。
分享到:
评论

相关推荐

    service now web service

    ### Service Now Web Service知识点 #### 一、简介与概述 **Service Now Web Service**是一种集成解决方案,它允许不同应用程序之间通过网络进行通信。Service Now 支持多种类型的 Web 服务,包括作为提供者...

    PB11开发Web Service应用

    2. **数据映射**:PB11允许开发者定义数据类型与Web Service之间的映射,确保数据在不同系统间顺畅传输。 3. **性能优化**:PB11支持缓存策略,可减少不必要的网络通信,提高Web Service的响应速度。 四、实例演示...

    使用Web Service获取天气预报

    本篇文章介绍了如何使用Web Service获取天气预报信息,并提供了相关的知识点,包括Web Service的基本概念、如何添加Web Service引用、如何实例化Web Service、如何使用Web Service获取天气预报信息等。

    Java完整的Web Service示例代码,学会做web service程序

    1. **生成客户端代理类**:基于服务端的WSDL(Web Service Description Language)文件,你可以使用XFire的工具(如xsi或wsimport)来生成客户端所需的代理类。这些类提供了调用远程Web服务的方法。 2. **配置...

    D6 SOAP_WEB SERVICE程序设计.part1.rar

    delphi下soap编程指导 第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 ...第十四章 在Internet上使用Web Service

    web service 教程

    webservice 从表面上看Web service 就是一个应用程序它向外界暴露出一个能够通过Web进行调用的API。这就是说你能 够用编程的方法通过Web来调用这个应用程序。 对Web service 更精确的解释 Web ...

    web service与sap_ecc系统服务发布与调用

    "Web Service与SAP ECC系统服务发布与调用" 在现代企业信息化中,Web Service和SAP ECC系统的集成是一种常见的解决方案。通过Web Service,SAP ECC系统可以与外部系统进行集成,实现业务流程的自动化和数据的实时...

    使用XFire+Spring构建Web Service

    【使用XFire+Spring构建Web Service】是一种高效且灵活的方法,尤其适合于那些希望利用Spring框架的优秀特性来开发Web Service应用的开发者。XFire是一个先进的Web Service框架,与Axis2并列为新一代的选择,因其...

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著.zip

    3. **Web Service的创建与部署**:演示如何使用Delphi6和Kylix2创建Web Service,以及如何将它们部署到Web服务器上。 4. **Web Service的客户端调用**:阐述如何在Delphi6和Kylix2项目中添加对已有Web Service的...

    web service入门教程ppt

    2-WS--WebService-Developing Web Service with Visual Web Developer Express 2005.ppt详细讲解了如何使用微软的Visual Web Developer Express 2005工具创建Web服务。这个IDE提供了一个直观的环境,使得开发者能够...

    web service reference

    5. **WSDL (Web Services Description Language)**:一种基于XML的语言,用于描述Web Service的接口,包括服务的操作、输入输出参数、使用的绑定协议等。 #### 四、Web Service的开发流程 Web Service的开发通常...

    vmware vSphere web service SDK开发指南

    VMware vSphere Web Service SDK开发指南是一份指导开发者如何使用VMware vSphere SDK进行开发的文档。VMware vSphere是VMware公司推出的业界领先虚拟化解决方案,它通过提供高级抽象层来管理和控制计算资源,为用户...

    嵌入式Web Service

    嵌入式Web Service是指运行在嵌入式设备上的Web服务,能够通过网络协议与其他设备或服务器进行交互。与传统Web服务相比,它更侧重于资源受限环境下的高性能、低功耗和实时性,适用于智能家居、工业自动化、远程监控...

    ASP.NET与Web Service实例剖析

    ASP.NET与Web Service实例剖析

    ASP .NET 与 Web Service 实例剖析

    ASP.NET和Web Service是开发基于Web应用程序的重要技术。...通过深入学习和实践"ASP .NET 与 Web Service 实例剖析",开发者可以提升在Web应用程序开发中的技能,理解如何在不同的系统之间创建可靠的数据交换通道。

    基于Web Service的嵌入式远程抄表监控系统的设计与实现

    远程抄表监控终端软件设计主要包括数据采集和Web Service的设计和实现,重点是使用gsoap软件包设计了供客户端调用的Web Service,并详细论述了远程抄表监控终端与客户端的通信。设计好的远程抄表监控终端作为一个...

    基础平台使用手册-Web Service

    **基础平台使用手册-Web Service** 本手册旨在详细介绍Web Service技术及其在开发中的应用,特别关注两种主流的Web Service开发框架:Axis2和CXF。Web Service是一种通过互联网进行通信的标准化方式,允许不同系统...

    使用Ajax和Web Service重构网上书店(Ajax Web Service)

    **Ajax与Web Service在重构网上书店中的应用** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,...

    用vfp编写Web Service

    6. **测试与调用**:可以使用VFP的内置Web浏览器或者第三方工具(如SOAPUI)进行Web Service的测试。通过发送SOAP请求,查看返回的XML响应,确认服务功能的正确性。 7. **安全考虑**:Web Service的安全性是至关...

    Web Service入门经典

    - **防火墙穿透**: Web Service 通常使用 HTTP 协议,这使得它们可以通过大多数防火墙,简化了客户端与服务端的通信。 - **应用程序集成**: 开发者可以利用 Web Service 将不同系统、不同技术栈的应用程序连接起来...

Global site tag (gtag.js) - Google Analytics