我正在阅读oracle JDBC教程 - http://docs.oracle.com/javase/tutorial/jdbc/overview/index.html
请参阅图2:数据访问的三层架构。
它说 -
在三层模型中,命令被发送到服务的“中间层”,然后将命令发送到数据源。数据源处理命令并将结果发送回中间层,然后中间层将它们发送给用户。 MIS主管发现三层模型非常具有吸引力,因为中间层可以保持对访问的控制以及可以对公司数据进行的更新。另一个优点是简化了应用程序的部署。最后,在许多情况下,三层架构可以提供性能优势。
我不明白大胆的部分。这些观点背后的逻辑是什么?
- 中间层可以保持对访问的控制以及可以对公司数据进行的更新。 - 以什么方式?
- 简化了应用程序的部署 - 这如何简化部署?
- 三层架构可以提供性能优势。 - 你刚在两层拱门之间添加了一层。现在,代替代码和DB之间的直接通信,有一个中间层。那么,不应该降低你的表现/速度吗?
答案 0 :(得分:1)
- 中间层可以保持对访问的控制以及可以对公司数据进行的更新。 - 什么 方式?
考虑以下角色:
工作人员可以添加低级别数据,但无法添加其他工作人员。
管理员可以添加/更新低级别数据,但无法查看高级别统计信息。
高管无法更新低级别数据,无法添加工作人员但可以查看高级别数据。
组件世界也是如此:记录器是只写的,有些组件不能访问其他组件的数据等。
- 简化了应用程序的部署 - 这如何简化部署?
每个层都为其客户端提供接口。如果您更改图层的内部实现而不触及其界面,则可以为客户端无缝完成更新。
- 三层架构可以提供性能优势。 - 你刚在两层拱门之间添加了一层。现在,而不是直接 代码和DB之间的通信有一个中间层。所以, 不应该降低你的表现/速度吗?
有两种方法可以提高性能:垂直和水平可扩展性(google it)。在这里我们谈论横向的,两层架构几乎不可能。
答案 1 :(得分:-1)
考虑Java
中的“中间层”,Tomcat等Web服务器,JBoss等企业服务器,BEA Weblogic,IBM Websphere等几个例子。还有许多其他的例子属于中间层类别。
大多数企业服务器为数据库提供完整的管理功能。其中涉及广泛的处理要求:
作为Tomcat
或独立Java
应用程序中的一个具体示例,您配置连接池将有助于提高性能。
部署明智的具体示例可能是,它将提供配置新数据库,架构等的方法。
我认为如果你说选择一个中间层说Tomcat并使用连接池等配置/使用它进行典型的标准数据库交互,那么它会对你有帮助。然后你就能理解两层与三层之间的比较拱。