【问题标题】:CRUD Operation for different project using SOA使用 SOA 对不同项目进行 CRUD 操作
【发布时间】:2013-09-10 17:58:17
【问题描述】:

我是一家公司的顾问,这家公司有大量项目,它们在 GridView 中的每个项目(如更新、选择、删除、添加)中执行基本的 CRUD 操作

我在想,与其为每个项目重复创建相同的操作,不如创建某种基于 SOA 的架构设计模式?这样,任何人都可以继承使用 SOA 服务执行的操作并执行它。

另外,我可能在这里错了!我应该如何处理这种模式?这家公司的大多数开发人员都是数据库开发人员。

【问题讨论】:

  • 多个项目是否在相同数据或不同数据上公开CRUD功能?无论如何,我担心这个问题的范围很广,无法客观地回答......
  • 多个项目在不同的数据库上公开 CRUD。

标签: design-patterns soa crud


【解决方案1】:

我认为您正在寻找一个数据服务层,即一个暴露服务的层,没有业务逻辑,只是 CRUD 操作。

看看开源“WSO2 Dataservices”http://wso2.com/products/data-services-server/

【讨论】:

    【解决方案2】:

    服务上的 CRUD 是 generally an anti-pattern。更好的是具有business meaning 的服务操作。

    SOA 与其说是实现服务操作的重用,不如说是允许垂直分离不同的业务关注点。

    与数据库对话的应用程序当然需要说 CRUD(因为 DB 本质上是 CRUDy)。没有摆脱这一点,也不应该被视为不好。但是,CRUD 永远不会有商业意义。

    在考虑为您的企业构建应用程序的共享服务环境时,您应该考虑哪些具有业务意义的操作适合通过面向服务进行共享。

    然后这些可以成为您的垂直服务堆栈。

    每个堆栈内部都会有数据库、数据访问、业务逻辑和表示层,可以将具有业务意义的服务操作暴露给其他服务或应用程序使用,并且可以完全分开开发和管理。

    我听过的关于 soa 的最好描述是在这个视频中: https://vimeo.com/5022174

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多