【问题标题】:OData Restier - what for this suitable ? Is it worth to use it in production?OData Restier - 这适合什么?是否值得在生产中使用它?
【发布时间】:2017-03-09 22:34:55
【问题描述】:

我需要在生产中使用/使用“Restier”的人的意见。

我发现了一些问题 - 默认情况下禁用了安全性 - 甚至未经现场授权的用户都可以读取所有数据。即使我们计划限制某些数据 - 您不能从表中删除一列 - 只有所有列对客户端可见。

最后 - 所有业务逻辑都转移到浏览器 javascript - 这不好。如果我们需要执行复杂的操作(必须在单个事务中) - 这是不可能的。

我的意见 - 'Restier' 是为非常简单的 RESTful 项目设计的 - 例如地址簿、待办事项列表等。如果你开发大型商业应用程序 - 操作复杂的数据方案和操作货币交易 - 你应该避免使用 ' Restier' 在一个项目中。

任何想法表示赞赏。

【问题讨论】:

    标签: restier


    【解决方案1】:

    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 不会把你推向这个方向。这取决于您如何构建解决方案。

    希望对你有所帮助。

    【讨论】:

    • 非常感谢。
    猜你喜欢
    • 2011-01-24
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多