我希望创建一个简单的移动代理系统来处理4个任务,即4个不同的移动代理工作:数据库更新,会议安排,网络服务发现和内核更新。
我已经完成了我的研究,并看到了不同的框架,如Aglet,Jade,代理生成器等。我的问题是我应该使用哪一个?此外,我需要设置它的基本代码工作,有人可以指向我的网站或帮助我设置移动代理的基本功能?
我已经阅读了关于Aglet模型的tahiti服务器。我对如何设置移动代理系统感到很困惑。任何帮助将不胜感激。
我也尝试过使用RMI。我创建了一个类型代理的方法,但我无法通过远程方法实现传递它。我正在阅读有关tcp和udp套接字编程的内容。我在想可能使用套接字编程更公平。在这种情况下,这会被称为代理吗?我在考虑服务器向多个客户端发送数据报包。
答案 0 :(得分:0)
你需要问自己为什么要使用移动代理。移动代理的概念在90年代早期在代理研究社区中很受欢迎,但由于(i)不清楚它解决了什么问题,(ii)允许任意代码迁移到特定计算机并以足够的权限执行以访问本地数据和服务是非常容易被滥用的,并且(iii)移动代理的所有要求保护的好处实际上可以通过Web服务(REST或其他)和开放数据格式实现,例如RDF。因此,自早期实验以来,很少(如果有的话)移动代理平台得到了适当的维护。
听起来好像您需要清楚要解决哪个最终用户问题。安排会议和更新我的内核是非常不同的任务 - 我会对声称同时执行这两项任务的程序感到非常不舒服。如果您对系统维护任务(例如数据库调优和内核修补)的自动化感兴趣,那么在大型网络上,您可能需要查看SmartFrog项目,或阅读autonomic computing。
答案 1 :(得分:0)
我使用JADE并且我同意第一个人,代理系统通常会花费很多开销,所以如果你可以避免它,请做。但是,如果您选择继续选择具有大量支持和大用户组的平台。
Jade有一些简洁的功能,如目录服务商DF,其工作方式类似于黄页,因此其他代理不必知道代理正在运行什么以及提供哪些服务,他们可以简单地通过DF查询。
JADE ContractNetBehaviours也有助于简化沟通。