使用SOA的不同项目的CRUD操作

时间:2013-09-10 17:58:17

标签: design-patterns soa crud

我是一家公司的顾问,该公司拥有大量项目,可以在GridView的每个项目中进行基本的CRUD操作(如更新,选择,删除,添加)

我在思考而不是为每个项目创建相同的操作而不是n,为什么我不创建某种基于SOA的架构设计模式?通过这种方式,任何人都可以继承使用SOA服务执行的操作并执行它。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

与允许不同业务问题的垂直分离相比,SOA更少关于实现服务操作的重用。

与数据库通信的应用程序当然需要说CRUD(因为DB本身就是CRUDy)。没有远离这一点,也不应该被视为坏事。但是,CRUD永远不会有商业意义。

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

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

每个堆栈中都包含数据库,数据访问,业务逻辑和表示层,可以公开具有商业意义的服务操作以供其他服务或应用程序使用,并且可以完全单独开发和管理。

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