Java桌面应用程序到客户端/服务器(Web)

时间:2011-01-16 16:11:32

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

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

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

根据您的经验,做这件事的最佳选择(framworks,...)

2 个答案:

答案 0 :(得分:2)

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

我建议采用以下设计:

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

  2. Middlware:EJB 3(或EJB3.1)这将提供最佳的灵活性,性能和安全性,以便直接从JSF Beans或任何其他远程应用程序调用您的业务组件。

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

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

    希望它能为你的研究奠定基础。

答案 1 :(得分:0)

如果您可以抽象与后端对话的图层,以便您的前端(Swing?)不需要知道这些服务的位置,那么您就在那里。

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

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

但是,如果您使用类似NetBeans平台的东西,那么无论如何您都将应用该模式,因为它会迫使您在模块中进行思考。每个模块都有一个明确的职责,在启动过程中它会将自己注册到应用程序中。

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

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

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