当前位置: 首页 > 工具软件 > Struts4RCP > 使用案例 >

构建RCP的远端调用体系 蓝图

蔺敏达
2023-12-01
设计一个解决远端调用的体系,用于解决重复的劳动,同时为不同的客户端调用提供统一的接口标准!
js ajax call web server
jvm client call web server
more...

[color=red][b]2009-02-15日[/b][/color]
这两天利用空闲完成了自己的调用,发现还是可以的,目前支持java的调用,已经在applet中调用远程接口!
client-->server 客户端使用jdk的proxy代理一个接口,然后分装调用参数,传递到服务端
server-->client 服务端解析参数,然后调用目标服务,然后封装调用结果和异常信息,发送到客户端
client-->who 客户端解析结果,如果有远端异常抛异常,无异常返回调用结果

整个流程,没有问题了,而且不需要破坏applet的安全性即可访问服务器!
同时采用了gzip压缩流传输数据,利用http协议包装了二进制数据

[color=red][b]2009-02-16日[/b][/color]
今天打算继续完善的,后来发现要做的工作太多了,觉得需要参考下其他的,这不就打开了spring的remoting调用代码,郁闷。。。。,发现spring的做法太好了(以前做这个的时候因为applet的安全性一直导致applet调用spring的remoting失败,但是也数字签名了,不过却未找到正确的调用方法,这两天才发现需要使用AccessController来执行方法,才可以获取资源,否则权限无效)
现在觉得直接采用spring的remoting,如果将来需要深入的话,也只会在spring的基础上做工作了

虽然最后废弃了自己写的,不过也体会到了jdk反射的魅力,有酸也有甜
发现了几个bug:
1 xwork中的2.1.2版本对于资源文件无法自动重新加载,而在之前的版本中无法设置reload=false[url=http://jira.opensymphony.com/browse/XW-671]XW-671[/url]
2 struts2的一个问题:如果servlet没有扩展名,那么将会被struts拦截

特附上spring的remoting继承体系方便大家学习下

[img]/upload/attachment/75891/232ac80c-2bda-3a69-ba46-26985e4ef73b.gif[/img]
 类似资料: