![]() |
1
10
我真的认为SOA只对外部接口(一般来说,对公司外部的接口)有用,即使这样,只有在性能并不重要的情况下,才不需要有序地传递消息。 鉴于此,我认为它们可以共存。使用OO原理保持应用程序的工作和通信,并且只有当需要外部接口(到第三方)时,才通过SOA公开它们(这不是必需的,但是一种方法)。 我真的觉得SOA被过度使用,或者至少带有SOA的架构被提议的太频繁了。我真的不知道有什么大系统在内部使用SOA,我怀疑他们能做到。这看起来更像是一个你可能只是用来做混搭或简单的天气预报类型的请求,而不是在上面构建严肃的系统。 |
![]() |
2
10
我的观点是SOA在宏观层面上是有用的,但是每个服务可能仍然足够大,需要几个内部组件。内部组件可能受益于OO架构。 应该比内部API更仔细地定义SOA API,因为它是一个外部API。在这个级别上传递的数据类型应该尽可能简单,没有内部逻辑。如果存在属于数据类型的逻辑(例如验证),那么最好有一个服务负责在数据类型上运行逻辑。 |
![]() |
3
10
SOA是用于系统或应用程序之间通信的良好体系结构。 每个应用程序定义一个“服务”接口,该接口由它将处理的请求和预期的响应组成。 这里的关键点是定义良好的服务,以及定义良好的接口。就SOA而言,您的服务实际上是如何实现的无关紧要。 因此,您可以自由地使用所有最新和最好的OO Tequniques或任何其他适用于您的方法来实现您的服务。(我曾经看到过一些极端的情况,“服务”是由实际的人在屏幕上输入数据实现的——但所有的东西仍然是文本书SOA!). |
![]() |
4
4
我认为这是对物体定向的误解。即使在Java中,方法一般也不属于 物体 但是他们的 班 (即使是这种“成员资格”也不是面向对象的必要条件,但这是一个不同的主题)。类只是对类型的描述,所以这实际上是程序的一部分,而不是数据。 SOA和OO并不相互矛盾。服务可以接受数据,在内部将它们组织成对象,处理它们,最后以所需的任何格式返回。 |
![]() |
5
4
我听詹姆斯戈斯林说,可以在COBOL中实现SOA。 如果你读过艾伦·凯自己对OOP起源的描述,它描述了一堆相互作用的小计算机来执行一些有用的事情。 请考虑以下描述:
我认为以下替代品是可能的:
如果您主要考虑封装、信息隐藏、松耦合和黑盒接口,那么有相当多的相似性。如果你陷入了多态性、继承等的泥潭中,那么你考虑的是编程/实现而不是体系结构,imho。 |
![]() |
6
3
如果您允许您的服务记住状态,那么可以将它们视为具有可能较慢的调用时间的大型对象。 如果不允许它们保留状态,那么它们就像您所说的——数据上的操作符。 听起来您可能将系统划分为太多的服务。你有书面的,双方同意的标准如何划分? 采用SOA确实 不 意思是 扔掉你所有的东西 但它是关于将您的系统划分成可重用的大块。 |
![]() |
mflame · 新安装的weblogic带有rcu和soa崩溃 8 年前 |
![]() |
m.genova · 在AS/400上集成RPG有哪些技巧和窍门? 10 年前 |
|
Zirous Tom · 新SOA服务器的不可恢复系统故障 10 年前 |
![]() |
user3587754 · Web服务和企业消息系统之间的区别是什么? 10 年前 |
|
latefreak · Python+Tornado用于会计软件 11 年前 |
![]() |
rednerus · 使用WCF的面向服务的体系结构 11 年前 |
![]() |
Datageek · YARN作为SOA框架 12 年前 |