JAXP JAXB JAXR JAX-RPC JAXM

JAXP—Java API for XMLProcessing,可使应用程序采用一种独立于特定 XML 处理程序实现的 API 对 XML文档进行解析和转换。 JAXP 还提供可插入特性,允许应用程序在特定 XML 处理程序实现之间很容易地切换。

要实现XML 处理程序独立性这一目标,应用程序应当限制使用 JAXPAPI,并避免使用与实现相关的 API 。根据具体的应用程序,这可能易于或难以实现。 JAXP 包括了如 DOM 和 SAX在内的业界标准 API 。

JAXB—JavaArchitecture for XML Binding,简化了启用 XML 的 Java 程序的创建和维护。JAXB 提供一个绑定的编译器和一个运行时框架用来支持 XML 和 Java 对象的双向映射。绑定编译器可将 W3C XML样式转换成一个或多个 Java 类,这个过程无需开发人员编写复杂的解析代码。模式派生类以及绑定框架可对输入和输出的 XML文档启用错误或有效性检查,因而可以确保系统接收、处理和生成有效而无误的消息。

一个 JAXB 应用程序可以使用由模式生成的 Java 类对结构和内容进行有效性验证。与 DOM类似,一个 JAXB 应用程序在内存中通过编组(marshalling) XML文档来构造内容树,从而创建数据结构,这个树包括派生类的实例对象。但与 DOM树不同,内容树是特定于某一种源模式的,不包含额外的树操纵功能,不允许使用其派生类的访问器方法对数据进行访问,也不能动态地构建。如果文档的内容是趋于动态且没有完好约束的,则在处理内容之前,在处理那些没有知名样式的XML 内容方面,DOM 和 SAX 要比 JAXB 更适合。

JAXM—Java API for XMLMessaging,专门用于 Internet 上交换 XML 商业文档的 API 。常用于交换的 XML文档的例子有订单、订购确认和发票。您可以在发送的消息中附带非 XML 数据。

 

 JAXR

 

Java API for XML Registries,提供一个统一的、标准的Java API,用于访问不同类型的 XML Registries。XML 注册项是构建、部署和发现 Web服务的基础设施。JAXR运行客户端访问与JAXR规范相兼容的Web Servcices,这里的WebServices即为注册服务。一般来说,注册服务总是以Web Services的形式运行的。JAXR支持三种注册服务类型:JAXRPluggable Provider、Registry-specific JAXR Provider、JAXR BridgeProvider(支持UDDI Registry和ebXML Registry/Repository等)。

 

JAXR API 与其他 XML API之间有何关系?

 

   JAXR 提供者的实现可以使用 Jav API for XML-Based RPC (JAX-RPC) 在 JAXR提供者与注册项提供者之间的通信,此注册项提供者输出类似 RPC 的基于 SOAP 的接口(例如, UDDI)。

   JAXR 提供者的实现可能会使用 Java API for XML Messaging(JAXM)在 JAXR提供者与注册项提供者之间进行通信,该注册项提供者输出基于 XML Messaging 的接口(如 ebXML TRP)。

   Java API for XML Processing (JAXP) 与 Java Architecture for XMLBinding (JAXB)会被 JAXR 提供者和 JAXR 客户端使用,用于处理向 Registry 提交或从 Registry中获取的 XML 内容。

   JAX-RPC—JavaAPI for XML-Based RPC,使得 Java 技术开发人员使用基于 XML 的 RPC 功能构建Web 应用程序和 Web 服务,此功能遵循 SOAP(简单对象访问协议,Simple Object AccessProtocol)1.1 规范。

 

客户端与 JAX-RPC 服务之间采用什么交互模式?

 

有以下三种不同的模式:

  1. 同步请求-响应(SynchronousRequest-Response):客户端调用远程程序并阻塞,直到它收到一个返回值或异常。
  2. 单向 RPC(One-Way RPC):客户端调用远程过程,但自身不阻塞或等待直到收到一个返回值。JAX-RPC客户端的运行时系统可能会抛出异常。
  3. 非阻塞 RPC 调用(Non-Blocking RPCInvocation):客户端调用远程过程,并继续处理同一个线程的内容而不等待返回值。此后,客户端通过阻塞来接受返回值或轮询返回值,以此来处理远程方法的返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值