问题标签 [multi-tier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
718 浏览

asp.net - azure 中的动态子域

我正在 Windows Azure 之上使用 asp.net 构建一个多租户应用程序。

要求是,只要在我们的应用程序中注册一个租户,就会为该租户创建一个子域,以便与应用程序一起运行。

因此,我想在注册客户端时以编程方式创建一个新的子域,并在其任何用户登录应用程序时重定向到该子域。

这在 Azure 中可能吗?

如果是,有什么建议或建议吗?

0 投票
1 回答
44 浏览

architecture - 没有数据层的 Web 应用程序的软件架构可能是什么?

我正在 JSP/Servlets 和 Tomcat 中制作一个 Web 应用程序,让您可以在线使用 FFmpeg。因此,您只需上传文件,填写表格并下载转换后的文件。不需要数据持久性。该案例的最佳软件架构可能是什么?感谢您的帮助和时间:)

0 投票
1 回答
46 浏览

java - 实际上,您如何将 Web 服务器和应用程序服务器分开?

我在另一台主机上有一个 2 Glassfish 服务器和一个数据库服务器。前端使用一些 Javascript 运行 JSP,后端使用 Hibernate 与数据库通信。

应用程序服务器资源非常密集,因此我想将 Web 服务器(JSP、视图部分)和后端(EJB、逻辑部分)分离到不同的机器中。

我该如何做到这一点,更实际?JSP 依赖于 EJB 来更新视图 - 所以我应该在 webserver 和 appserver 之间引入一个 rest-api 服务器以便可以通信吗?这是一个好的架构吗?

0 投票
1 回答
593 浏览

servlets - 跨 WebLogic 集群层访问 Coherence 缓存数据(数据缓存/EJB/Servlet)

我正在尝试配置 WebLogic 12cR2 集群以支持分布式数据缓存和应用程序跨串行集群节点。

集群拓扑为:

由于 WebLogic 12cR2 还很新,找不到很多好的示例和教程。有没有人可以分享一些关于开发经验的想法?

0 投票
2 回答
1231 浏览

domain-driven-design - 同一域模型的多个数据传输对象

当您有多个相同对象的表示时,您如何解决这种情况,具体取决于视图?

例如,假设您有一家书店。在书店中,您有 2 种主要的书​​籍表示形式:

  1. 在列表中(搜索结果、按类别浏览、作者等):这是一个紧凑的表示,可能有一些聚合,例如 NumberOfAuthors 和 NumberOfRwviews。每个作者和评论都是自己保存在数据库中的实体。
  2. DetailsView:在这里你不会有聚合,而是每个作者的真实值,因为 Book 有一个属性 AuthorsList。

案例 2 很清楚,您从 DB 中获取所有内容并显示出来。但是如何解决案例 1. 如果您想减少与 DB 之间的连接数和有效负载?因此,如果您不想从 DB 中获取所有实际的作者和评论,但每个人只需要 2 个整数来计数。

完全规范化的解决方案是 2,但 1 似乎需要一些非规范化或创建 2 个不同的实体:业务层中的 BookDetails 和 BookCompact。

重要提示:我不是在谈论查看 DTO,而是实际上从不适合业务层书籍类的数据库中获取数据。

0 投票
2 回答
136 浏览

c# - 多层应用程序中的程序集依赖项

我正在第一次尝试创建可重用的多层应用程序。

我创建了一个业务层项目引用的数据访问层项目。我创建了一个引用业务层项目的网站,并计划在许多其他网站中使用它。

我已将编译好的业务层项目 dll 放入网站 bin 文件夹并进行了文件引用。当我调用业务层时,它会引发无法加载数据访问程序集。为了解决这个问题,我将数据访问 dll 放入网站 bin 文件夹中,一切正常。

将来,我希望业务层对不同的项目进行许多引用,因此我希望将业务层引用的所有项目 dll 添加到每个网站的 bin 文件夹中。这是我这样做的正确方法还是有简化的方法?

0 投票
1 回答
120 浏览

.net - 我们可以跳过/绕过多层架构中的中间层吗

我正在研究我们按以下顺序分层架构的项目

Web 层(ASP.NET MVC)-> WCF 服务-> 业务层-> 数据层(实体框架)-> 数据库(SQL SERVER)

Web 层托管在一个 Web 应用程序中(称为 Web 层),而其他层(WCF、业务层和数据层)托管在另一个 Web 应用程序中(称为应用层)

所有 Web 请求都按上述顺序传输。

现在我们有一个托管在 Windows 服务内部的组件,它需要与数据库通信,那么我应该通过绕过/跳过服务和数据层直接从 Windows 服务调用数据库,或者我应该使用以下流程,有什么更好的方法

Windows 服务 -> WCF 服务 -> 业务层 -> 数据层(实体框架) -> 数据库

哪一个是更好的架构。

0 投票
1 回答
30 浏览

java - Catalina RealmBase 位于哪一层?

如果 Catalina RealmBase(DataSourceRealm 或其他)位于表示层或业务逻辑层(集成或业务层)中,我会感到困惑。

我创建了一个class SignatureRealm extends DataSourceRealm来验证用户。

问题是现在我很困惑我的班级SignatureRealm位于哪个等级。

非常感谢

0 投票
1 回答
32 浏览

security - 与多层服务器上的数据库的安全连接

我有一个多层架构,其中我的 Rails Web 应用程序和 Nginx 在一台服务器上(如果需要,可以复制和负载平衡),Postgres 数据库在同一个数据中心的自己的 VPS 上。

在此设置中是否有一种通用方法来保护应用程序和数据库之间的连接,以便数据不会以明文形式传输?

我考虑过的一个选项是使用 SSH 隧道,但我不确定这是否是生产设置中的标准做法。

0 投票
1 回答
1541 浏览

c# - 在 ASP.NET Core MVC 中使用 ORM 的正确方法?

一个缺乏经验的 Web 开发人员急需帮助!

介绍

我正在开发一个 MVC Web 应用程序(由于我对它的兴趣而使用 ASP.NET Core)。在后端,有一个带有相当复杂的数据库(数千个表)的 MSSQL 服务器。在我的项目中,我想根据用户的查询(发送表单请求)在视图中(在表格中)显示部分公共数据,然后允许用户下载数据(CSV、XML)。

架构挑战

  • 数据访问层

首先我开始使用实体框架,但后来意识到根本无法将我所有的 SQL 语句转换为 LINQ。原因是最简单的查询包含多个 INNER JOINS 和 LEFT JOINS 和 SELECT 语句以及无数个表。

  • 业务逻辑层

我计划构建一个 REST API,以 JSON 格式发送数据。就我在 .NET Core MVC 中的关注而言,我可以将我的 API 控制器与我的表示层放在同一个项目中。

  • 表示层

这是我唯一有经验的部分,使用 MVC 5 构建 Web 应用程序。

大斗争

在这个项目中,我不会操作数据,只会阅读并呈现给用户。我知道使用不同模型类(域、实体、视图模型)的准则

我现在做什么,我想这是错误的:

  • MVC 的 API 控制器将 SQL 查询结果作为类型 DataTable 对象返回(有一个 SQL Helper 类来完成这项工作),到目前为止,我的控制器负责将对象序列化为 JSON。

  • 另一个控制器(与视图中的模型绑定)通过 HTML 表单获取用户搜索条件,并通过绑定相应的属性调用 API 控制器。

问题终于

  • 我是否应该坚持使用原始 SQL 查询而不是实体框架,如果是这样,我是否应该使用简单分离的类库(作为数据访问层)并在 API 中引用它?还是省略 DAL 并将所有 SQL 查询逻辑放入 API 中?
  • 如果只读取数据而不进行操作,是否需要使用实体框架?我打算做的唯一操作是在逻辑层中格式化外观。

更新编辑:

在我的 SQL 查询中,我必须创建 LINQ 不支持的临时表。有什么建议么?

如果这个问题将被标记为架构问题而不是编程问题,请接受我的道歉,并将我推荐给我可以得到帮助的正确论坛。

提前谢谢了!