移动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 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
移动Agent平台——Aglet,最初由IBM在东京实验室[IBM Tokyo Research Laboratory (TRL)]开发,目前Aglet技术已由sourceforge.net接管成为了开放源码项目。 Aglet 完全由Java编写,所以在其上开发的agent和平台本身都具有很高的移植性。Aglet 包含了一个运行移动agent的服务器——Tahiti和一套类库,基于它开发者可以轻松的开发各种agent的应用,如:创建移动agent和将Aglet技术嵌入到他们的应用之中. 目前,Aglet的最新版本是2.0.2。 顶3楼
我的移动代理在传输的过程中发生错误,如下,哪位高手可以指点一下哦???? com.ibm.maf.MAFExtendedException: SocketException: atp://202.113.75.159/ at com.ibm.maf.atp.MAFAgentSystem_ATPClient.receive_agent0(Unknown Source) at com.ibm.maf.atp.MAFAgentSystem_ATPClient.access$000(Unknown Source) at com.ibm.maf.atp.MAFAgentSystem_ATPClient$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.ibm.maf.atp.MAFAgentSystem_ATPClient.receive_agent(Unknown Source) at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglet.Aglet.dispatch(Unknown Source) at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source) at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source) at syswork.etax.ClientSearchAglet.query(ClientSearchAglet.java:120) at syswork.etax.ClientSearchAglet.handleMessage(ClientSearchAglet.java:66) at com.ibm.aglets.MessageImpl.handle(Unknown Source) at com.ibm.aglets.AgletThread.run(Unknown Source) com.ibm.aglet.RequestRefusedException: atp://202.113.75.159/, Integrity=DIGEST, Confidentiality=SHORTSECRETKEY, Timeout=0 syswork.etax.ClientSearchAglet at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source) at com.ibm.aglet.Aglet.dispatch(Unknown Source) at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source) at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source) at syswork.etax.ClientSearchAglet.query(ClientSearchAglet.java:120) at syswork.etax.ClientSearchAglet.handleMessage(ClientSearchAglet.java:66) at com.ibm.aglets.MessageImpl.handle(Unknown Source) at com.ibm.aglets.AgletThread.run(Unknown Source) search aglet dispose........................ AgletRuntime is requested to get unknown user's certificate AgletRuntime is requested to get unknown user's certificate
bin
cnf
lib
public
目录结构
图 3‑3 Aglet的目录结构bin:包含有启动Tahiti的相关启动文件cnf:包含有Tahiti启动和运行时所需的配置文件lib:存放相关的Aglet类库和界面,主要是aglet2.0.2.jar的压缩文档public:存放须执行的移动agent的类文件
顶3楼
com.ibm.maf.MAFExtendedException: SocketException: atp://202.113.75.159/
at com.ibm.maf.atp.MAFAgentSystem_ATPClient.receive_agent0(Unknown Source)
at com.ibm.maf.atp.MAFAgentSystem_ATPClient.access$000(Unknown Source)
at com.ibm.maf.atp.MAFAgentSystem_ATPClient$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.maf.atp.MAFAgentSystem_ATPClient.receive_agent(Unknown Source)
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglet.Aglet.dispatch(Unknown Source)
at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source)
at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source)
at syswork.etax.ClientSearchAglet.query(ClientSearchAglet.java:120)
at syswork.etax.ClientSearchAglet.handleMessage(ClientSearchAglet.java:66)
at com.ibm.aglets.MessageImpl.handle(Unknown Source)
at com.ibm.aglets.AgletThread.run(Unknown Source)
com.ibm.aglet.RequestRefusedException: atp://202.113.75.159/, Integrity=DIGEST,
Confidentiality=SHORTSECRETKEY, Timeout=0 syswork.etax.ClientSearchAglet
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglets.LocalAgletRef.dispatch(Unknown Source)
at com.ibm.aglet.Aglet.dispatch(Unknown Source)
at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source)
at com.ibm.agletx.util.SimpleItinerary.go(Unknown Source)
at syswork.etax.ClientSearchAglet.query(ClientSearchAglet.java:120)
at syswork.etax.ClientSearchAglet.handleMessage(ClientSearchAglet.java:66)
at com.ibm.aglets.MessageImpl.handle(Unknown Source)
at com.ibm.aglets.AgletThread.run(Unknown Source)
search aglet dispose........................
AgletRuntime is requested to get unknown user's certificate
AgletRuntime is requested to get unknown user's certificate