我们的桌面java应用程序(图像处理)运行良好,现在我们必须使用Java EE平台添加客户端/服务器架构。
我们还必须使用MVC
,并与许多其他库进行交互,例如JDOM
,JMatlink
(MATLAB),并调用一些exe文件。
根据您的经验,做这件事的最佳选择(framworks,...)
答案 0 :(得分:2)
正确,您必须使用MVC框架在Java EE平台上设计灵活且可重用的Web应用程序。
我建议采用以下设计:
使用JSF(Java Server Faces)设计前端。在迁移桌面应用程序时,它会更适合您的组件和事件驱动框架。
Middlware:EJB 3(或EJB3.1)这将提供最佳的灵活性,性能和安全性,以便直接从JSF Beans或任何其他远程应用程序调用您的业务组件。
在这里,您可以使用各种设计模式来封装库和数据库访问,即DAO(数据访问对象)。
使用DTO(数据传输对象)传输您的请求/响应。
希望它能为你的研究奠定基础。
答案 1 :(得分:0)
如果您可以抽象与后端对话的图层,以便您的前端(Swing?)不需要知道这些服务的位置,那么您就在那里。
关键应该是一个很好的模块概念。像NetBeans平台这样的框架可以帮助您实现这一点,并且可以轻松集成处理后端代码的非可视模块。
我不确定你的意思“我们必须也使用MVC”
MVC是一种设计模式,而不是库或框架。
但是,如果您使用类似NetBeans平台的东西,那么无论如何您都将应用该模式,因为它会迫使您在模块中进行思考。每个模块都有一个明确的职责,在启动过程中它会将自己注册到应用程序中。
使用允许您管理人员的应用程序(例如,人力资源部门)。一个模块负责显示用户可以查看单个员工的表单。该模块反过来寻找可以加载或列出所有员工的提供者。提供商获取数据的 对于前端是不可见的。它可以使用平面文件,关系数据库或对远程EJB服务器的调用(这是你可以插入JavaEE的东西)
如果配置正确,应用程序甚至可以从服务器下载模块。
关键是使模块彼此独立。无论使用何种技术(Web应用程序,服务器端守护程序或桌面应用程序),任何大型应用程序都适用