紧急求助!!!!RMI的实现

本人现设计了一套系统。因为系统需求为客户端用swing开发。需要与服务器端进行交互。由服务器端执行用户身份验证等一些操作。因为程序为c/s模式,现在服务器端采用rmi框架(顺便问一句:rmi可以在internet上使用吧!)。
因为服务器所在的网络中对外网的ip是一个路由器。内网是一个自己配制的dns服务器。现在程序在内网可以使用,一切正常,但是在外网发布就有问题,因为现在rmi只能在dns服务器上运行,所以绑定的程序只能在本地服务器上发布。无法在对外网的服务器(路由器上)上发布。

如果这套方案不可行。请高手指条明路?

我们公司也是C/S架构,也是Swing作为客户端,为何不尝试用Stateless Session Bean,在jboss中可以使用http ejb proxy的方式来实现远程internal的访问,效率没有什么太大影响,而且可以走80端口,穿防火墙。你们这里如果不采用stateless bean的方式,也可以采用类似的方式,做一个httpservlet作为rmi的远程代理,然后httpservlet则在本地内网中直接调用rmi,数据传输的时候只要将对象手工序列化就行,然后通过http协议传输,性能影响不会非常大。