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

时间:2013-04-25 07:49:10

标签: java jdbc architecture 3-tier 2-tier

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

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

它说 -

  

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

考虑以下角色:

工作人员可以添加低级别数据,但无法添加其他工作人员。

管理员可以添加/更新低级别数据,但无法查看高级别统计信息。

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

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

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

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

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

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

答案 1 :(得分:-1)

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

大多数企业服务器为数据库提供完整的管理功能。其中涉及广泛的处理要求:

  1. 配置(连接池,XA,JDBC特定属性,ReadOnly / WriteEnabled等)
  2. 部署
  3. 维护任务(备份等)
  4. 监控(数据库性能统计,机器性能统计,大小统计等)
  5. 作为Tomcat或独立Java应用程序中的一个具体示例,您配置连接池将有助于提高性能。

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

    我认为如果你说选择一个中间层说Tomcat并使用连接池等配置/使用它进行典型的标准数据库交互,那么它会对你有帮助。然后你就能理解两层与三层之间的比较拱。

相关问题