2014封装服务.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文档。上传文档
查看更多
封装服务主要是指为某些功能或操作提供对外的接口,从而可以让远方的程序进行调用。在服务代码中,可以自己编写业务逻辑,也可以调用已经编写好的JavaBean。 我们主要采用中间件GDT(Grid Development Tools)开发服务,GDT可以简化开发流程。利用它我们可以方便的实现Stub类的生成、gar包的生成以及服务的本地部署。安装以及基本的使用方法见http://mage.uni-marburg.de/trac/gdt/wiki。 一、封装资源为服务 在结构工程网格中,所有的资源必须以网格服务的形式存在。因此,对资源的服务化封装是一个必须且重要的环节。到目前为止,已经顺利将结构工程网格中的现有数据资源以及针对此数据资源的几个数据查询操作封装为网格服务,并能够从Portal处进行调用。需要说明的是,我们实现的是从异地对网格服务进行调用。 网格服务的开发原理和部署过程都是类似的。图3.2说明了在网格环境下开发网格服务的流程: 图3.2 网格服务开发流程图 1.1、将数据资源代理的业务逻辑打为war包 由于是对数据资源进行异地封装且开发环境存在较大差异,因此在进行封装之前,需要将原有工程打为war包并重新配置开发环境。这是统一开发环境的过程,其具体的操作过程如下所示: 1、右键点击所要打包的工程,如图3.2.1[1]界面,选择其中的Export项。 图3.2.1[1] 2、选择将要生成的文件为war文件,点击Next,如图3.2.1[2]所示。 图3.2.1[2] 3、选择要打为war包的工程,并确定生成的war文件的输出路径,点击Finish,如图3.2.1[3]所示。 图3.2.1[3] 4、为了便于重新配置开发环境,将wenesesgrid.war传送到信息服务小组并进行解压。 5、将wenesesgrid.war解压后生成的所有的jar文件拷贝到GT4的容器中去,具体位置是/usr/local/globus-4.0.5/lib。 6、重新启动GT4容器,使设置生效。至此为止,环境的配置过程圆满结束。 1.2编写服务 建立工程 开发网格服务,首先要做的是建立一个相应的服务工程。在工程内部,实现了对所开发网格服务的属性以及各种操作的定义、初始化以及注册过程。新建一个网格服务工程的具体步骤如下所示: 1、新建一个java工程。File→New→Project→Java Project,输入完成后,点击Finish,如图[1]所示 图[1] 2、创建服务。 右键点击DatabaseService工程,New→Other,选择MAGE-GDT Grid Service,如图[2]所示。 图[2] 不需要做任何更改,直接点击Next,如图[3]所示。 图[3] 输入服务的名称、名字空间等信息并选择服务和资源的类型,点击Next,如图[4]所示。 注意选项Service Style和Resource Style。 图[4] 选择资源属性的信息提供者以及查询方式,点击Finish,如图[5]。 图[5] 至此,一个网格服务工程创建完毕。在Eclipse的各个工作区显示如图[6]所示。 图[6] 编写服务定义文件 在此部分中,主要是对要封装为服务的资源属性以及各种操作进行定义,并指明了收集资源属性信息的聚集源类型等相关信息。其具体过程是在文件Database.java中实现的,大致内容如下所示: public class Database { @GridAttribute(mds_agg_type=Query,mds_renew=300,mds_term_time=2008-08-08T00:00:00,mds_query_type=GetMultipleResourceProperties,mds_query_poll=100000) private String ResourceType; //资源的属性 public String getResourceType() { //属性的set()和get()方法 return ResourceType; } public void setResourceType(String resourceType) { ResourceType = resourceType; } @GridMethod public String[] findexpfrommaterial(String type){ //对外接口1 String[] result = null; DataSearch q = new DataSearch(); result = q.SearchExp

文档评论(0)

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

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

1亿VIP精品文档

相关文档