你有一个很好的软件产品,为什么要让它与SOA兼容?
答案 0 :(得分:2)
您可能希望这样做以在数据服务和应用程序层之间提供更松散的耦合。这将为其他产品重用服务组件提供更大的灵活性,并允许您在需要时更改底层服务架构,而无需您的应用程序甚至了解更改。
说了这么多,我首先想要一个实际的业务用例,保证在进行更改之前进行切换。简单地改变以跟上最新的流行语只是浪费钱。但是,如果您要开始一个新项目,则可能需要考虑基于服务的体系结构,如果它对您的应用程序有意义的话。
答案 1 :(得分:1)
如果您希望您的产品能够与其他应用程序集成,并且您的客户实际上已经表达了这个愿望/要求,那么我会考虑它,但否则可能会浪费大量的时间和金钱,特别是如果这样做可能会导致一些冗长的架构重构使其成功。但由于没有明确的理由,仅仅因为其他人可能会这样做而追随趋势可能没有意义。您的客户会在必要时通知您。
答案 2 :(得分:1)
在我看来,只有一个很好的理由:您需要在不同平台或技术之间进行互操作性。否则,为自己节省很多悲伤,并且“只是”制作一个结构合理的架构 - 告诉你的老板,如果这是他想要听到的,那就是SOA。不要这样做是因为您将来可能会迁移到或使用其他平台 - 您还没有互操作性问题。
答案 3 :(得分:0)
如果没有关于“优秀软件产品”的详细信息,这是一个非常难以回答的问题,但是在广泛的普遍性中发言:
答案 4 :(得分:0)
事实是:你不需要。
SOA结构实现起来非常复杂。它需要我认为大多数公司不会拥有的关怀和组织风格。 (如果你的组织有这样的组织,我很高兴。)
Tomas Erls谈到了当代SOA和Web Service First Generation。 WS-I是传统的Web服务风格,例如asp.net Web服务。实际上,这种传统的Web服务并不意味着任何面向服务;发生的事情是人们构建简单的Web服务并将其称为SOA。
我认为,当代SOA是一个基于服务构建的整个系统。在这个“生态系统”中,服务会互相调用来执行某些任务。
SOA分析很痛苦,需要小心。要建立这样的生态系统,你需要从第一时刻做好准备。
工程服务接口(合同)也是范例。如果你把一些精益思想放在腰带上,你应该减少一些制作最先进设计的愿望。 如果你的系统已经运行,那很好!如果有人需要在可能的未来进行集成而你还不知道它,那么现在就不要这样做。但是如果你的系统天生就被消耗掉了,你就会想到它。
最佳