基于Web的客户端与胖/富客户端?

时间:2010-04-29 13:33:12

标签: websphere eclipse-rcp rich-client-platform netbeans-platform web-client

我的公司是一家大型电信公司的软件解决方案提供商。该环境目前是基于IBM WebSphere的,前端IBM Portal服务器与提供EJB服务的后端WebSphere Application Server集群进行通信。一些portlet使用我们自己开发的MVC模式,有些是用JSF编写的。

最近,我们做了一个概念验证的胖/胖客户端应用程序,它直接与后端服务器上的EJB通信。它是使用NetBeans Platform编写的,并使用WebSphere应用程序客户端库与EJB建立通信。

真正令人痛苦的是,让客户端使用安全的JAAS / SSL通信。但是,在解决之后,我们发现富客户端比我们已经习惯的基于Web的门户客户端应用程序具有许多优势:

  • 巨大的性能优势(CORBA与HTTP,切断了Portal Server中间人)
  • 由于使用了NetBeans的可视化设计器和Swing通常强大的架构,开发工作得以简化和加快。
  • 通过不必将客户端应用程序部署到测试服务器来缩短调试周期
  • 基于Web的开发(Struts,JSF,JQuery,HTML,JSTL等等)没有技术混杂。

在经历了基于网络的开发(甚至是JSF)的痛苦之后,我得出以下结论:富客户不适合所有情况,但是当你在内部开发时基于Intranet的解决方案,那么您不必考虑NetBeans平台或Eclipse RCP。

富客户端与网络客户端的任何评论/体验?

2 个答案:

答案 0 :(得分:2)

一个好处是可以在客户端进行大量计算/验证,这允许每个客户端共享整个应用程序的处理负载。

胖客户端的另一个好处是您在客户端保持您的状态。这使得您的服务器无状态,并且可以更好地扩展,并使容错变得轻而易举。

在我们的案例中,我们的应用程序中有硬件接口,扫描仪位于工作站的串行端口上,我们还为打印机实现了JNI层,以便我们可以从应用程序中控制打印作业。 (发票打印)

为了启动和分发新软件,我们运行了一个更新jar,它根据服务器上的部署日期检查本地系统上的文件,以查看本地系统是否是最新的。如果系统已过期,我们会下载所需的jar文件,然后启动应用程序。这样可以避免用户需要访问网页。

我还建议this book用于服务器端模式,因为它们与新的Java EE相关。

答案 1 :(得分:1)

只要您使用Java Web Start进行部署,我不一定反对。 IT中的Web应用程序的目的是避免在不再支持X版本时尝试将所有人更新到版本Y的远程部署混乱。

你可以通过webapps免费获得。