We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
我的公司广泛使用 OSGi,它对我们来说效果很好,因为我们可以对各种组件进行版本控制,并对每个组件公开的内容有更好的控制。
如果您希望在单独的硬件上运行不同的组件,那么使用 Web 服务(REST/SOAP/等)进行编写是有意义的。 但是,从一个进程或网络向另一个进程或网络发送位,序列化/编组该数据以便可以发送,以及在另一侧执行相反的操作,都会造成性能损失。 如果您认为这种情况不会发生,那么就不要使用网络服务。
My company uses OSGi extensively, and it works well for us, in that we can version various components and have greater control over what gets exposed from each component.
If you envision ever wanting to run different components on separate hardware, then writing using web services (REST/SOAP/etc) makes sense. But there's a performance penalty in both sending bits from one process or network to another,and serializing/marshalling that data so it can be sent, and doing the opposite on the other side. If you don't ever think that will happen, then don't use web services.
我们使用 Eclipse RCP 作为我们的应用程序平台,它基于 OSGi (Equinox)。 我们的应用程序使用 Eclipse 插件以及纯 OSGi 包。 在我们的例子中,我们的服务既是应用程序的本地服务,也是 Java EE 服务器的远程服务(通过 Spring Remoting)。
就您而言,OSGi 可能对您的应用程序有意义,但远程服务协议则不然。
此外,桌面应用程序本身不被视为SOA。 您只需将应用程序组件化,这是一件好事。
We use Eclipse RCP as our application platform, which is OSGi based (Equinox). Our application makes usage of both the Eclipse plugins as well as pure OSGi bundles. In our case we have services that are both local to the application as well as remote (via Spring Remoting) to Java EE servers.
In your case, OSGi may make sense for your app, but remote service protocols don't.
Also, a desktop application on its own is not considered SOA. You are simply componentizing your application, which is a good thing.