论SOA架构的几种开发方式_第1页
论SOA架构的几种开发方式_第2页
论SOA架构的几种开发方式_第3页
论SOA架构的几种开发方式_第4页
论SOA架构的几种开发方式_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、论SOA架构的几种主要开发方式李万鸿面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需 求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务 层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互 的人为依赖性。Soa的开发方法一般主要有开源的 dubbo、dubbox、mule、 wso2 、 cxf,以及付费的 oracle soa 、 ibm soa 等。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口 进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Servi

2、ce技术之后的自然延伸。SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种 组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重 用性架构整个业务系统。较之以往,以 SOA架构的系统能够更加从容地面对业 务的急剧变化。SOA的实施具有几个鲜明的基本特征。实施 SOA的关键目标是实现企业 IT资产的最大化作用。要实现这一目标,就要在实施SOA的过程中牢记以下特 征:可从企业外部访问随时可用粗粒度的服务接口分级松散耦合可重用的服务服务接口设计管理标准化的服务接口支持各种消息模式精确定义的服务契约SOA服务具有平台独立的自我描述 XML文档。Web服务描述语言(WSD

3、L ,ervices Description Language ) 是用于描述务的标准语言。SOA服务用消息进行通信,该消息通常使用XML Schema来定义(也叫做XSD, XML Schema Definition )。消费者和提供者或消费者和服务之间的 通信多见于不知道提供者的环境中。服务间的通讯也可以看作企业内部处理的 关键商业文档。在一个企业内部,SOA服务通过一个扮演目录列表 (directory listing )角 色的登记处(Registry )来进行维护。应用程序在登记处(Registry )寻找并调 用某项服务。统一描述,定义和集成( UDDI , Universal D

4、escription , Definition , and Integration )是服务登记的标准。每项SOA服务都有一个与之相关的服务品质 (QoS , quality of service )。 QoS的一些关键元素有安全需求(例如认证和授权),可靠通信(注:可靠消 息是指,确保消息 仅且仅仅”发送一次,从而过滤重复信息。),以及谁能调 用服务的策略。随着全球信息化的浪潮,信息化产业不断发展、延伸,已经深入了众多的 企业及个人,SOA系统架构的出现,将给信息化带来一场新的革命。纵观信息化建设与应用白历程,尽管出现过 XML (标准通用标记语言的子 集)、Unicode、UML等众多信息

5、标准,但是许多异构系统之间的数据源仍然 使用各自独立的数据格式、元数据以及元模型,这是信息产品提供商一直以来 形成的习惯。各个相对独立的源数据集成一起,往往通过构建一定的数据获取 与计算程序来实现,这样的做法需要花费大量工作。信息孤岛大量存在的事实, 使信息化建设的ROI (投资回报率)大大降低,ETL成为集中这些异构数据的 有效工具。ETL常用于从源系统中提取数据,将数据转换为与目标系统相兼容 的格式,然后将其装载到目标系统中。数据经过获取、转换、装载后,要产生 应用价值,还需另外的数据展现工具予以实现,如此复杂的数据应用过程,必 定产生高昂的应用成本。结构化的数据管理尚可通过以上方法,予以

6、实现其集成应用。在非结构化 的内容方面,这些具有挑战性的问题令人生畏。内容管理的应用方案基于不同 的信息化应用系统,而且大部分是纵向的以组织部门为界限的。在内容管理市 场中,经常使用来自不同厂商的产品来提供这些解决方案。即使是同一个厂商 的产品,相互之间的功能也是经常重叠,并且无法集成。随着信息化建设的深入,不同应用系统之间的功能界限已趋于模糊。同时 企业资源计划系统和协同商务系统,又需要商业智能的分析展现数据提供用户 操作依据。在激烈竞争且多变的市场环境下,企业的管理模式很难固化,应用传统的 信息化软件,当企业要做出一些改动时需要面对巨大的挑战。SOA系统架构的出现,信息化变革2000年We

7、bService出现后,SOA被誉为下一代 Web服务的基础框架, 已经成为计算机信息领域的一个新的发展方向。SOA的出现给传统的信息化产业带来新的概念,不再是各自独立的架构形 式,能够轻松的互相联系组合共享信息。可复用以往的信息化软件。基于 SOA的协同软件提供了应用集成功能,能 够将ERP、CRM、HR等异构系统的数据集成。松散耦合方式,只要充分了解业务的进程,就可以不用编写一行代码,通 过流程图实现一套我们自己的信息系统。就像已经给你准备好了砖瓦和水泥, 只需要想好盖什么样的房子就可以轻松的盖起。加快开发速度,并且减少了开 发和维护的费用。软件将所有的管理提炼成表单和流程,以记录管理的内

8、容, 指定过程的流转方向。更简便的信息和数据集成。信息集成功能可以将散落在广域网和局域网上的 文档、目录、网页轻松集成,加强了信息的协同相关性。同时,复杂、成本高昂的数据集成,也变成了可以简单且低成本实现的参 数设定。创建了完全集成 的信息化应用新领域。在具体的功能实现上,SOA协同软件所实现的功能包括了知识管理、流程 管理、人事管理、客户管理、项目管理、应用集成等,从部门角度看涉及了行 政、后勤、营销、物流、生产等。从应用思想上看,SOA协同软件中的信息管理功能,全面兼顾了贯穿整个企业组织的信息化软硬件投入。尽管各种IT技术可以用于不同的用途,但是信息管理并没有任意地将信息分为结构化或者非结

9、 构化的部分,因此ERP等结构化管理系统并不是信息化建设的全部;同时,信 息管理也没有将信息化解决方案划分为部门的视图,因此仅仅以部分为界限去 构建软件应用功能的思想未必是不可撼动的。 基于SOA的协同软件与ERP CRM 等传统应用软件相比,关键的不同在于它可以在合适的时间、合适的地点并且 有正当理由向需要它提供服务的任何用户提供服务。利用SOA架构开发的优点:第一、更易维护业务服务提供者和业务服务使用者的松散耦合关系及对开放标准的采用确 保了该特性的实现。建立在以SOA基础上的信息系统,当需求发生变化的时候, 不需要修改提供业务服务的接口,只需要调整业务服务流程或者修改操作即可, 整个应用

10、系统也更容易被维护。第二、更高的可用性该特点是在于服务提供者和服务使用者的松散耦合关系上得以发挥与体现。 使用者无须了解提供者的具休实现细节。第三、更好的伸缩性依靠业务服务设计、开发和部署等所采用的架构模型实现伸缩性。使得服 务提供者可以互相彼此独立地进行调整,以满足新的服务需求。下面详细论述几种主要的开发方法和工具:一. Dubbo 。DUBBO是淘宝公司的一个分布式服务框架,致力于提供高性能和透明化的 RPC远程服务调用方案,以及SOA服务治理方案。淘宝公司的许多应用就是采用dubbo,运行稳定成功。现在,不少企业采用dubbo开发应用系统Dubbo是简单有效的soa架构,值得采用 相比于

11、其他服务框架,DUBBO有如下优势:透明化的远程方法调用,就像调用本地方法一样调用远程方法, 只需简单配置,没有任何API侵入;软负载均衡及容错机制,可在内网替代 F5等硬件负载均衡器,降低成本,减少单点;服务自动注册与发现,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。其核心部分包含:远程通讯:提供对多种基于长连接的 NIO框架抽象封装,包括 多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。集群容错:提供基于接口方法的透明远程过程调用,包括多协议 支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。自动发现:基于注册中心目录服务,使服务消

12、费方能动态的查找 服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。Dubbo有如下功能:透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何 API侵入。软负载均衡及容错机制,可在内网替代 F5等硬件负载均衡器, 降低成本,减少单点。服务自动注册与发现,不再需要写死服务提供方地址,注册中心 基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提 供者。Dubbo基本原理-分布式服务框架Dubbo基本原理-分布式服务框架快速启动Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Sprin助口载Dubbo的配置即可

13、,Dubbo基于Spring的Schema扩展进行 加载。服务提供者:定义服务接口定义服务接口 :(该接口需单独打包,在服务提供方和消费方共享)DemoService.javapackage com.alibaba.dubbo.demo;public interface DemoService IString sayHello(String name);I! 在服务提供方实现接口在服务提供方实现接口 :(对服务消费方隐藏实现)DemoServicelmpl.javapackage com.alibaba ,dubbo. dnnoprovider;import com.alibaba.dubbc

14、*demoiDemoService;public class DemoServiccImpl implements DemoService (public String sayHello(String name) return Hello + name;用Spring配置声明暴露服务providerxmlml nc HYPERLINK http:/code http:/code alibabatech- com/schemj/dubboM7iliu,iLOLiiiior = rhttp:/www. 5prTingfrafK/&chemd/beanshttp; /irrw. springfrme

15、Hork, org/schema/bens/spring-beans.xsdal ihsbatfh. co/schms/duhtiGhttp: /code T alibtuftechcom/scheMa/dubbo/ dubbo* xsd 用于计算依赖关系1-使用multian广播法用中心暴露眼号地址b口”川T/1 -和本地匕“n-样或现服务a- de mo. provider ,0a moServicelmpl /力口载Spring配置Providerjavaimport arg. springframttaiork. context. support. llasPathxm 1 App 1

16、1 catloncontext;public 工子5 Provider (puhlic static void rrain(5tring ag) throw与 fxcpption ( clas$PdthxmlApplicationcontXt context - neviClassPdlliXmlApplLcaLionCcinlexl(neri 5triiigJhttp:/i9a/hfiki/display/dubbo/provider, xml1); contextSystem.inrrwd)i / 我什急湃退出)服务消费者:consumer.xmi!-指费方应用名.用于计算侬糠关系,不是匹

17、配条件,不善与提供方一样一!-使用iiultn日5t广播注力中心暴嘉发现趾与埴灶-I -生成选程犀势代理,可以和本地beani-ff(den*o Ser vice - dubbo: reference id=deoService4 interface=com. alibabd . dubba. deac. DemoSerwice* /加载Spring配置,并调用远程服务:(也可以使用IoC注入)Cansumar.javaimport org. springfrsmework, context, support FCla5sPathiXliilAppliestipnCcntcxt; import

18、 rcrai.H】i habdxduhbodpmo.Dpmosprvirp jpublic clas写 Consuner !publit statit void main(sir,-ing ars) threes Exception C lasPa-thXn App icatiDnCantPxt context = newclassPathxnilApp icat ioncontext (nF.*; string |http: / -10.2. 160.190/iki/display/dubbo/coniurrer.xml*);context.star();DemoSe rwice demo

19、Service = (DemoService) context. getBean ( demoService11) ; / 扭肢 远鞋.眠务代理String hello = deaoService,sayHello(world); / 执行远程方法system+ out+ print I n( hello ); / 上不二年口些祟 Zookeeperft册中心安装建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端。ZookeeperH Apache Hadoop勺子项目,强度相对较好,建议生产环境使 用该注册中心。Dubbo未对Zookeeper务器端做任何侵入修改,只需

20、安装原生的Zookeeper务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。安装:wget http: /www, 3paGhe.0rg/di 5t/sockeeper/z wj keeper-J. J, 3/;(xikee per-3, 3,3, tar, fiz tar zxvf 7Dokp*per -3.3. 3.cd ZQckeeper-3rp ronf/zoo samplp+cfr conf/-oo*cfR vi conf/zQci.cfg如果不需要第宇.加。上幅的内容妇下:(其中心冶目录需改或你真费输出目录)zoo.cfgtiekTime=J(M0initLi

21、mit=10s/ncLimit=5dataDi r/haiie/dubbd/2DokEeper-J/datacliitPort-2iai用法:dubbon registry . add resi-zookeepcr:+21B1 出akup*l仇 2O.1S3.11 ;2181dutbo:regiitry pici_c-.开源网址: HYPERLINK http:/alibaba.github.io/dubbo-doc-static/Home-zh.htm http:/alibaba.github.io/dubbo-doc-static/Home-zh.htmZookeeperF载地址: HYP

22、ERLINK /releases.html /releases.html ZookeeperS册中心安装: http:alibaba.github.io/dubbo-doc-static/Zookeeper+Registry+Installation-zh.htmMuleMule是一个以Java为核心的轻量级的消息框架和整合平台,基于 EIP (Enterprise Integeration Patterns ,由 Hohpe 和 Woolf 编写的一本 书)而实现的。Mule 的核心组件是 UMO(Universal Message Objects , 从Mule2.0开始UMO这一概念已经

23、被组件 Componse 所代替),UMO 实现整合逻辑。UMO可以是POJO,JavaBean 等等。它支持30多种传 输协议(file,FTP ,UDP,TCP,email,HTTP ,SOAP,JMS 等),并整合了许多 流行的开源项目,比如 Spring,ActiveMQ,CXF,Axis,Drools 等。顺便过一下关于ESB (企业服务总线)的概念:邮3业各层断 4IJMN峥层n接口层族接口房统一认证 ,A系统B豕统C系统 D系统,Mule Studio是一个功能强大、用户界面友好的基于Eclipse的开发工具(下载地址)。使用者不需要深入了解 Mule的XML配置语法,就 可以在

24、几分钟内轻松的创建、 编辑、测试Mule ESB流程。Mule Studio 基于Eclipse技术,包含3个主要部件:项目结构树、工具箱和画布。项目结构树包含整个项目的目录结构。Mule是一个企业服务总线(ESB)消息框架.它的主要特性包括:.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker).可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3, file,xmpp等.支持任何传输之上的异步,同步和请求响应事件处理机制.支持 Axis 或者 Glue 的 Web Service.灵活的部署结构Topolog

25、ies包括 Client/Server, P2P, ESB 和Enterprise Service Network.与Spring 框架集成:可用作ESB容器,也可以很容易的嵌入到 Spring 应用中.使用基于SEDA处理模型的高度可伸缩的企业服务器.强大的基于EIP模式的事件路由机制等.Mule transports /twnnectoreRoutingMesial brolcorMule integration servicesTMnssdtfln imrsgvnamIransformstionTrnnHEOfi morMffeniMntSocurttyIntegrationLaverT

26、qf语 port LayerTrnp4x1IrniLporl三 wso2。WSO2 ES星一种根据ApacheV2.0许可证发布的快速、轻量级和灵活的企业 服务总线产品。使用 ESBft HTTR HTTPS JMS mail等协议基础上通过业务系 统过滤、转换、路由和处理 SOAP二进制、纯XML和文本消息。WSO2ES在一个为企业准备的完全成熟的 ESB WSO2ES班建立在 ApacheSynapse目基础上的。Apache Synaps是使用 Apache Axis创建的。下图从信息角度描述了 WSO2ES瞰构,还有一些像Tasks Events没有在图 中描述出来。显示了如何在ESB

27、中处理消息。注意:管道的各种组成部分并不意味着这个图中的热河命令。应用程序发送消息到ESB该消息由ESB Transport捡起。Transport过消息管道发送消息。像安全和可靠的消息传递的信息方面的质 量受到这个pipe的照顾。在该pipe内部是axis2的流入和流出流。ESB以有如 下两种操作:消息中介:使用单管道代理服务:使用独立的管道运输到不同的代理服务。消息转换和消息路由可以看做一个独立的单元。如图所示,消息转换组件和路由组件之间没有明显的分离。 WSO2ES班用这个中介框架。一些转换发生在 路由决定之前,一些转换发生在路由决定之后。这一部分由Synaps瞅行。然后根据目的地将消息

28、注入到独立的管道。在这里再次确定消息服务方面的 质量。传输层负责通过ESB9f需的传输协议的转换。该图显示了如何通过ESB勺体系架构将请求彳到一个实际的 endpoint响应 处理是这个操作的反向操作。所有这些组彳可以通过 WSO2ESBf理控制台管理和检测。ESB Components下图直观的介绍了 WSO2ESB勺基于组件的体系结构。TransportsWSO2ESBC持所有广泛使用的传输协议包括 HTTP/s JMS VFSffi特定领域 的传输如FIX 一个新的传输协议使用axis2传输框架轻松地被添加和插入到 ESB 中。不同的传输工具为ESB来各种消息内容/负载。传输内容:消息建

29、设者:允许使用内容类型标识消息并使变成普通的 XML消息集。因 此每个内容类型都有相关联的建设者。 WSO2ESB&含基于文本的内容信息的建 设者和二进制内容建设者。消息格式:建设者的相反的搭档。格式化程序通过指出传输协议处理前消息 内容的类型将消息转换回原始格式。类似transport的用户可以使用axis2框架实 现消息的建设和格式化。参阅 Transports端点(EndpointsEndpoints作为具有传输协议的逻辑组件。两套端点地址和WSDL地址endpoint可以使用任何可用的transport调度消息。参阅 Endpoints代理服务(Proxy Servicers在WSO2

30、ESEfr代理服务是实现使用消息接收器和开放接收消息的虚拟服务。 一个代理服务可以使用类似于一个普通的web服务地址的url访问。代理服务允许将WSDL发布到用于先前使用的程序组。可以使用任何可用的传输协议从代理服务接收和发送消息。参阅 Proxy Services Sample主题(TopicsTopics!另一个恢复消息处理事件的实施,包括 subscription events 参阅 eventing中介(MediatorsWSO2ESBpower仍然是为不同方面提供服务的全面调节库。使用mediator 库实现广泛使用 MEPs和EIPs由于WSO2ESB供了一个健康的框架,使得开 发

31、者写一个 mediator非常容易。mediators可以使用包括 Java scripting口 Spring 的各种技术。参阅m e d i a t o r序歹!J ( SequencesSequenced当mediators的配置组件。Sequenc配许阻止mediators实现管 道和过滤模式。参阅 Sequences任务和命令(Tasks and CommandsTasksfe供在WSO2ESM配置计划工作的设施并且允许执行mediation的内部或外部命令。参阅TasksQoS组件(QoS ComponentsQos组件实现可靠的消息传递和代理服务自带的Apache的Rempart

32、和SandeshaW个实现模块的安全性。酉己置、库/注册(Configuration, Repository/RegistryConfiguration是 ESB架 构的架构图。WSO2ESB提 供了一个 内置的 Repository/RegistMf储配置和配置元数据,而且提供了使用远程库设施。管理和配置界面(Management and Configuration GUI有助于在生产环境中运行 WSO2ESB&件可以在组件中找到。这些组件实现 集群、高可用性和负载平衡功能。GUI组件进行综合管理、配置和检测 GUL GUI通过分离前端和后端的关注 实现了分层架构。这允许用户使用一个GUI控

33、制台连接到多个后台。WSO2ESBS于组件的体系结构加强了使用 OSGi的松耦合性质。所有组件都 建为OSGi包。ESBW点(ESB Features完整的XML和 Web服务支持借助内置的XML命名空间、XPath、XSLT XQuery, WSO2ES 支持XMLB处理需求。同时也能够很大程度上处理非 XMLB内 容。WSO2ESB要支持的服务标准:SOAP1.1/ SOAP1.2WSDL1.V WSDL1.2WSt址(支持双通道调用)使用Apache Smart的安全的WSB使用Apache Sandesha2可靠的WS?肖息 使用Apache Savan的WS件和WSO零件WSfi略(

34、支持传入/传出的消息分离策略) MTOMSwAffi化二进制消息XMI/HTTP (POXRES璐式经验证的互操作 性基于通用的 Apache Synapse 和 Apache Axis2 项目, WSO2ESBE经证明含有Microsoft.NET的Web服务堆栈的互 操作性高性能WSO2ESBK化了使用最少资源低延迟支持高吞吐量。可以 使用连接节流支持成千上万的并发连接,以及使用一个恒定的 内从占有的大量消息使用连接节流。 非阻塞的IO和XML流组 合的解析设计意味着ES嗽照需求缩放而且仍能表现的很好。最小定制开 发WSO2ES所在轻松的支持常见的要求,同时可能要扩展其 功能。这些功能:基

35、于内容的路由虚拟化服务负裁平衡发送故障协议转化传送消息日志记录&检测消息分裂和聚合企业集成模式节流要求响应缓存可扩展性可以使用简单的Java扩展功能、POJO类、Spring以及使用JavaScript Ruby或其它Apache BS脚本语百扩展多协议支持以下内置协议整合存在的网络、伙伴及新工程非阻塞的HTTP砌、议1.0和1.1的交易JMS传输二进制、文本和 SOAP息Apache VFS 文件传输(如:S/FTP 文件、zip/tar/gz、WebDAV CIFSl?)支持多部分内容的邮件传输(POP3 IMAP、SMTP)AMQP 通过 Apache QPid金融信息交换(FIX)We

36、b服务的HessianC进制协议任务调度支持管理经常性工作,通过ESB允许定期更新这些任务计 划作为cron守护进程或简单重复的任务支持事件驱动架 构内置的Qpid代理人作为事件代理人很容易实现使用EDA技术的企业集成。事件通过代理人可以调解执行发布之前的任 何需求改变内置的注册WSO2ESB付带一个集成的WSO2注册表,并且轻松的实表现连接到外部/远程注册表高级调解 &EIPWSO2ESB还内置了支持读取或写入到数据库,以及到 Java/POJOW或脚本中调用。它也提供消息拆分、聚合、缓存 和限制可以轻松的配置能力。产业驱动协 议支持产业带动财政信息交换(FIX)协议使财政部分一体化和Hes

37、sian web服务协议支持二进制消息格式。AMQP、VFS 和JMS作为运输企业集成。国际化图形 控制台WSO2ESB提供了一整套的管理服务和一个图形化用户界 面配置/管理/监测运行的 WSO2ESB!务器。此图形控制台可 以很容易的当后台运行在服务器上时与后台分离。可以在桌面上安装国际化的图形控制台而且还可以用于管理集群中的节 点序列编辑於代理服务编辑器端点/本地注册编辑器任务调度内置的注册表浏览器策略编辑价预定义的安全方案用户存储值存储配置数据源运输管理服务尝试日志、追踪和监测统计服务管理有力的通过管理控制台和J MX停止和重启E S B系统监控WSO2 ES时通过JMX管理控制台以及配

38、备了全面的监测 能力。这些监控功能包括:系统状态系统统计图表调解统计图表调解追踪SOAPB 踪日志配置和监控四 cxf。Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如: SOAP XML/HTTR RESTul HTTP 或者CORBA 并 且可以在多种传输协议上运行,比如: HTTP、JMS或者JBI , CXF大大简化 了 Services 的创建,同时它继承了 XFire传统,一样可以天然地和 Spring 进行无缝集成。功

39、能特性CXF包含了大量的功能特性,但是主要集中在以下几个方面:支持Web Services 标准:CXF支持多种Web Services 标准,包含 SOAP、Basic Profile、WS-Addressing WS-Policy、WS-ReliableMessaging 和 WS-Security Frontends : CXF 支持多种 “Frontend ”编程模型,CXF 实现 了 JAX-WSAPI (遵循 JAX-WS 2.0 TCK 版本),它也包含一个simplefrontend ”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持

40、WSDL优先开发,也支持从Java的代码优先开发模式。容易使用:CXF 设计得更加直观与容易使用。有大量简单的API用来快速地构建代码优先的Services ,各种 Maven 的插件也使集成更加容易,支持JAX-WSAPI ,支持Spring 2.0更加简化的XML配置方式,等等。支持二进制和遗留协议:CXF的 设计是一种可插拨的架构,既可以支持XML ,也可以支持非 XML的类型绑定,比如:JSON和CORBA。项目目标下面列出了来自Apache CXF 官方网站的项目目标。概要高性能可扩展简单且容易使用支持多种标准支持 JAX-WS JAX-RS JSR-181 和 SAAJ 支持 SO

41、AP 1.1、1.2、WS-I BasicProfile、WS-Security、WS-Addressing 、WS-RM 和 WS-Policy ;支持 WSDL 1.1 、2.0;支持 MTOM;多种传输方式、Bindings、Data Bindings 和 FormatBindings : SOAP、REST/HTTP ; Data Bndings :目前支持 JAXB 2.0、 Aegis 两种,默认是 JAXB 2.0。XMLBeans Castor和JiBX 数据绑定方式 将在CXF 2.1版本中得到支持;格式(Format ): XML、JSON ;传输方式: HTTP、Serv

42、let、JMS和Jabber ;可扩展的 API允许为 CXF增加其它的 Bindings ,以能够支持其它的消息格式,比如:CSV和固定记录长度。2Apache CXF特点编辑灵活部署轻量级容器:可在 Tomcat或基于 Spring 的容器中部署 Services ;集 成JBI :可以在如 ServiceMix, OpenESBbr Petals等等的JBI容器中将它部 署为一个服务引擎;集成SCA:可以部署在如Tuscany之类的SCA容器中; 集成J2EE :可以在 J2EE应用服务器中部署 Services ,比如:Geronimo、 JOnAS JBoss WebSphere A

43、pplication Server 和 WebLogic Application Server ,以及Jetty 和Tomcat ;独立的Java客户端/服务器。支持多种编程语言全面支持JAX-WS 2.0客户端/服务器编程模型;支持 JAX-WS 2.0synchronous 、asynchronous 和 one-way APIs ;支持 JAX-WS 2.0 Dynamic Invocation Interface (DII) API ; 支持 wrapped and non-wrapped 风格;支持 XML messaging API ;支持 JavaScript 和 ECMAScript 4 XML (E4X),客户端与服务端均支持;通过 Yoko支持 CORBA;通过Tuscany 支 持 SCA;通过 ServiceMix 支持 JBI ;代码生成Java to WSDL ; WSDL to Java ; XSD to WSDL ; WSDL to XML ; WSDL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论