【问题标题】:Java desktop application to Client/Server (Web)Java 桌面应用程序到客户端/服务器 (Web)
【发布时间】:2011-06-10 00:54:53
【问题描述】:

我们有一个运行良好的桌面 Java 应用程序(图像处理),现在我们必须使用 Java EE 平台添加客户端/服务器架构。

我们还必须使用MVC,并与JDOMJMatlink(MATLAB)等许多其他库进行交互,并调用一些exe文件。

根据您的经验,最好的选择是什么(框架,...)

【问题讨论】:

    标签: java model-view-controller matlab frameworks jakarta-ee


    【解决方案1】:

    没错,您必须使用 MVC 框架在 Java EE 平台上设计灵活且可重用的 Web 应用程序。

    我建议如下设计:

    1. 使用 JSF(Java Server Faces)设计前端。当您迁移桌面应用程序时,它会更适合您,因为它是组件和事件驱动的框架。

    2. 中间件:EJB 3(或 EJB3.1)这将为直接从 JSF Bean 或任何其他远程应用程序调用业务组件提供最佳的灵活性、性能和安全性。

    在这里,您可以使用各种设计模式来封装库和数据库访问,即 DAO(数据访问对象)。

    使用 DTO(数据传输对象)传输您的请求/响应。

    希望它能为您的研究提供基础。

    【讨论】:

    • 据我所知,dotNET 并不是在谈论 WebApplication,因此 JSF 不是一个选项。他/她只是想将独立的客户端(Swing?)应用程序更改为基于 JavaEE 的客户端/服务器架构。 JavaEE 不一定是 Web 应用程序
    • 对不起 'horse_without_name' 但我需要创建一个 WebApplication 来为用户提供与创建的桌面应用程序交互的可能性。所以这就像用户连接到网页并查找信息,应用程序会将请求发送到服务器(她我的桌面应用程序),服务器将与(XML 和 MySQL 数据库)交互并将响应发送到网页上的客户端。
    【解决方案2】:

    如果您可以抽象与后端对话的层,这样您的前端(Swing?)就不需要知道这些服务的位置,那么您就成功了一半。

    关键应该是一个好的模块概念。 NetBeans 平台之类的框架可以帮助您实现这一点,它们可以轻松集成处理后端代码的非可视模块。

    我不确定您对 “我们也必须使用 MVC”的意思
    MVC 是一种设计模式,而不是库或框架。

    但是,如果您使用像 NetBeans 平台这样的东西,那么无论如何您都会应用该模式,因为它迫使您以模块的形式思考。每个模块都有定义的职责,并在启动期间向应用程序注册自己。

    采用一个允许您管理人员的应用程序(例如,用于人力资源部门)。一个模块负责显示一个表单,用户可以在其中查看单个员工。该模块反过来寻找可以加载或列出所有员工的提供者。 提供者如何获取数据对前端来说是不可见的。它可以使用平面文件、关系数据库或对远程 EJB 服务器的调用(这是你可以插入 JavaEE 的东西)

    如果配置正确,应用程序甚至可以从服务器下载模块。

    关键是使模块彼此独立。无论使用何种技术(Web 应用程序、服务器端守护程序或桌面应用程序),任何大型应用程序都是如此

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多