【发布时间】:2014-07-05 07:08:18
【问题描述】:
我拥有 Java 背景,并在 Web 开发领域工作了几年。因为我没有从头开始学习 Web 开发,所以我的技能有所提高,但并不那么干净和扎实。我正在谈论的 Java Web 应用程序大约有 8 年的历史,并且是由非 Web 开发专家的开发人员创建的。结果:他们/我们做了很多你不应该做的事情。因为我们想在未来几年更新我们的应用程序,所以我想尝试找到一个干净的策略/架构。
我们的系统是这样工作的:服务器(不是 Web 服务器)存储了许多具有完全不同结构的不同对象,并基于数据仓库系统进行了大量数据分析。客户端通过套接字连接到服务器。一个客户端是 j2ee Web 客户端。我们有 Servlet、Actions、JSP、Beans……我们在客户端中有很多业务逻辑,它们将被移动到服务器上。我们的软件是高度可配置的,并且变得相当大。因为视图可以通过计算的数据发生巨大的变化,它的状态等等我们的 JSP 在太多的 scriptlet 中非常复杂 - 不好。
我的想法:
- 每个控制操作/业务逻辑都将移至服务器。
- 服务器发回带有元数据的数据,这样客户端就可以快速管理视图,而无需自己进行验证等类似操作。 (例如元标记“无效”)
- servlet 和服务器之间的客户端在 Freemarker 或 Mustache.java 等模板引擎的帮助下创建 HTML 代码。
- 将响应此 HTML 代码以替换、填充或添加 DOM 节点。
- 我们将使用 Ajax 请求。
您如何看待这种方法?关于弱点或缺陷的任何提示?使用 web 服务而不是 servlet 有意义吗?
所以现在我不是在寻找一个框架(但如果有你必须提到的,请不要退缩),而是我想在未来使用的通用架构。
提前感谢您的建议和提示。
我对我们当前结构的描述似乎有点混乱。第二次尝试: 我们的软件最初是一个非 Web 应用程序。我们有一个服务器来管理数据、计算……连接的客户端呈现视图并获取用户交互。大约 8 年前,我的公司决定为客户开发一个 Web 应用程序。我们客户端的一个实例(它持有与服务器的连接)存储在会话中,并且可以被 servlet、jsps 等访问。因此,Web 服务器实际上是我们系统中客户端的一部分。
我希望这会有所帮助。
【问题讨论】:
-
“servlet 和服务器之间的客户端”? “我们的系统是这样工作的:服务器(不是网络服务器)......”?这个服务器不是需要你在网络服务器和服务器之间有一个“客户端”的网络服务器是什么?你真的需要解释一下。
-
我编辑了帖子,希望不再那么混乱。
标签: ajax jakarta-ee servlets web-applications architecture