当前位置:  开发笔记 > 编程语言 > 正文

SOA或WCF的反模式

如何解决《SOA或WCF的反模式》经验,为你挑选了2个好方法。

虽然我可以找到很多主张SOA或WCF的文章,但我的问题是不应该将其作为服务公开,我们从SOA失败中学到了什么减少.WCF是一种实现SOA的方法,如果我们使用WCF,这意味着我们正在实现SOA.肯定有很多人使用C#编写不可维护的代码.



1> Sylvain Rodr..:

我想你的权利.在我目前的任务(Web开发)中,对数据库的每次访问都是作为服务实现的.我们是"纯粹的SOA",正如首席架构师所说......哇!

事实上,这增加了一切的复杂性.当我想要读取一个简单表的内容时,我必须生成类似8个项目,42个文件,8个程序集和可能9个配置文件的内容!

我说的很复杂.有可能某个地方会忘记一个文件...将简单流程作为服务公开是愚蠢的.

在我的书中,您应该在以下情况下将您的流程公开为服务:

许多使用不同语言和框架的应用程序必须调用您的东西.

涉及多个平台(Windows,Unix ......).

正在处理的数据是企业的核心.

另外,请注意服务必须设计为服务,并且设计服务至少与设计库一样复杂:必须精心设计错误捕获,记录必须足够灵活,文档必须完整等.

好吧,正如我所看到的,我每天使用的大多数服务都不会被其他人使用:没有文档,错误处理能力差,代码经常变化,第二个区域数据......

好吧,非常有趣的问题.1分:o)


从你描述你实际上是实现一个CRUD服务,这实际上是一个SOA反模式数据库(见CRUDy接口) - http://msdn.microsoft.com/en-us/library/ms954638.aspx.

2> Einstein..:

SOA作为一个概念是一个好主意.

使用HTTP-WS/BPEL等实现的SOA是一个笑话,值得在我不那么谦虚的观点中消亡.在得知分布式交易的唯一概念是补偿交易后,我不久就认真地停止了系统... bzzt NEXT !!

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有