一、实验目的
掌握gt4的安装方法,熟练应用gt4进行web服务程序开发与部署等。
二、实验环境
1、 GT4在Windows7平台安装;
2、 GT4在Fedora9平台安装;
3、 在Windows平台Gt4上部署1+…50的web服务;
4、 在Linux平台Gt4上部署50+…100的web服务;
5、 实现linux与Windows之间的web服务通信;
三、实验内容
1、GT4在win7平台下的安装
1) 添加和设置环境变量
[添加]
PATH=%GLOBUS_LOCATION%\bin;%JAVA_HOME%\bin;%JAVA_HOME%\lib; %ANT_HOME%\bin;%CATALINA_HOME%\bin
2)下载软件并安装
a) 下载jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
直接执行,安装在默认路径下。
配置:
[新建]JAVA_HOME= C:\Program Files\Java\jdk1.6.0_10
[新建]CLASSPATH= .;% JAVA_HOME %\lib;% JAVA_HOME %\lib\dt.jar;% JAVA_HOME %\lib\tool.jar
b) 下载 apache-ant-1.7.0-bin.zip
新建目录D:\apache-ant-1.7.0,解压到该文件夹。
[新建]ANT_HOME=D:\apache-ant-1.7.0\apache-ant-1.7.0
c) 下载 apache-tomcat-5.5.20.zip
新建目录D:\apache-tomcat-5.5.20,解压到该文件夹。
[新建]CATALINA_HOME= D:\apache-tomcat-5.5.20\apache-tomcat-5.5.20
打开命令行,执行startup.bat启动,在浏览器输入http://localhost:8080/,显示Tomcat欢迎页,则表示成功。
下载补丁tomcat-native-1.1.2.tar.gz,解压后直接把tomcat-native-1.1.2.tar.gz拷贝到D:\apache-tomcat-5.5.20\apache-tomcat-5.5.20bin\下,并备份原来的tomcat-native.tar.gz,然后把tomcat-native-1.1.2.tar.gz改名tomcat-native.tar.gz
d) 下载axis-bin-1_4.zip
解压,把解压出来的axis目录复制到tomcat目录下的webapps目录下,将axis/WEB-INF/lib目录下的文件复制到tomcat目录下的common/lib目录下,重新启动tomcat,在浏览器输入http://localhost:8080/axis/happyaxis.jsp,能访问则表示设置成功。
axis全称Apache EXtensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器
e) 下载ws-core-4.0.3-bin.zip
新建目录D:\globus\wrsf,解压到该文件夹。
[新建]GLOBUS_LOCATION=D:\globus\wrsf
3) 部署GT4到tomcat
打开命令行,输入globus-start-container -nosec
再打开命令行,在D:\globus\wrsf路径下,输入
D:\globus\wrsf>ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir=%Catalina_home%
然后,重新启动tomcat,可以在命令行接着输入:
D:\globus\wrsf> startup.bat
在浏览器输入http://localhost:8080/wsrf/services,显示成功。
至此,win7环境下gt4配置完成。
2、GT4在fedora9平台下的安装
1) 安装jdk
打开终端,使用命令cd /usr/local/Linux平台下软件/ 进入JDK安装文件所在路径, 将JDK安装在默认路径下。
设置环境变量,打开~/.bash_profile文件,可以用vi打开
root# vi ~/.bash_profile
在文件中加入
export JAVA_HOME=/usr/java/jdk1.6.0_23
export CLASSPATH=/usr/java/jdk1.6.0_23/lib/dt.jar:/usr/java/jdk1.6.0_23/jre/lib/rt.jar:.
因为使用的是fedora core系统,还需要做如下设置,以便使系统默认使用我们刚刚安装的jdk:
root#/usr/sbin/alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_11/bin/java 2
root# /usr/sbin/alternatives --config java
选择3,即刚刚安装过的jdk路径
root# /usr/sbin/alternatives --install /usr/bin/javac javac /usr/java/j2sdk1.4.2_11/bin/javac 2
root# /usr/sbin/alternatives --config javac
这里选择2,即刚刚安装过的jdk路径
此处还要将安装的jdk的bin路径加大环境变量PATH前面,即打开~/.bash_profile文件,在文件末尾添加:
export PATH=/usr/java/j2sdk1.4.2_11/bin:$PATH
2)安装ANT
下载ant压缩文件apache-ant-1.6.0-bin.tar.gz, 解压后,将所有文件复制到 /usr/local/ant下 ,然后设置环境变量
root# vi ~/.bash_profile
在文件中加入
export ANT_HOME=/usr/local/ant
在终端运行ant,出现
说明ant设置成功
3)安装PostgreSQL
创建安装文件放置路径
创建用户并授权给安装文件路径
root# mkdir /usr/post_install
root# adduser postgres
root# chown postgres:postgres /usr/post_install
下载postgresql-8.1.3.tar.bz2,并放在post_install目录下,解压软件
root# su postgres
postgres$ tar -jxvf /usr/post_install/postgresql-8.1.3.tar.bz2
进入源代码目录
postgres$ cd /usr/pos_install/postgresql-8.1.3
配置编译选项
postgres$ mkdir /usr/local/pgsql
root# chown postgres:postgres /usr/local/pgsql
postgres$ ./configure --prefix=/usr/local/pgsql
其中/usr/local/pgsql使我们指定的将要安装的目录
编译
postgres$ gmake
安装
postgres$ gmake install
创建数据库存储目录
root# mkdir -p /etc/database/pgsql_data/
root# chown postgres:postgres /etc/database/pgsql_data/
初始化数据库
postgres$ /usr/local/pgsql/bin/initdb -D /etc/database/pgsql_data/
设置共享库
root# /sbin/ldconfig /usr/local/pgsql/lib
设置环境变量
root# vi ~/.bash_profile
启动数据库服务
postgres$ /usr/local/pgsql/bin/pg_ctl -D /etc/database/pgsql_data -l logfile start
启动脚本,以便系统启动时自动加载PostgreSQL服务
将源码文件夹下的linux文件拷贝到init.d下
root# cp /usr/post_install/postgresql-8.1.3/contrib/start-scripts/linux /etc/init.d/postgresql
编辑此文件
root# vi /etc/init.d/postgresql
更改参数为自己安装时设定的目录
# Installation prefix
prefix=/usr/local/pgsql 注:安装目录
# Data directory
PGDATA="/etc/database/pgsql_data" 注:数据库目录
最后修改权限
root# chmod a+x /etc/init.d/postgresql
root# chkconfig --add postgresql
4)安装zlib库
下载zlib-1.2.3.tar.gz后,解压缩
编译准备
root# ./configure --prefix=/usr --shared
编译
root# make
测试共享库
root# make check
安装共享库
root# make install
编译并安装静态库
root# make clean
root# ./configure --prefix=/usr
root# make
root# make check
root# make install
修改静态库权限
root# chmod 644 /usr/lib/libz.a
将库转移到通常的/lib目录下
root# mv /usr/lib/libz.so.* /lib
root# ln -sf ../../lib/libz.so.1 /usr/lib/libz.so
5)安装lam-mpi
下载文件lam-7.1.2-1.i586.rpm
root# rpm -ivh lam-7.1.2-1.i586.rpm
root# lamboot
安装成功
注:此处fedora 9缺少libaio.so库,在此我采取yum install libaio进行安装。
6)安装GT4.0.8
用root用户创建 globus 用户,并创建安装目录,将权限付给globus
root# mkdir /usr/local/globus-4.0.8
root# chown globus:globus /usr/local/globus-4.0.8
下载GT4.0.8原文件包,用 globus 用户解压并进行配置。
注:安装用原文件应该用globus用户解压到一个权限归globus用户所有的文件夹,否则下边的命令将出现权限错误
进入解压目录后,进行编译设置
globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.8
globus$ ./configure --prefix=$GLOBUS_LOCATION
编译
globus$ make
安装
globus$ make install
7)安全配置
globus$ source $GLOBUS_LOCATION/etc/globus-user-env.sh
globus$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
出现Do you want to keep this as the CA subject (y/n) [y]:
输入y
Enter the email of the CA (this is the email where certificate
requests will be sent to be signed by the CA):
输入gaojing890112@126.com
出现Enter the number of DAYS
the CA certificate should last before it expires.
[default: 5 years (1825 days)]:
输入RETURN
输入密码:
Enter PEM pass phrase:******
Verifying - Enter PEM pass phrase:******
出现setup-ssl-utils: Complete时说明已经创建一个CA并完成了认证,下面我们将获得到这台机器的hostcert:
root# source $GLOBUS_LOCATION/etc/globus-user-env.sh
root# grid-cert-request -host `hostname`
用globus用户自己的simpleCA来进行签证:
globus$ grid-ca-sign -in /etc/grid-security/hostcert_request.pem -out hostsigned.pem
出现please enter the password for the CA key:******
时输入先前设置的密码
复制那个认证过的证书到/etc目录下:
root# cp /home/globus/hostsigned.pem /etc/grid-security/hostcert.pem
最后还要将hostsigned.pem拷贝到globus用户目录下的globus目录;
即:globus$cp hostsigned.pem ~/.globus/
添加授权
可以使用grid-mapfile-add-entry命令向grid-mapfile文件中添加用户
root# $GLOBUS_LOCATION/sbin/grid-mapfile-add-entry -dn "/O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=hostname/CN=user" -ln globu
8)开启globus-start-container
至此,linux下gt4安装完毕
3、实现Linux网格环境下web服务
下载所需要的文件解压到Examples_DIR下,并将Example_DIR拷贝至linux下/home/globus/Examples_DIR下执行
1)生成gar文件:
./globus-build-service.sh -d org/globus/examples/services/core/first/ -s schema/examples/MathService_instance/Math.wsdl
执行结果:
然后在Examples_DIR目录下生成org_globus_examples_services_core_first.gar
2)将服务部署到web服务容器上:
globus-deploy-gar $EXAMPLES_DIR/org_globus_examples_services_core_first.gar
先在globus用户下启动容器globus-start-container
可以查看部署的服务:
3)source $GLOBUS_LOCATION/etc/globus-devel-env.sh
4)验证,用一个简单的客户端程序验证发布的服务是否可用:
javac -classpath ./build/stubs/classes/:$CLASSPATH \
org/globus/examples/clients/MathService_instance/Client.java
java -classpath ./build/stubs/classes/:$CLASSPATH org.globus.examples.clients.MathService_instance.Client http://127.0.0.1:8080/wsrf/services/examples/core/first/MathService
可以出现结果,证明可用。
4、实现Windows网格环境下web服务
预先安装python
1)进入DOS命令,在D:\progtutorial-examples_0.2.1下执行globus-build-service.py -d org/globus/examples/services/core/first/ -s schema/examples /MathService_instance /Math.wsdl
生成
D:\progtutorial-examples_0.2.1\org_globus_examples_services_core_first.gar.
2)D:\progtutorial-examples_0.2.1下运行:
globus-deploy-gar D:\progtutorial-examples_0.2.1/org_globus_examples_services_core_first.gar(需要python支持)
运行globus-start-container –nosec
在E:\ws-core-4.0.2目录下执行
ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir=" D:\apache-tomcat-5.5.34 "
重新启动tomcat,输入http://localhost:8080/wsrf/services你就可以看到所部署的服务了!
在d:\globus\wrsf\etc下执行 globus-devel-env.bat(将Globus的类库注册到系统的classpath中)
然后在D:\progtutorial-examples_0.2.1执行
javac -classpath .\build\stubs\classes\;"%CLASSPATH%" org\globus\examples\clients\MathService_instance\Client.java
java -classpath .\build\stubs\classes\;"%CLASSPATH%" org.globus.examples.clients.MathService_instance.Client http://59.64.158.10:8080/wsrf/services/examples/core/first/MathService会出现和Linux实例一样的结果。
5、实现Windows与linux Web服务通信,完成计算
修改windowns客户端的代码,实现1+…50,修改linux下代码,实现51+…100 windows下执行
java -classpath .\build\stubs\classes\;"%CLASSPATH%" org.globus.examples.clients.MathService_instance.Client http://localhost:8080/wsrf/services/examples/core/first/MathService
linux下执行
java -classpath ./build/stubs/classes/:$CLASSPATH \
org.globus.examples.clients.MathService_instance.Client \
http://59.64.158.10:8080/wsrf/services/examples/core/first/MathService
可得到执行结果5050.
四、实验心得
在win7下和linux下配置gt4都出现过很多问题,尤其是fedora9下问题最多,这是因为对linux下命令操作不习惯、不熟悉。
1) 在win7下装gt4时,开启tomcat总是出现错误: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled这是因为缺少mail.jar和activation.jar,下载这两个包并将其放入tomcat/common/lib和axis-1_4\lib目录下即可。
2) Win7下启动tomcat 时 报Unrecognized Windows Sockets error: 0: JVM_Bind,这是因为8080端口被其他进程占用,使用命令netstat -aon|findstr与tasklist|fidstr即可查出占用端口的进程,用任务管理器将其关闭即可。
3) 最初我安装的是fedora12,在编译gt4的时候总是报错:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token proxy policy.h,查询资料后才知道是openssl1.0.0与gt4不兼容的问题,于是我卸载了openssl1.0.0,结果系统崩溃,最后我重装了fedora9,默认的openssl是0.9.8版本,问题解决
4) 最初在linux下我装的是gt4.2.1版本,测试web服务的时候,生成gar文件时报错:[java] Error processing WSDL: Could not read WSDL input file:,经查询才知道是java网络服务与gt4.2.1版本不兼容,不得不卸载gt4.2.1,重新安装gt4.0.8,至此问题解决。
5) 在windows下进行简单开发时,不能生成gar包,因为需要phyton的支持。下载phyton工具并安装,安装完成后进行gar包的生成命令即可。
6) 将WEB-INF/lib目录下的文件复制到%CATALINA_HOME%\common\lib目录下;会发现
E: \axis-1_4下没有WEB-INF/lib文件,最后在\axis-1_4\webapps\axis\WEB-INF\lib下复制的此文件
7) linux支持多用户,用户的权限不熟悉,总是出现permission denied错误
8) 刚开始环境变量设置不全面,总是出现此命令非法的错误
9) 不熟悉在linux下安装软件,通过学习发现一般都是./configure,make,make install这三步。
10) 在linux下打开文件用vi或gedit命令,若要进入编辑状态使用按键i,退出esc即可取消插入。
五、相关代码
package org.globus.examples.clients.MathService_instance;
import org.apache.axis.message.addressing.Address;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.globus.examples.stubs.MathService_instance.MathPortType;
import org.globus.examples.stubs.MathService_instance.GetValueRP;
import org.globus.examples.stubs.MathService_instance.service.MathServiceAddressingLocator;
public class Client {
public static void main(String[] args) {
MathServiceAddressingLocator locator = new MathServiceAddressingLocator();
try {
String serviceURI = args[0];
// Create endpoint reference to service
EndpointReferenceType endpoint = new EndpointReferenceType();
endpoint.setAddress(new Address(serviceURI));
MathPortType math = locator.getMathPortTypePort(endpoint);
// Get PortType
math = locator.getMathPortTypePort(endpoint);
for(int i = 1; i <= 50; i++)
math.add(i);//windows下是1+……+50,linux下类似,51+……+100即可
// Access value
System.out.println("Current value: "
+ math.getValueRP(new GetValueRP()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
GT4 安装与开发详细教程 本文档详细介绍了在 Linux 环境下安装 GT4 的步骤,包括安装 Java SDK、Apache Ant 和 PostgreSQL。下面是相关的知识点: 安装 Java SDK 在 Linux 环境下安装 Java SDK 需要执行以下步骤...
"Dahua大华DH-S3100C-24GT4XF-V2以太网交换机电汇聚和光汇聚快速操作手册" 本资源为Dahua大华DH-S3100C-24GT4XF-V2以太网交换机电汇聚和光汇聚快速操作手册,旨在提供正确的使用方法、安全须知、安装要求、维修要求...
标题“GT4缺少文件D3DX9_41”指的是在运行某个名为“GT4”的游戏时,系统提示缺少一个名为D3DX9_41的动态链接库(Dynamic Link Library,DLL)文件。这个文件是DirectX 9.0c的一部分,用于处理图形和音频功能,对于...
【Linux平台下基于GT4的网格服务开发】 在信息技术领域,网格服务是一种分布式计算模型,它允许跨越地理分散的计算资源(如计算机、数据存储、应用程序等)进行协同工作,仿佛这些资源都在同一台计算机上。Linux...
【GT4服务与Myeclipse开发环境】 GT4(Grid Trading 4)是基于网格计算技术的一种服务框架,主要用于金融市场的交易系统。它允许开发者创建分布式、高性能的应用程序,尤其适用于处理大量数据和并发操作。GT4服务是...
《GT4安装与开发——构建网格服务》 在IT领域,网格服务是一种高效利用网络分布式资源的技术,而GT4(Globus Toolkit 4)则是实现这一技术的重要工具。本文将详细阐述GT4的安装过程及其在网格服务开发中的应用,以...
Globus Toolkit 4 (GT4) 是一个强大的开源软件框架,主要用于构建和部署网格计算应用及服务。在这个示例中,我们关注的是如何利用GT4来构建Web服务,特别是借贷Web服务。以下是对这个主题的详细解释: 1. **Globus ...
### GT4实验安装指南详细知识点 #### 一、GT4简介与版本选择 - **Globus Toolkit(GT)**是一种开源软件包,用于构建网格计算应用,支持资源的共享和分布式计算。 - **GT4**是Globus Toolkit的一个重要版本,提供...
《RG-S6010-48GT4XS系列交换机版本配置手册(V1.0).pdf》是针对锐捷网络的RG-S6010-48GT4XS系列交换机的一份详细配置指南,旨在帮助网络工程师、技术推广人员、网络管理员和技术支持人员进行设备的设置和管理。...
### 基于GT4的SOA实现技术 #### SOA与网格技术结合的重要性 面向服务的架构(SOA)是一种先进的软件设计方法,旨在解决软件重用和集成的问题。通过SOA,企业可以构建更加灵活的IT基础设施,快速构建开放、模块化且...
GT4T是一款美观精致的翻译软件,并且内置了多达30个翻译引擎!
GT4T_setup.exe
RG-S2928G-E V3、RG-S2952G-E V3、RG-S2910-24GT4XS-L、RG-S2910-48GT4XS-L、RG-S2910-24GT4SFP-L、RG-S2910-48GT4SFP-L、RG-S2910-24GT4SFP-P-L、RG-S2910-24GT4XS-P-L、RG-S2910-24GT4XS-PS-E、RG-S2910C-48GT2XS-...
基于GT4的数据挖掘系统模块设计.pdf
cd gt4-python-demo pip install -r requirements.txt python3 start.py 3.在浏览器中访问立即看到demo界面 接入流程 1.配置极验参数2.获取前端参数3.生成签名4.请求极验服务,验证用户验证状态5.根据极验返回的...