用WebServis开发一个决策支持系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用WebServis开发一个决策支持系统

用Web Services开发一个决策支持系统   我在网上看到有人这样评论Web Services:Web Services将使整个Internet变成桌面的后台服务。我对这样的说法深表赞同,本文就以一个虚构的出版社决策支持系统作为例子,向大家展示一下Web Services的魅力。   本文的例子,是一个出版社决策支持系统中的一项功能:此功能的目标是为外文翻译出版提供优秀外文图书的推荐,系统推荐的图书都是Amazon(或者其他网 上书店)的畅销书,用户可以设定一个时间段(比如过去的两个月),系统会将这个时间段中,排名一直较高的图书推荐给用户,这样出版社可以方便的从中优选出 适合国内翻译出版的书。同时图书被适当分类,每一类中又有优先级排名。   本例代码采用Java/J2EE开发,系统每经过一定的时间间隔(比如一个小时)会自动通过Web Services调用来获取Amazon当前的畅销书排名,可以取其每个分类前20位的图书信息。当然,关于获取这??信息后,如何进行整理和显示,采用何 种决策支持算法获得推荐表,本文就不讨论了,我们把注意力放在如何使用Java调用Amazon的Web Services服务,以及如何获取畅销书信息上。   在开始正题之前,先介绍一下我的开发环境和工具:   JDK:J2sdk 1.4.2   Web Services开发平台:Apusic 3.0   编辑器:UltraEdit l Amazon工具包:从Amazon网站下载,还要注册一下,以获得一个” developers token”。   首先,介绍一下系统的架构,   上图中,决策支持系统运行在J2EE应用服务器上,按照指定的时间间隔访问Amazon的Web Services服务,并把结果保存在数据库中。在这里,决策支持系统的角色就是一个Web Services的客户端。   现在,我们就直奔关键点:如何创建Web Services客户端访问程序。这里,我用的是Apusic 3.0的一个Web Services客户端程序生成工具,wsdlc,这个工具在apusic的bin目录中,它可以为我们生成所需要的客户端Stub等类。使用方法如下: wsdlc –client -keep /schemas3/AmazonWebServices.wsdl code 其中-client参数是要求生成客户端代码样例。参数-keep是要求保留中间生成类的源代码文件。参数中的.wsdl文档是Amazon的web services的服务描述文件地址。参数code是目标目录,用来保存生成的Stub、Client和其他数据结构类。来看看code目录里面生成的文 件吧,哇,真的很多呀,居然有61个类,还有一个ServiceClient.java客户端代码模板文件。   ?其实,这些类大多数都是Amazon web services设计的调用参数和返回值的数据类型,大家马上要用到的是AmazonSearchPort.java和 AmazonSearchService_Service_Impl.java这两个。如何使用呢?请大家打开ServiceClient.java,可 以看到其中已经写了一个结构简单的main方法, public static void main(String[ args) {     AmazonSearchService_Service service = new AmazonSearchService_Service_Impl;     AmazonSearchPort port0 = null;     try {       port0 = service.getAmazonSearchPort;     } catch (Exception ex) {       ex.printStackTrace;     }   ?? ……   从上面的代码看,AmazonSearchService_Service类用来创建一个AmazonSearchPort类型的对象,也就是客户端调用Amazon服务的代理,我们的调用都是通过这个AmazonSearchPort类的port0对象完成的。   继续向下,在main方法的剩下的部分,有很多对port0对象的方法调用,这些方法也是AmazonSearchPort类的所有方法,也就是 Amazon web services提供的所有可用的方法。这里自动生成的代码仅仅是用来演示调用过程,我们还必须加入自己的代码,例如: try { ?? ProductInfo ret = port0.KeywordSearchRequest(/*to complete the parameter*/); ?? Syste

文档评论(0)

linjuanrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档