ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:830.02KB ,
资源ID:2308066      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2308066.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(封装服务.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

封装服务.docx

1、封装服务封装服务主要是指为某些功能或操作提供对外的接口,从而可以让远方的程序进行调用。在服务代码中,可以自己编写业务逻辑,也可以调用已经编写好的JavaBean。我们主要采用中间件GDT(Grid Development Tools)开发服务,GDT可以简化开发流程。利用它我们可以方便的实现Stub类的生成、gar包的生成以及服务的本地部署。安装以及基本的使用方法见http:/mage.uni-marburg.de/trac/gdt/wiki。 一、封装资源为服务在结构工程网格中,所有的资源必须以网格服务的形式存在。因此,对资源的服务化封装是一个必须且重要的环节。到目前为止,已经顺利将结构工程

2、网格中的现有数据资源以及针对此数据资源的几个数据查询操作封装为网格服务,并能够从Portal处进行调用。需要说明的是,我们实现的是从异地对网格服务进行调用。网格服务的开发原理和部署过程都是类似的。图3.2说明了在网格环境下开发网格服务的流程:图3.2 网格服务开发流程图1.1、将数据资源代理的业务逻辑打为war包由于是对数据资源进行异地封装且开发环境存在较大差异,因此在进行封装之前,需要将原有工程打为war包并重新配置开发环境。这是统一开发环境的过程,其具体的操作过程如下所示:1、右键点击所要打包的工程,如图3.2.11界面,选择其中的Export项。图3.2.112、选择将要生成的文件为wa

3、r文件,点击Next,如图3.2.12所示。图3.2.123、选择要打为war包的工程,并确定生成的war文件的输出路径,点击Finish,如图3.2.13所示。图3.2.134、为了便于重新配置开发环境,将wenesesgrid.war传送到信息服务小组并进行解压。5、将wenesesgrid.war解压后生成的所有的jar文件拷贝到GT4的容器中去,具体位置是/usr/local/globus-4.0.5/lib。6、重新启动GT4容器,使设置生效。至此为止,环境的配置过程圆满结束。1.2编写服务建立工程开发网格服务,首先要做的是建立一个相应的服务工程。在工程内部,实现了对所开发网格服务的

4、属性以及各种操作的定义、初始化以及注册过程。新建一个网格服务工程的具体步骤如下所示:1、新建一个java工程。FileNewProjectJava Project,输入完成后,点击Finish,如图3.2.2.11所示图3.2.2.112、创建服务。右键点击DatabaseService工程,NewOther,选择MAGE-GDT Grid Service,如图3.2.2.12所示。图3.2.2.12不需要做任何更改,直接点击Next,如图3.2.2.13所示。图3.2.2.13输入服务的名称、名字空间等信息并选择服务和资源的类型,点击Next,如图3.2.2.14所示。注意选项Service

5、 Style和Resource Style。图3.2.2.14 选择资源属性的信息提供者以及查询方式,点击Finish,如图3.2.2.15。图3.2.2.15 至此,一个网格服务工程创建完毕。在Eclipse的各个工作区显示如图3.2.2.16所示。图3.2.2.16编写服务定义文件在此部分中,主要是对要封装为服务的资源属性以及各种操作进行定义,并指明了收集资源属性信息的聚集源类型等相关信息。其具体过程是在文件Database.java中实现的,大致内容如下所示:public class Database GridAttribute(mds_agg_type=Query,mds_renew=

6、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; GridMetho

7、d public String findexpfrommaterial(String type) /对外接口1 String result = null; DataSearch q = new DataSearch(); result = q.SearchExpFromMaterial(type); return result; GridMethod public String findexpfromsc(String type, String dimension) /对外接口2 String result = null; DataSearch q = new DataSearch(); re

8、sult = q.SearchExpFromSC(type, dimension); return result; GridMethod public String findexpfromscandmaterial(String materialtype, String sctype, String scdimension) /对外接口3 String result = null; DataSearch q = new DataSearch(); result = q.SearchExpFromSCAndMaterial(materialtype, sctype, scdimension);

9、return result; Database.java中可以只定义变量(资源属性)和方法(对外接口),具体的业务逻辑可以在生成的服务代码中添加。编辑完Database.java文件后,点击保存按钮。保存成功后,GDT会自动根据编写的java文件生成服务代码、wsdl文件以及各种配置文件。在Eclipse的左侧工作区DatabaseService工程的目录如图3.2.2.2所示:图3.2.2.2 工程目录13资源属性初始化及对外接口实现在此部分,要做的工作有两项:一方面是在网格服务的资源文件DatabaseResource.java中初始化上一部分所定义属性;另一方面是在网格服务文件Datab

10、aseService.java中实现了对外接口。首先,对所定义属性的初始化方法如下所示:public void initialize() this.propSet = new SimpleResourcePropertySet(RESOURCE_PROPERTIES); try ResourceTypeRP = new SimpleResourceProperty(RP_RESOURCETYPE); this.ResourceTypeRP.add(new Object(); this.propSet.add(ResourceTypeRP); catch (Exception e) throw

11、new RuntimeException(e.getMessage(); / begin-user-code this.setResourceType(DatabaseResource); /将属性ResourceType初始化为DatabaseResource / end-user-code 其次,对外接口的实现方法如下所示:public FindexpfrommaterialResponse findexpfrommaterial(Findexpfrommaterial complexType) throws RemoteException FindexpfrommaterialRespo

12、nse response = new FindexpfrommaterialResponse(); / begin-user-code String result = null; /对外接口1的初始化 DataSearch q = new DataSearch(); result = q.SearchExpFromMaterial(complexType.getType(); response.setFindexpfrommaterialReturn(result); / end-user-code return response; public FindexpfromscResponse f

13、indexpfromsc(Findexpfromsc complexType) throws RemoteException FindexpfromscResponse response = new FindexpfromscResponse(); / begin-user-code String result = null; /对外接口2的初始化 DataSearch q = new DataSearch(); result = q.SearchExpFromSC(complexType.getType(), complexType.getDimension(); response.setF

14、indexpfromscReturn(result); / end-user-code return response; public FindexpfromscandmaterialResponse findexpfromscandmaterial(Findexpfromscandmaterial complexType) throws RemoteException FindexpfromscandmaterialResponse response = new FindexpfromscandmaterialResponse(); / begin-user-code String resu

15、lt = null; /对外接口3的初始化 DataSearch q = new DataSearch(); result = q.SearchExpFromSCAndMaterial(complexType.getMaterialtype(), complexType.getSctype(), complexType.getScdimension(); response.setFindexpfromscandmaterialReturn(result); / end-user-code return response; 1.4编译生成存根类及gar包以上所有的操作都完成后,可以说网格服务已经开发完成了。接下来,还需要将生成把DatabaseService服务部署到GT4容器中去所需要的g

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1