Hi
有些疑问向请教,先介绍下:
需求:需要将使用swing编写的桌面应用程序部署到网上,以供客户公司的业务员随时调用。
我们的解决方案及问题:
通过采用Java Web Start技术,已经基本满足需求,不过这仅仅是在局域网内。若通过外网使用,
出现如下问题:资料访问均是直连到数据库,由于数据库的不稳定性,对数据库的性能造成很大的影响。
现在想通过WebService来解决该问题。
由于对该技术缺乏了解,在网上看了一些相关资料并做了测试后,有如下疑问,烦请帮忙解答一下:
1)首先需要说明一下,目前的方案也是不得已,是因为客户想避免使用APP Server的开销(像Websphere太贵),
这种方案是否可以?方案:采用Web Start部署,然后将与服务器的交互(如数据库访问,文件上传等)交由
WebService解决;
2)对于WebService的方案,有些资料认为是一种低效的RPC方式,除了跟J2EE中的RMI技术外,还有没有其他
更好的RPC方式?因为可能有大量的资料需要交互。
3)目前写的一个应用是采用JDK6自带的对WebService的原生支持实现的,很想问一下使用CXF实现的优势具体有哪些?
因此时间紧,做一个解决方案的demo,因此没有搭建CXF的实现环境,只是稍微了解了下。
由于自己并不熟悉而有一些担忧,是否有更好更快速的解决方案,请教一下,谢谢。
[quote]1)首先需要说明一下,目前的方案也是不得已,是因为客户想避免使用APP Server的开销(像Websphere太贵),
这种方案是否可以?方案:采用Web Start部署,然后将与服务器的交互(如数据库访问,文件上传等)交由
WebService解决; [/quote]
文件上传不可交由webservice来做,因为现在大多数webservice实现对MTOM支持不好,可以直接采用HTTP,Servlet方式。
[quote]对于WebService的方案,有些资料认为是一种低效的RPC方式,除了跟J2EE中的RMI技术外,还有没有其他
更好的RPC方式?因为可能有大量的资料需要交互。 [/quote]
除了webservice之外还有几种RCP交互方式,不过传递负责数据类型的时候多少会有一些问题,我个人推荐webservice,性能不是问题。
[quote]3)目前写的一个应用是采用JDK6自带的对WebService的原生支持实现的,很想问一下使用CXF实现的优势具体有哪些?
因此时间紧,做一个解决方案的demo,因此没有搭建CXF的实现环境,只是稍微了解了下。[/quote]
JDK6自带的就是JAX-WS2.0规范的实现,这个是J2EE 5平台的标准,可以使用这个,如果采用CXF,我也推荐使用采用JAX-WS2.0风格的webservice(CXF本身就实现了JAX-WS2.0规范),另外,CXF支持REST风格的webservice开发。
1.这种方案不错的。
2.如果认为WebService性能有问题,可以采用REST风格的WebService.
3.CXF免费、开源、成熟、标准支持的多,可以把WebSphere换成Tomcat了。
其他方案我觉得直接用HTTP通信也可以的,客户端采用HttpClient,服务器端传输标准的XML格式就行了。其实REST风格的WebService和这个差不多,性能比传统的WebService要好。