Java Oracle JDBC教程-想了解2层JDBC与3层JDBC吗

Java Oracle JDBC教程-想了解2层JDBC与3层JDBC吗,java,jdbc,architecture,3-tier,2-tier,Java,Jdbc,Architecture,3 Tier,2 Tier,我正在这里阅读oracle JDBC教程- 请参考图2:数据访问的三层体系结构 上面说—— 在三层模型中,命令被发送到服务的“中间层”,然后服务将命令发送到数据源。数据源处理命令并将结果发送回中间层,中间层随后将它们发送给用户。MIS主管发现三层模型非常有吸引力,因为中间层可以保持对访问的控制和对公司数据的更新。另一个优点是它简化了应用程序的部署。最后,在许多情况下,三层体系结构可以提供性能优势。 我不明白粗体部分。这些观点背后的逻辑是什么 -中间层可以保持对访问的控制以及对公司数据的更新。 -

我正在这里阅读oracle JDBC教程-

请参考图2:数据访问的三层体系结构

上面说——

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

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

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

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

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

  • 中间层可以保持对访问的控制以及对公司数据的更新--在什么地方 方法
考虑以下角色:

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

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

高管不能更新低级数据,不能添加员工,但可以查看高级统计数据

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

  • 简化应用程序的部署--这如何简化部署
每一层都为其客户端提供一个接口。如果更改层的内部实现而不接触其接口,则可以为客户端无缝完成更新

  • 三层体系结构可以提供性能优势。-您刚刚在两层拱门之间添加了一层。现在,不是直接的 代码和数据库之间的通信有一个中间层。所以 这不应该降低你的性能/速度吗
有两种方法可以提高性能:垂直和水平可伸缩性(googleit)。这里我们讨论的是水平层,使用两层体系结构几乎不可能实现。

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

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

  • 配置(连接池、XA、JDBC特定属性、只读/可写等)
  • 部署
  • 维护任务(备份等)
  • 监控(数据库性能统计、其机器性能统计、大小统计等)
  • 作为
    Tomcat
    或独立
    Java
    应用程序中的一个特定示例,您在其中配置连接池将有助于提高性能

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


    我认为,如果您说选择一个中间层(比如Tomcat)并使用连接池等为典型的标准数据库交互配置/使用它,那么您将能够理解两层与三层arch之间的比较。

    我无法理解通过在层之间添加一层,我们是如何进行水平缩放的两层架构。水平扩展能力是中间层可能支持的选项,我们不是“通过添加一层来进行水平扩展”。在两层体系结构中,我们可以扩展数据层,但不能简单地扩展业务层,因为它不存在。我们可以用存储过程模拟业务层,但这最终意味着我们使用(并且需要)业务层。谢谢。请告诉我:(1)扩展业务层:这意味着什么?使用存储过程模拟业务层:您能给我一个由SP模拟业务流程的示例吗?