0

一年后,我完成了我的应用程序的开发。现在在搜索互联网时,我获得了关于 3tiers 应用程序的新知识。

我的应用程序在 2tier 架构上运行(独立应用程序直接连接到数据库服务器)。

我的应用程序开发使用: - Java SE (Swing)。- MySQL 服务器作为数据库服务器。

我想将我的应用程序重构为 3tier 应用程序。(客户端-服务器) - 我必须使用什么技术?- 我必须在当前代码中更改什么?- 应用程序将在网络上运行,将有许多并发用户将使用该应用程序访问数据库(插入、更新、删除......等)。

4

2 回答 2

0

Java EE 是您的答案。您可以选择 Hibernate/Spring/Struts 等框架来构建 3 层架构 (MVC)。您还需要选择 servlet 容器。Apache Tomcat 应该是一个不错的选择。

如果您可以发布更多详细信息,例如应用程序的复杂性、用途等,那就太好了。

于 2013-10-26T09:27:19.610 回答
0

有两种主要方法。第一个涉及在许多可用框架(Struts、Spring、Java Server Faces 等)之一的帮助下用 HTML/JavaScript 重写客户端。除非您特别喜欢 Web 应用程序而不是 Swing 应用程序,或者您的用户界面非常在您的业务逻辑之上的薄层,那么这是一种昂贵的方法。

第二种方法涉及在用户界面和数据库之间插入服务器。基于 Java 的开源服务器包括 Jetty、Tomcat、Spring、JBoss/WildFly 和 GlassFish。

如果您的代码是分层结构的,以便用户界面、业务逻辑和数据访问代码属于不同的层,那么一旦您了解了您的功能,从两层系统转换到三层系统应该很简单。选择的中间层服务器以及如何使用它们。

基本技术是:

  1. 所有用户界面/Swing 代码都保留在客户端上。
  2. 所有业务逻辑都转移到中间层服务器。客户端使用远程协议与业务逻辑对话。
  3. 所有数据访问代码都移至服务器。

依赖注入对于逐步执行此重构很有用,并且还允许您在需要时选择在两层或三层模式下工作。

两层和三层应用程序之间的三个主要区别是:

  1. 安全性 - 您的系统中有一个新的访问点。您需要注意它对数据库的访问权限 - 您是否有一个服务器用户可以做所有事情,或者每个用户都需要使用自己的连接凭据。您还需要正确保护服务器,并注意不要在中间层 API 中添加安全漏洞。
  2. 远程访问——以前在同一进程中进行的一些方法调用现在通过网络进行。与本地 API 相比,服务器 API 通常需要支持较少细粒度的操作,并且可能还需要管理作为参数和返回值传送的数据量。
  3. 应用程序的结构变得更加重要。代码不一定有很大不同,但需要将其组织到不同的层中。
于 2013-10-26T09:57:44.260 回答