【问题标题】:Web-based clients vs thick/rich clients?基于 Web 的客户端与胖/富客户端?
【发布时间】:2011-02-13 19:52:19
【问题描述】:

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

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

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

  • 巨大的性能优势(CORBA 与 HTTP,去掉 Portal Server 中间人)
  • 由于使用了 NetBeans 的可视化设计器和 Swing 普遍稳健的体系结构,开发得以简化和加快
  • 无需将客户端应用程序部署到测试服务器,从而缩短了调试周期
  • 不会像基于 Web 的开发(Struts、JSF、JQuery、HTML、JSTL 等)那样混杂各种技术

在忍受了基于 Web 开发(甚至是 JSF)的痛苦一段时间后,我得出了以下结论:富客户端并不适合所有情况,但是当您在内部开发一个基于 Intranet 的解决方案,那么不考虑 NetBeans Platform 或 Eclipse RCP 就太疯狂了。

在富客户端和 Web 客户端方面有什么经验吗?

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      您可以通过网络应用免费获得。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-18
        • 2010-10-10
        • 2012-08-14
        • 2011-05-15
        • 2010-10-03
        • 2011-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多