我目前正在开发一个相当大的 Java 6 应用程序,我们希望将一些功能拆分到面向服务的架构中。
应用程序空间的主要 SOA 框架似乎是 OSGi,我一直在研究 Felix 和 Knopplerfish,但我想确保这不是我唯一的选择。
即使我们没有构建 Web 应用程序,为我们的应用程序使用 SOAP 等实际的 Web 服务协议(protocol)是否有意义?这还可以接受吗?
你们中有人在桌面应用程序中使用过 OSGi(Felix 等)的实现吗?如果是这样,进展如何?你还知道更好的吗?
我们对 SOA 都很陌生,因此我们将不胜感激。
最佳答案
我的公司广泛使用 OSGi,它对我们来说效果很好,因为我们可以对各种组件进行版本控制,并更好地控制每个组件公开的内容。
如果您希望在单独的硬件上运行不同的组件,那么使用 Web 服务(REST/SOAP/等)进行编写是有意义的。但是,从一个进程或网络向另一个进程或网络发送位,序列化/编码该数据以便可以发送,以及在另一侧执行相反的操作,都会造成性能损失。如果您认为这不会发生,那么就不要使用网络服务。
关于java - 哪种 SOA 架构最适合 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/976186/