逻辑体系结构
现在我们有一个简单的逻辑模型。它是如何起作用的?它有助于我们考虑各个逻辑组之间的边界。每个逻辑层应尽量与其他层独立。理想的情况是,图层中的更改应该对整体产生最小的影响。例如,如果将数据存储从 SQL Server 更改到 XML 数据文件,唯一受到影响的图层应是中间层图层。用户界面应该根本无需考虑更改。这会使您进行思考:如何实现解决方案的实际编码以实现此原则。
另外,逻辑层有助于我们考虑安全问题。各个图层之间的边界都存在潜在的安全漏洞。而且,各个图层可能有自己特定的安全措施(SQL Server 权限、.NET 运行时权限、ASP.NET 安全等)。同样,我们稍后会在本节中详细讨论这个问题。 物理体系结构 确定逻辑层后,考虑物理层也很重要。例如,您可以在同时安装有 SQL Server、Internet Information Server、ASP.NET 和 .NET 运行时的单个实际计算机上实现这个应用程序。这将是一个物理层。但更可靠且可扩展的方法是:在由三个 Web 服务器组成的簇上部署 Web 窗体,在两个应用服务器上部署 .NET 组件程序集,在两个故障恢复模式的 SQL Server 上部署数据库。这样产生的物理体系结构将七个 Windows 服务器包含在三个主要组中:Web 簇、组件簇和数据库簇。如果您了解系统的不同逻辑部件可以位于不同的计算机上,您可能会实现不同的代码。 对于我们的示例,我们采用一个有效且强大的两层模型:Web 服务器托管用户界面和组件,数据库服务器托管 SQL Server 数据存储。如果通信量非常大,这个模型使我们可以灵活地在簇中添加更多的服务器,并使其保持足够的简洁以便于处理。下面的图像显示了此物理体系结构与前面定义的逻辑体系结构之间的映射关系。
图 2:物理体系结构与三层体系结构之间的映射关系 |