Archive for the ‘ Web Service ’ Category
J2EE平台对Web Service的整合
1) 对于XML的处理
J2EE中提供了JAXP ( Java APIs for XML Processing) 来处理XML。JAXP是一个独立的轻量级的API。同时JAXP允许其他任何厂商提供的XML解析器来嵌入使用,只需要其符合JAXP的规范。JAXP使用SAX或者DOM来处理XML,并且允许XSLT引擎来转换处理。主要的API都在javax.xml.parsers包之中,提供了两大接口,分别是SAX和DOM。
2) 对于XML-RPC的处理
Java API for XML-based RPC (JAX-RPC) 是专门为JAVA和J2EE平台提供的处理远程调用的API。JAX-RPC可以使程序员利用该模型开发基于SOAP的Web服务端点以及相对应的WSDL描述和客户。JAX-RPC实现的Web服务可以和由非Java实现的客户端进行通信,也可以与非Java实现的Web服务通信。
对于标准的Web服务场景,使用JAX-RPC可以减小以下的复杂度:
1. 使SOAP请求和回复的创造标准化
2. 使参数和其他运行时及部署的细节的序列化标准化
3. 通过提供库函数来减少程序开发中对于SOAP的创造和参数序列化
4. 提供标准化的格式转化支持,包括XML到Java, Java到XML,WSDL到Java和 Java到WSDL。
除此之外,JAX-RPC还提供了一系列的API来帮助实现扩展的格式转换,程序员可以根据自己的需要来实现。
客户端可以用三种方式来提出对Web服务的请求:
1. 调用在生成的Stubs上的方法。根据WSDL的服务描述,工具可以被用来产生stubs,这些生成的stubs可以与其他有用的信息配置在一起。客户端通过使用stubs来调用在Web服务端点的远程方法。
2. 使用动态代理。一个动态代理支持一个Web服务端点,当使用这种模式的时候,没有必要再为客户端生成stubs。
3. 使用动态调用接口 (DII)。在这种模式下,对目标服务端点的操作是通过WSDL描述来动态实现的。
无论是用哪种模式实现,最终请求都会通过客户端的RPC Runtime,将请求映射成XML格式形成SOAP文件通过网络发送到服务端。服务端同样使用RPC Runtime将XML格式转换回Java格式,并且将请求以及参数分到对应的Java方法。
JAX-RPC支持三种操作方式:
1)同步请求-回复模式: 当一个远程方法被调用后,客户端的线程被阻塞直到有返回值或者异常出现。
2)One-way RPC模式:在一个远程方法被调用后,客户端的线程不阻塞继续运行。没有返回值或异常出现。
3)非阻塞RPC模式:客户端调用远程方法后继续运行而不阻塞。当返回值出现的时候,调用阻塞接受语句来得到返回值。
3) JAXR
Java API for XML Registries (JAXR),是用来进行注册的API,拥有一个灵活的结构来支持UDDI以及其他的注册标准。
JAXR的客户可以是独立的Java应用程序或者是J2EE部分,使用JAXR API的实现来进行注册。JAXR的提供者包括两个部分,一个是注册的JAXR提供者,一个是JAXR补丁的提供者。
4) SAAJ
SOAP with Attachments API for Java (SAAJ) 使程序员能够生成和使用符合SOAP规范的信息以及附件。高级程序员可以使用SAAJ来直接操纵SOAP信息。附件可以是完整的XML文档,XML片段,或者是MIME类型的附件。
-
You are currently browsing the archives for the Web Service category.




