虽然我可以找到很多主张SOA或WCF的文章,但我的问题是不应该将其作为服务公开,我们从SOA失败中学到了什么减少.WCF是一种实现SOA的方法,如果我们使用WCF,这意味着我们正在实现SOA.肯定有很多人使用C#编写不可维护的代码.
我想你的权利.在我目前的任务(Web开发)中,对数据库的每次访问都是作为服务实现的.我们是"纯粹的SOA",正如首席架构师所说......哇!
事实上,这增加了一切的复杂性.当我想要读取一个简单表的内容时,我必须生成类似8个项目,42个文件,8个程序集和可能9个配置文件的内容!
我说的很复杂.有可能某个地方会忘记一个文件...将简单流程作为服务公开是愚蠢的.
在我的书中,您应该在以下情况下将您的流程公开为服务:
许多使用不同语言和框架的应用程序必须调用您的东西.
涉及多个平台(Windows,Unix ......).
正在处理的数据是企业的核心.
另外,请注意服务必须设计为服务,并且设计服务至少与设计库一样复杂:必须精心设计错误捕获,记录必须足够灵活,文档必须完整等.
好吧,正如我所看到的,我每天使用的大多数服务都不会被其他人使用:没有文档,错误处理能力差,代码经常变化,第二个区域数据......
好吧,非常有趣的问题.1分:o)
SOA作为一个概念是一个好主意.
使用HTTP-WS/BPEL等实现的SOA是一个笑话,值得在我不那么谦虚的观点中消亡.在得知分布式交易的唯一概念是补偿交易后,我不久就认真地停止了系统... bzzt NEXT !!