快速业务通道

Web服务在EJB 2.1到EJB 3.0中的改变 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
其他的工作来达到Web services设计的EJB的最后。

Web服务在EJB 2.1到EJB 3.0中的改变(2)

时间:2011-03-05 TechTarget Daniel Rubio

把POJO''s作为EJB来处理的能力实际上是前面所提到的注释的概念的结果,同时也是已经在核心Java5 平台和Java 5 Enterprise Edition中都进行了约束的范式转移。但是现在,让我们看看我们手边的工作,列表1.1展示的是在EJB3.0 中,一个Web servicec看起来是怎么样的。

列表 1.1 Web Service EJB 3.0

import javax.ejb.Stateless; import javax.jws.WebMethod; import javax.jws.WebService;    @Stateless @WebService(serviceName="Weather", portName="WeatherPort") public class WeatherBean {    @WebMethod    public double hiTemp(String city) {      // Perform lookup to DB or some other data source      return temp;    }    @WebMethod    public double lowTemp(String city) {      // Perform lookup to DB or some other data source      return temp;    }    @WebMethod    public double avgTemp(String city) {      // Perform lookup to DB or some other data source      return temp;    }    // This method will not be exposed through the web service    public double fahrenheitToCelsius(double fahrenheit) {      // Perform conversion      return celsius;    }    // This method will not be exposed through the web service    public double celsiusToFahrenheit(double celsius) {      // Perform conversion      return fahrenheit;    }    }

以前的Web service EJB最令人惊叹的地方应该就是它的简洁,但是不要让它的简短愚弄了你。在EJB2.1中所提供的相同的功能也在这个单独的文件的各个部分出现了。你会注意到这个源文件中的很多地方都用到的@符号。这些标记表示的是Java注释,这些java注释在后来将会被底层的EJB应用服务器用来产生预定的结果。请注意到,没有这些注释,我们的这个类只是一个POJO,因为它没有利用任何特定的API或者构造。它只是平淡而简单的商务逻辑。

最顶端的注释——@Stateless 和 @WebService——表示的是这个类将会被用作揖个具有Web services功能的会话bean,而在@WebService旁边的属性,表示的是特定的Web services数据,这些数据在EJB2.1中是被放置在一个部署描述符中的。剩下的@WebMethod注释是用来指定哪些方法将会作为Web service接口被提供出来,换句话说,Web service接口就是那些使用一个用来描述EJB Web service的 WSDL契约的操作。

这个例子解释了在EJB3.0中最基本的前提。其他的可供选择的方法可以包括同在EJB2.1中相同的方式来使用一个分隔端点接口,但是通过注释来链接它,并且,当然的,通过注释指定它的高级中间件属性——例如事务处理和安全证书——这些可能是你选择使用EJB Web services的最主要的原因。

通过这个,我们可以总结一下我们对在为生产Web services的EJB模型里面发生的一些改变的看法,对于那些使用需要添加EJB提供的能力的Web serivcies ,这是必将带来受到欢迎的转移的过程,并且其他的一些选择的可能仍然在试图获取最简单的可能的机制来集成Web serivces到他们的Java项目中去。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号