CXF之一 基础理论介绍

WebService介绍
   WebService让一个程序可以透明地调用互联网程序,不用管具体的实现细节。只要WebService公开了服务接口,远程客户端就可以调用服务。WebService是基于http协议的组件服务,WebService是分散式应用程序的发展趋势。

WebService的开源实现
   WebService更多是一种标准,而不是一种具体的技术。不同的平台,不同的语言大都提供WebService的开发实现。在JAVA领域,WebService的框架很多,例如:AXIS,XFire,CXF等。AXIS,XFire相对比较成熟,资料相对较多。在这里我们只对CXF进行讲解,其他大家想学习到互联网找相关资料学习。

CXF框架由来
   ApacheCXF项目是由ObjectWeb Celtix和CodeHaus XFire合并成立。ObjectWeb Celtix是由IONA公司赞助,于2005年成立的开源Java ESB产品,XFire则是业界知名的SOAP堆栈。合并后的ApacheCXF融合该两个开源项目的功能精华,提供了实现SOA所需要的核心ESB功能框架,包括SOA服务创建,服务路由,及一系列企业级QoS(Quality of Service,服务质量)功能。

ApacheCXF架框的目标
   1.概述
   <>高性能 
   <>可扩展
   <>直观易用
   2.支持标准
    <> JAX-WS, JSR-181, SAAJ, JAX-RS
    <> SOAP 1.1, 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM, WS-Policy
    <> WSDL 1.1
    <> MTOM
   3.传输方式,绑定,数据绑定,传送数据格式
    <> 绑定: SOAP, REST/HTTP
    <> 数据绑定: JAXB 2.x, Aegis, XMLBeans, SDO
    <> 传送数据格式: XML, JSON, FastInfoset
    <> 传输方式: HTTP, Servlet, JMS
   4.部署灵活
    <> 轻量级: 可以将服务部署到 Tomcat或其支持Spring的容器中
    <> JBI整合: 部署一个服务引擎到JBI容器,例如: ServiceMix, OpenESB or Petals
    <> J2EE集成: 可以将服务部署到J2EE应用服务器上,例如:Geronimo, JOnAS, JBoss, WebLogic, 及WebSphere
    <> Java 客户端/服务端可以独立性
   5.支持多种编程语言
    <> 完全支持 JAX-WS 2.x 客户端/服务端模式
    <> JAX-WS 2.x synchronous, asynchronous and one-way API's
    <> JAX-WS 2.x Dynamic Invocation Interface (DII) API
    <> 支持 wrapped and non-wrapped 数据格式
    <> XML messaging API
    <> 支持JavaScript 和 ECMAScript 4 XML (E4X)
    <> 支持CORBA
    <> 支持JBI及ServiceMix
   6.可编程环境
    <> Java to WSDL
    <> WSDL to Java
    <> XSD to WSDL
    <> WSDL to XML
    <> WSDL to SOAP
    <> WSDL to service

  • 前端建模:CXF 提供了前端建模的概念,允许您使用不同的前端 API 来创建 Web 服务。API 允许您使用简单的工厂 Bean 并通过 JAX-WAS 实现来创建 Web 服务。它还允许您创建动态 Web 服务客户端。
  • 工具支持:CXF 提供了用于在 Java Bean、Web 服务和 WSDL 之间进行转换的不同工具。它提供了对 Maven 和 Ant 集成的支持,并无缝地支持 Spring 集成。
  • RESTful 服务支持:CXF 支持代表性状态传输(Representational State Transfer,RESTful )服务的概念,并支持 Java 平台的 JAX-RS 实现。(本系列的第 2 部分将提供有关 RESTful 服务的更多信息。)
  • 对不同传输和绑定的支持:CXF 支持不同种类的传输,从 XML 到逗号分隔值 (CSV)。除了支持 SOAP 和 HTTP 协议绑定之外,它还支持 Java Architecture for XML Binding (JAXB) 和 AEGIS 数据绑定。
  • 对非 XML 绑定的支持:CXF 支持非 XML 绑定,例如 JavaScript Object Notation (JSON) 和 Common Object Request Broker Architecture (CORBA)。它还支持 Java 业务集成(Java Business Integration,JBI)体系架构和服务组件体系架构(Service Component Architecture,SCA)。
  • code first 或者 xml first  : 支持使用code first 或者 xml first 的方式来创建web服务。
posted on 2014-02-10 11:15  duanxz  阅读(495)  评论(0编辑  收藏  举报