1

我在这里阅读 oracle JDBC 教程 - http://docs.oracle.com/javase/tutorial/jdbc/overview/index.html

请参阅图 2:数据访问的三层架构。

它说——

在三层模型中,命令被发送到服务的“中间层”,然后将命令发送到数据源。数据源处理命令并将结果发送回中间层,然后将它们发送给用户。MIS 主管发现三层模型非常有吸引力,因为中间层可以保持对访问的控制以及可以对公司数据进行的各种更新。另一个优点是它简化了应用程序的部署。最后,在很多情况下,三层架构可以提供性能优势。

我不明白粗体部分。这些观点背后的逻辑是什么?

- 中间层可以保持对访问的控制以及可以对公司数据进行的更新类型。 - 以什么方式 ?

- 简化应用程序的部署 ——如何简化部署?

- 三层架构可以提供性能优势。 -- 您刚刚在两个分层拱门之间添加了一层。现在,代码和数据库之间没有直接通信,而是有一个中间层。那么,这不应该降低你的性能/速度吗?

4

2 回答 2

1
  • 中间层可以保持对访问的控制以及可以对公司数据进行的更新类型。 - 以什么方式 ?

考虑这些角色:

工人可以添加低级数据,但不能添加其他工人。

经理可以添加/更新低级别数据,但看不到高级别统计数据。

高管无法更新低级别数据,无法添加工人,但可以查看高级统计数据。

在组件的世界中也是如此:记录器是只写的,一些组件不能访问其他组件的数据,等等。

  • 简化应用程序的部署——如何简化部署?

每一层都为其客户端提供一个接口。如果您在不触及其接口的情况下更改层的内部实现,则可以为客户端无缝完成更新。

  • 三层架构可以提供性能优势。-- 您刚刚在两个分层拱门之间添加了一层。现在,代码和数据库之间没有直接通信,而是有一个中间层。那么,这不应该降低你的性能/速度吗?

有两种方法可以提高性能:垂直和水平可扩展性(google it)。这里我们说的是水平的,两层架构几乎不可能。

于 2013-04-25T08:01:20.040 回答
-1

Java考虑Tomcat 等 Web 服务器、JBoss 等企业服务器、BEA Weblogic、IBM Websphere中的几个“中间层”示例。可能还有许多其他示例属于中级类别。

大多数企业服务器为数据库提供完整的管理功能。它广泛地处理以下要求:

  1. 配置(连接池、XA、JDBC 特定属性、ReadOnly/WriteEnabled 等)
  2. 部署
  3. 维护任务(备份等)
  4. 监控(数据库性能统计、其机器性能统计、大小统计等)

作为配置连接池的特定示例Tomcat或独立Java应用程序将有助于提高性能。

部署明智的具体示例可能是,它将提供配置新数据库、模式等的方法。

我认为,如果您说选择一个中间层(例如 Tomcat)并使用连接池等配置/使用它来进行典型的标准数据库交互,这将对您有所帮助。然后您将能够理解两层拱门与三层拱门之间的比较。

于 2013-04-25T08:07:56.270 回答