【发布时间】:2010-11-18 06:13:19
【问题描述】:
我正在寻找那些对复杂的现实世界企业 n 层应用程序有经验的人的答案。
除了显而易见的 3 层之外,企业应用程序中实际存在多少物理层(分布到不同的机器)?
在 Java EE 和 .NET 世界中,哪些技术主要用于层间通信?
是否有(m)任何基于 DCOM 的 n 层应用程序?
【问题讨论】:
标签: architecture n-tier-architecture
我正在寻找那些对复杂的现实世界企业 n 层应用程序有经验的人的答案。
除了显而易见的 3 层之外,企业应用程序中实际存在多少物理层(分布到不同的机器)?
在 Java EE 和 .NET 世界中,哪些技术主要用于层间通信?
是否有(m)任何基于 DCOM 的 n 层应用程序?
【问题讨论】:
标签: architecture n-tier-architecture
您的问题没有一个答案。 我可以在 2 台服务器、1 台服务器、3 台服务器上放置 3 层。
每个层都可以在逻辑上划分为更多层... 数据库可以分为实际数据库、数据访问层、ORM,理论上可以将每一层放在一台机器上,但效率会很低。
所以 - 您的问题的答案 - 随您喜欢。 我在决定分离时考虑性能和安全性,有些还会考虑复杂性。
我使用 ORM,例如从应用层到数据库的 nHibernate,以及从表示层到应用层的 WCF。 (在 .NET 世界中)。
(可能有基于 dcom 的 n 层应用,但这项技术很老旧,我不会在新项目中使用它)
【讨论】:
对于我正在进行的当前项目是
从属层是由执行离线批处理的从属计算机组成的层。 slaves 的唯一职责是进行大规模并行计算-
然而,我们的软件架构仅分为三层:gui、服务器以及 gui 和服务器共享的数据。
【讨论】: