OData Restier - 这适合什么?是否值得在生产中使用它?
OData Restier - what for this suitable ? Is it worth to use it in production?
我需要制作used/uses'Restier'的人的意见
我看到一些问题 - 默认情况下禁用安全性 - 所有数据都可以被甚至未经现场授权的用户读取。即使我们计划限制某些数据 - 您不能从 table 中删除一列 - 只有所有列对客户端可见。
最后 - 所有业务逻辑都移动到浏览器 javascript - 这不好。如果我们需要执行复杂的操作(必须在单个事务中)——这是不可能的。
我的意见 - 'Restier' 是为非常简单的 RESTful 项目设计的 - 例如地址簿,待办事项列表等。如果你开发大型商业应用程序 - 操作复杂的数据方案和操作金钱交易 - 你应该避免在项目中使用 'Restier'。
任何想法表示赞赏。
REST 是 Web 服务的一种架构风格。
OData 是一种标准,描述了 REST 的良好技术独立实现。
RESTier 是一个实现 OData V4 的库。
你的域的复杂性一定在你的域和应用层。
您可以使用 RESTier 以您喜欢的方式将域功能公开为 WebService。您可以仅为读取操作公开您的实体,并将您的用例(应用程序层)公开为 OData 操作和函数,它们可以被任何类型的客户端(iOS、Android、Web 客户端使用,例如Asp.Net Mvc、Wpf、任何 JavaScript 前端等)
如果您有一个复杂的领域,我建议您研究领域驱动设计。
现在回答你的问题...
关于安全性,您可以在 Restier 中实现 Asp.Net 的所有优点。
关于数据整形,您永远不会直接通过 Web 服务公开您的域实体。我建议实施在例如 Customer(表示业务逻辑的域实体)和 CustomerDto(简单数据传输对象)之间来回转换的工厂。有了它,您可以调整数据以按照您需要的方式公开。
如您所提到的,在前端(UI 层)具有业务逻辑,如果您的域复杂性很大,则被认为是一种反模式(智能 UI 反模式)。 (对于简单的 CRUD 应用程序是可以的)。 Restier 不会将您推向这个方向。这取决于您如何构建解决方案。
希望对您有所帮助。
我需要制作used/uses'Restier'的人的意见
我看到一些问题 - 默认情况下禁用安全性 - 所有数据都可以被甚至未经现场授权的用户读取。即使我们计划限制某些数据 - 您不能从 table 中删除一列 - 只有所有列对客户端可见。
最后 - 所有业务逻辑都移动到浏览器 javascript - 这不好。如果我们需要执行复杂的操作(必须在单个事务中)——这是不可能的。
我的意见 - 'Restier' 是为非常简单的 RESTful 项目设计的 - 例如地址簿,待办事项列表等。如果你开发大型商业应用程序 - 操作复杂的数据方案和操作金钱交易 - 你应该避免在项目中使用 'Restier'。
任何想法表示赞赏。
REST 是 Web 服务的一种架构风格。 OData 是一种标准,描述了 REST 的良好技术独立实现。 RESTier 是一个实现 OData V4 的库。
你的域的复杂性一定在你的域和应用层。 您可以使用 RESTier 以您喜欢的方式将域功能公开为 WebService。您可以仅为读取操作公开您的实体,并将您的用例(应用程序层)公开为 OData 操作和函数,它们可以被任何类型的客户端(iOS、Android、Web 客户端使用,例如Asp.Net Mvc、Wpf、任何 JavaScript 前端等) 如果您有一个复杂的领域,我建议您研究领域驱动设计。
现在回答你的问题...
关于安全性,您可以在 Restier 中实现 Asp.Net 的所有优点。
关于数据整形,您永远不会直接通过 Web 服务公开您的域实体。我建议实施在例如 Customer(表示业务逻辑的域实体)和 CustomerDto(简单数据传输对象)之间来回转换的工厂。有了它,您可以调整数据以按照您需要的方式公开。
如您所提到的,在前端(UI 层)具有业务逻辑,如果您的域复杂性很大,则被认为是一种反模式(智能 UI 反模式)。 (对于简单的 CRUD 应用程序是可以的)。 Restier 不会将您推向这个方向。这取决于您如何构建解决方案。
希望对您有所帮助。