有没有人用过IBM的aglet平台,或做过移动代理方面的东西啊? 如题,我有些地方不太懂,想求教一下啊~ 如果方便的话留个联系方式吧,我的 Email:[email protected] QQ:178330865多谢了啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第1章 IBM移动Agent平台§1.1 Aglet平台简介移动Agent平台——Aglet,最初由IBM在东京实验室[IBM Tokyo Research Laboratory (TRL)]开发,目前Aglet技术已由sourceforge.net接管成为了开放源码项目。Aglet 完全由Java编写,所以在其上开发的agent和平台本身都具有很高的移植性。Aglet 包含了一个运行移动agent的服务器——Tahiti和一套类库,基于它开发者可以轻松的开发各种agent的应用,如:创建移动agent和将Aglet技术嵌入到他们的应用之中. 目前,Aglet的最新版本是2.0.2。每个aglet是一个Java 对象,它能够在网络上由一部主机移至另一部主机,即一个aglet可以在一部主机瞬间停止执行,将自己派遣至远端的另一部主机,并在那儿还原执行,但并非从头开始重新执行,而是从中断执行之处再开始执行。当Aglet移动时,它的程序代码连同它携带的所有对象的状态一起转移。当遇到主机不确信的aglet时,一个内置的安全机制可以使系统保持安全。在Aglet中,有一个接口(AgletProxy),为每个aglet代理提供了通用的方法与其它的代理进行通信。所有的代理都运行在代理环境(AgletContext)中。其简单示图如下:Aglet Proxy Aglet Aglet Proxy Aglet Message Aglet Context 图 3‑1 Aglet之间的沟通§1.2 Aglet 2.0.2安装与使用1.2.1 Aglet 2.0.2 的安装1.2.1.1 系统需求Aglet 系统安装、运行需要JDK的支持,Aglet 1.3 以前的版本只支持JDK1.2以前的版本。目前使用的Aglet 2.0.2 是其最新版本,可在现行的JDK 中使用,本系统使用的是JDK1.4.2。其运行支持环境参见图 3‑2Java虚拟机 Aglet虚拟机Tahiti Linux Java虚拟机 Solaris Java虚拟机 Windows X Java虚拟机 Linux Java操作系统 Solaris Java操作系统 WindowsX 系列操作系统 Java虚拟机 操作系统…… 移动agent 移动agent 移动agent 通信 通信 图 3‑2 IBM Aglet运行支撑环境1.2.1.2 安装下载J2SE(Java 2 standart edition ) 和 aglet-2.0.2.jar。(Aglet2.0.2 运行在Java 2上,所以需先安装相应的JDK,这里安装的是JDK 1.4.2)(1)、下载Aglet 2.0.2(http://aglet.sourceforge.net/);(2)、解压aglet-2.0.2.jar到一个目录,例如:C:\aglet-2.0.2 ;(3)、配置环境变量:set JDK_HOME=C:\j2sdk1.4.2_04\set ANT_HOME=C:\aglet-2.0.2\lib\ant.jarset JAVA_HOME=C:\j2sdk1.4.2_04\set AGLET_HOME=C:\aglet-2.0.2\set AGLET_PATH=C:\aglet-2.0.2\publicset AGLET_EXPORT_PATH=C:\aglet-2.0.2\publicset PATH=%PATH%;C:\j2sdk1.4.2_04\binset CLASSPATH=.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\jre\lib;C:\j2sdk1.4.2_04\jre\bin;C:\aglet-2.0.2\lib\aglet-2.0.2.jar;C:\aglet-2.0.2\lib\ant.jar;C:\aglet-2.0.2\lib\optional.jar;C:\aglet-2.0.2\lib\jaxp.jar;C:\aglet-2.0.2\lib\log4j.jar;C:\aglet-2.0.2\lib\parser.jar;C:\aglet-2.0.2\public(4)、进入C:\aglet-2.0.2\bin目录中,运行命令:ant 将得到build successful,接着运行命令:ant install-home,同样得到一个build successful;(5)、此时,Aglet已经安装成功。 说明:环境变量的设置在win2000中,是在 控制面板――〉系统 ――〉高级选项卡――〉环境变量中进行设置; 也可以将环境变量的设置编写成一个批处理文件,但每次运行aglet时,都要运行一次该批处理文件。 1.2.1.3 配置aglet 2.0.2 涉及到的主要的相关文件有:C:\Documents and Settings\a\.keystore and .java.policyC:\Documents and Settings\a\.aglet\security\aglet.policyC:\aglet-2.0.2\cnf\aglet.props 说明:aglet.props 是aglet系统配置文件,用作在启动aglet时读取;在aglet.props文件中重要的设置项目有:user.home maf.protocol maf.port aglet.class.path aglet.secure aglet.startup aglet.owner.name aglet.owner.password aglet.keystore.password aglet.policy 是aglet的安全策略文件,在tahiti服务器中option-->security preference中进行设置。.java.policy 是java用户安全策略文件,使用java工具policytool 进行设置(位置在:C:\j2sdk1.4.2_07\bin).keystore 是用于为aglet建立新用户/密码的,可以使用java工具keytool设置(位置同上)1.2.1.4 Aglet-2.0.2 bin cnf lib public 目录结构 图 3‑3 Aglet的目录结构bin:包含有启动Tahiti的相关启动文件cnf:包含有Tahiti启动和运行时所需的配置文件lib:存放相关的Aglet类库和界面,主要是aglet2.0.2.jar的压缩文档public:存放须执行的移动agent的类文件1.2.2 Aglet 2.0.2 的使用1.2.2.1 Aglet 的启动安装成功后就可以使用命令agletd启动Aglet所提供的图形用户界面Tahiti服务器了,(Aglet也提供了console 方式供用户使用,可以使用命令:agletd –noGUI 进入。)Aglet提供了相关的安全检查机制,首先将通过login对话框,要求用户输入name 和password。第一次登录时,可以使用系统预设的两个账户登录。(用户名可以是:aglet_key 或 anonymous,密码是:aglet)。用户也可以使用Java提供的keytool工具对.keystore文件内容进行修改,在其中添加新用户和密码,或删除旧用户和密码。运行命令举例:Ø agletd直接启动Tahiti服务器, 会出现登录窗口, 要求输入用户名和密码,可以使用系统提供的默认用户名和密码, 也可以使用用户自定义的用户名和密码。(要设置自己的用户名和密码可以通过keytool工具对.keystore文件进行修改);Ø agletd –f c:\aglet-2.0.2\cnf\aglet.props通过要求读配置文件aglet.props,来启动Tahiti服务器,这种方式要求用户首先应对aglet.props文件进行配置,该文件位置在c:\aglet-2.0.2\cnf\ , 在文件中可以对用户名和其密码,以及安全性, 运行端口等多项进行设置, 使用户更能根据自身需要灵活使用aglet平台 ;Ø agletd -f c:\aglet-2.0.2\cnf\aglet.props -port 2000功能同上例,在启动时指定运行的端口,默认情况下为4434,使用不同的端口,用户可以在一台机器上同时运行多个Tahiti服务器。1.2.2.2 Tahiti 界面介绍Tahiti 是用于运行Aglet 的agent 服务器。可以在一台机器的不同端口上同时启动多个Tahiti服务器。Tahiti 服务器支持用户在其上创建、分配、监视、销毁Agent ,和对agent 存取权限的设置等操作。 Tahiti 服务器的列表区 正在运行的Aglet 可直接创建、分配、召回、克隆、销毁Aglet 标题栏上标有完整的主机名.域名和启动的端口号 图 3‑4 Tahiti服务器界面1.2.2.3 程序的编写、编译与执行步骤1. 程序的编写这里给出一个简单的例子:package trial;import com.ibm.aglet.*public class MyAglet extends Aglet{public void run() {System.out.println(“Hello, world! ”); }}2. 程序的编译生成的.class文件默认情况下要放在:C:\aglet-2.0.2\public 目录下才能执行。可以在编译的时候就将.class存放在该位置:编译命令举例:javac xxx.java -d C:\aglet-2.0.2\public 3. 程序的执行启动Tahiti,指明Aglet 为trial.MyAglet,运行结果是在屏幕上显示”Hello,world! ” 如何用java语句创建Microsoft Loopback Adapter HQL 关于跨用户的查询 equals()不解?? 在一个Application中怎么样才能打开一个网页啊?请各位大虾帮忙。 java面试要注意什么呢? JTable的表头为什么不显示出来!!!!! easy question:请解释一下++a的含义(详细点); 请问谁有关于JDK中基本类的详细解释! 问一个菜鸟问题,请大虾们指点一下小妹! 新手送分题(又是无法显示)!! 使用if语句与使用条件运算符“?:”有什么不同? 请问哪里有免费的SAPJCO.jar下载? 我想通过Java 去Call SAP 的BAPI,
§1.1 Aglet平台简介
移动Agent平台——Aglet,最初由IBM在东京实验室[IBM Tokyo Research Laboratory (TRL)]开发,目前Aglet技术已由sourceforge.net接管成为了开放源码项目。Aglet 完全由Java编写,所以在其上开发的agent和平台本身都具有很高的移植性。Aglet 包含了一个运行移动agent的服务器——Tahiti和一套类库,基于它开发者可以轻松的开发各种agent的应用,如:创建移动agent和将Aglet技术嵌入到他们的应用之中. 目前,Aglet的最新版本是2.0.2。每个aglet是一个Java 对象,它能够在网络上由一部主机移至另一部主机,即一个aglet可以在一部主机瞬间停止执行,将自己派遣至远端的另一部主机,并在那儿还原执行,但并非从头开始重新执行,而是从中断执行之处再开始执行。当Aglet移动时,它的程序代码连同它携带的所有对象的状态一起转移。当遇到主机不确信的aglet时,一个内置的安全机制可以使系统保持安全。在Aglet中,有一个接口(AgletProxy),为每个aglet代理提供了通用的方法与其它的代理进行通信。所有的代理都运行在代理环境(AgletContext)中。其简单示图如下:Aglet Proxy
Aglet
Aglet Proxy
Aglet
Message
Aglet Context
图 3‑1 Aglet之间的沟通§1.2 Aglet 2.0.2安装与使用
1.2.1 Aglet 2.0.2 的安装
1.2.1.1 系统需求
Aglet 系统安装、运行需要JDK的支持,Aglet 1.3 以前的版本只支持JDK1.2以前的版本。目前使用的Aglet 2.0.2 是其最新版本,可在现行的JDK 中使用,本系统使用的是JDK1.4.2。其运行支持环境参见图 3‑2Java
虚拟机
Aglet虚拟机Tahiti
Linux Java虚拟机
Solaris Java虚拟机
Windows X Java虚拟机
Linux Java操作系统
Solaris Java操作系统
WindowsX 系列操作系统
Java
虚拟机
操作系统……
移动agent
移动agent
移动agent
通信
通信
图 3‑2 IBM Aglet运行支撑环境1.2.1.2 安装
下载J2SE(Java 2 standart edition ) 和 aglet-2.0.2.jar。(Aglet2.0.2 运行在Java 2上,所以需先安装相应的JDK,这里安装的是JDK 1.4.2)(1)、下载Aglet 2.0.2(http://aglet.sourceforge.net/);(2)、解压aglet-2.0.2.jar到一个目录,例如:C:\aglet-2.0.2 ;(3)、配置环境变量:set JDK_HOME=C:\j2sdk1.4.2_04\set ANT_HOME=C:\aglet-2.0.2\lib\ant.jarset JAVA_HOME=C:\j2sdk1.4.2_04\set AGLET_HOME=C:\aglet-2.0.2\set AGLET_PATH=C:\aglet-2.0.2\publicset AGLET_EXPORT_PATH=C:\aglet-2.0.2\publicset PATH=%PATH%;C:\j2sdk1.4.2_04\binset CLASSPATH=.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\jre\lib;C:\j2sdk1.4.2_04\jre\bin;C:\aglet-2.0.2\lib\aglet-2.0.2.jar;C:\aglet-2.0.2\lib\ant.jar;C:\aglet-2.0.2\lib\optional.jar;C:\aglet-2.0.2\lib\jaxp.jar;C:\aglet-2.0.2\lib\log4j.jar;C:\aglet-2.0.2\lib\parser.jar;C:\aglet-2.0.2\public(4)、进入C:\aglet-2.0.2\bin目录中,运行命令:ant 将得到build successful,接着运行命令:ant install-home,同样得到一个build successful;(5)、此时,Aglet已经安装成功。 说明:环境变量的设置在win2000中,是在 控制面板――〉系统 ――〉高级选项卡――〉环境变量中进行设置; 也可以将环境变量的设置编写成一个批处理文件,但每次运行aglet时,都要运行一次该批处理文件。 1.2.1.3 配置
aglet 2.0.2 涉及到的主要的相关文件有:C:\Documents and Settings\a\.keystore and .java.policyC:\Documents and Settings\a\.aglet\security\aglet.policyC:\aglet-2.0.2\cnf\aglet.props 说明:aglet.props 是aglet系统配置文件,用作在启动aglet时读取;在aglet.props文件中重要的设置项目有:user.home maf.protocol maf.port aglet.class.path aglet.secure aglet.startup aglet.owner.name aglet.owner.password aglet.keystore.password aglet.policy 是aglet的安全策略文件,在tahiti服务器中option-->security preference中进行设置。.java.policy 是java用户安全策略文件,使用java工具policytool 进行设置(位置在:C:\j2sdk1.4.2_07\bin).keystore 是用于为aglet建立新用户/密码的,可以使用java工具keytool设置(位置同上)1.2.1.4 Aglet-2.0.2
bin
cnf
lib
public
目录结构
图 3‑3 Aglet的目录结构bin:包含有启动Tahiti的相关启动文件cnf:包含有Tahiti启动和运行时所需的配置文件lib:存放相关的Aglet类库和界面,主要是aglet2.0.2.jar的压缩文档public:存放须执行的移动agent的类文件1.2.2 Aglet 2.0.2 的使用
1.2.2.1 Aglet 的启动
安装成功后就可以使用命令agletd启动Aglet所提供的图形用户界面Tahiti服务器了,(Aglet也提供了console 方式供用户使用,可以使用命令:agletd –noGUI 进入。)Aglet提供了相关的安全检查机制,首先将通过login对话框,要求用户输入name 和password。第一次登录时,可以使用系统预设的两个账户登录。(用户名可以是:aglet_key 或 anonymous,密码是:aglet)。用户也可以使用Java提供的keytool工具对.keystore文件内容进行修改,在其中添加新用户和密码,或删除旧用户和密码。运行命令举例:Ø agletd直接启动Tahiti服务器, 会出现登录窗口, 要求输入用户名和密码,可以使用系统提供的默认用户名和密码, 也可以使用用户自定义的用户名和密码。(要设置自己的用户名和密码可以通过keytool工具对.keystore文件进行修改);Ø agletd –f c:\aglet-2.0.2\cnf\aglet.props通过要求读配置文件aglet.props,来启动Tahiti服务器,这种方式要求用户首先应对aglet.props文件进行配置,该文件位置在c:\aglet-2.0.2\cnf\ , 在文件中可以对用户名和其密码,以及安全性, 运行端口等多项进行设置, 使用户更能根据自身需要灵活使用aglet平台 ;Ø agletd -f c:\aglet-2.0.2\cnf\aglet.props -port 2000功能同上例,在启动时指定运行的端口,默认情况下为4434,使用不同的端口,用户可以在一台机器上同时运行多个Tahiti服务器。1.2.2.2 Tahiti 界面介绍
Tahiti 是用于运行Aglet 的agent 服务器。可以在一台机器的不同端口上同时启动多个Tahiti服务器。Tahiti 服务器支持用户在其上创建、分配、监视、销毁Agent ,和对agent 存取权限的设置等操作。 Tahiti 服务器的列表区
正在运行的Aglet
可直接创建、分配、召回、克隆、销毁Aglet
标题栏上标有完整的主机名.域名和启动的端口号
图 3‑4 Tahiti服务器界面1.2.2.3 程序的编写、编译与执行步骤
1. 程序的编写这里给出一个简单的例子:package trial;import com.ibm.aglet.*public class MyAglet extends Aglet{public void run() {System.out.println(“Hello, world! ”); }}2. 程序的编译生成的.class文件默认情况下要放在:C:\aglet-2.0.2\public 目录下才能执行。可以在编译的时候就将.class存放在该位置:编译命令举例:javac xxx.java -d C:\aglet-2.0.2\public 3. 程序的执行启动Tahiti,指明Aglet 为trial.MyAglet,运行结果是在屏幕上显示”Hello,world! ”