|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-05-12
Web Services的有关术语
JSRs: Java Specification Requests
JSR 224: JavaTM API for XML-Based Web Services (JAX-WS) 2.0
JAXB:Java Architecture for XML Binding (JAXB, JSR222) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
The JAX-WS 2.0 specification is the next generation web services API replacing JAX-RPC 1.0. JAX-WS使用 Java 技术简化了 Web 服务的开发任务。 它解决了 JAX-RPC 1.1 中存在的一些问题,提供了对 SOAP 1.1、SOAP 1.2 和 XML 等多个协议的支持,并提供了一个工具专门支持 HTTP 等其他协议。JAX-WS 使用 JAXB 2.0 进行数据绑定,并支持通过定制控制生成的服务端点接口。通过其对注释(@)的支持,JAX-WS 简化了 Web 服务开发并减少了运行时 JAR 文件的大小
IDE 中开发 JAX-WS Web 服务并在三个不同的客户机中使用它: 1)Java SE 应用程序中的 Java 类 2) Web 应用程序中的 servlet 3)JSP 页面 步骤如下: 1。首先创建Web Application,然后创建web服务,将其部署在 Web 容器或 EJB 容器中 2。设计web服务的业务逻辑,在NB的图形化界面下添加web服务的方法,包括方法名,有无返回及其类型,参数名及类型。@WebMethod 3。运行该web项目(附带着ws),服务也随之发布,右键单击代表该 Web 服务的节点,然后选择 Test Web Service。如果部署到 GlassFish,在测试程序页面中键入两个数字,可以看到结果;部署到 Tomcat Web Server 情况,您将看到以下页面,其中显示 Web 服务已成功。 4。客户机 1,Java SE 应用程序中的 Java 类,选择项目节点,然后选择 New > Web Service Client 选项,浏览到要使用的 Web 服务,之后可以把需要的方法直接拖到java程序中就ok啦 5。客户机 2,Web 应用程序中的 Servlet,调用ws的方法同上,只是客户端不同而已 6。客户机 3,Web 应用程序中的 JSP 页面
开发 JAX-RS Web 服务REST(REpresentational State Transfer) Web Services, 代表性状态传输,是一种专门针对分布式超媒体系统的体系结构样式,比如说万维网(World Wide Web)。REST架构的中心思想就是通过统一资源标识符(URI)来识别资源。可以使用标准接口(比如说HTTP)来操作这些资源,并且可以使用这些资源的表示来交换信息。 IDE 支持使用 JSR 311(Java API for RESTful Web Services,JAX-RS)和 Jersey(开源的JAX-RS 的参考实现)快速开发 REST Web 服务。下面列出了 IDE 所提供的 REST 特性:
开发Axis2 Web ServicesBased on the Axis2 architecture, there are two implementations of the Apache Axis2 Web services engine - Apache Axis2/Java and Apache Axis2/C.
Axis2/C是由C语言实现的Web services引擎。它是基于可扩展的,灵活的Axis2架构。可以使用Apache Axis2/C提供Web services并且调用它。单一的服务可同时暴露为SOAP样式和REST样式的服务,它内建有MTOM(Message Transmission Optimization Mechanism),可用于交换二进制数据。Apache Axis2/C是高效的,模块化且带有可扩展设计。这种设计使得它支持全部的带有模块概念的WS-*堆。Axis2/C支持大多数的C语言中的WS-*规范实现,具有可靠的交互能力。这使得在SOA中允许使用C,在把遗留系统集成到SOA中时非常有用。
A new architecture for Axis2 was introduced during the August 2004 Summit in Colombo, Sri Lanka. The new architecture on which Axis2 is based on is more flexible, efficient and configurable in comparison to Axis1.x architecture。Some well established concepts from Axis 1.x, like handlers etc., have been preserved in the new architecture.
Apache Axis2不仅支持SOAP1.1和SOAP1.2,同时也集成了对非常流行的REST Web services的支持。相同的业务逻辑实现在提供WS-* style 样式接口的同时,也能提供REST/POX style样式的接口。这里开发用的是Axis2/java,你可以为Axis2 web service创建一个JAX-WS client ,更多信息可参考,http://ws.apache.org/axis2/ 1。在NetBeans中安装Axis2 Support插件 2。配置服务器Tomcat(GlassFish也可),在Axis2的解压目录下,运行ant得到axis2.war,把其copy到Tomcat的webapps目录下,然后在Options下配置Deployment,Axis2.aar文件的位置 3。可以随便建一个JAVA Application,把其中的某个类的方法暴露出来,建成一个Axis2 service 4。然后就可以部署Axis2 service,启动服务器,进入axis2,看服务是否正常发布 5。最后,随便建个Java Application,在其中建一个Web services的客户端(JAX-WS),通过wsdl生成所需的引用服务,可以看到服务中的 方法后,就可以拖到代码中生成相应的代码片段,完成服务方法的调用。
**注意,我在实际测试时,把放在同一个包中两个类中的方法暴露为Axis2 service,结果在进行web services的调用时只能保证一个是正确的,原来在由web services生成代码时,有些同名的就相互之间覆盖了,最后,把这两个类放在不同的包中才没有问题。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
浏览 226 次


