Java开放源代码服务管理框架 [英] Java Open Source Framework for Service Management

查看:150
本文介绍了Java开放源代码服务管理框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在基于Java的大型分布式系统上工作,因此会在多台计算机上运行多种服务.....

Working on a Java-based large distributed system, so there will be multiple services running across multiple machines .....

正在寻找一个能够管理这些服务的开源框架(例如,启动/停止服务,远程安装新服务等)

Looking for an open source framework to be able to manage these services(e.g. start/stop a service, install a new a service remotely etc.)

Apache Karaf似乎是一个不错的选择,但在其下面使用的是apache felix(OSGi参考实现)捆绑包,我很难理解.特别是,在felix中定义和注册服务似乎很容易,但是如何远程调用此类服务​​?您是否需要一个单独的RPC机制来实现这一目标?似乎很少有链接来描述它.一般来说,人们如何使用OSGi? Apache felix已经过时了吗?

Apache Karaf seems to be a good choice, but underneath it uses apache felix (an OSGi reference implementation) bundle which I have a hard time to really understand. In particular, it seems to be easy to define and register a service in felix, but how do you invoke such a service remotely? Do you need to have a separate RPC mechanism to achieve that? There seems to be very few links describe it. In general how do people use OSGi? Is Apache felix out of date?

假设我将拥有自己的RPC层(例如基于RMI或基于Netty)的任何其他可用于管理服务的框架吗?

Any other framework that can be used to manage services assuming I will have my own RPC layer (say RMI based or Netty based)?

推荐答案

我想您必须指定定义服务的方式. 有一些服务,例如使用RPC机制的远程服务,例如EJB远程调用. 定义服务的另一种方法是使用SOAP(XML)或JAXRS(JSON)作为传输协议来谈论Web服务.在OSGi中有服务的定义,这仅意味着将API(服务定义)和实现分开.总结起来,您可以将OSGi定义为同一VirtualMachine中应用程序的SOA. (它提供了更多的东西,但这是从服务的角度来看它的一种方法)

I guess you have to specify the way you define a service. There are services, like remote services that use RPC mechanism, for example EJB remote calls. Another way to define services is to talk of Web-Services, either using SOAP(XML) or JAXRS(JSON) as transport protocol. And there is the definition of services in OSGi which just means a separation of API (service definition) and implementation. As sum-up you could define OSGi as a SOA for Applications within the same VirtualMachine. (it gives much more, but this is one way to look at it from a service perspective)

Apache Karaf是OSGi服务器,可与Application Server媲美,仅适用于OSGi应用程序.它在可选择的OSGi框架之上带来了许多便利技术.那可能是Apache Felix或Eclipse Equinox.两者都是提供基本OSGi基础结构的OSGi框架-同一JVM中的SOA.
现在,它还有许多其他好处,例如启动和停止服务,更新服务.

Apache Karaf is a OSGi server that is comparable to a Application Server, only it works for OSGi applications. It brings a lot of convenience technologies on top of a choosable OSGi framework. That would be either Apache Felix or Eclipse Equinox. Both are OSGi frameworks that provide the basic OSGi infrastructure - SOA in the same JVM.
Now there are a lot of other benefits of it, like starting and stoping services, updating services.

例如,通过将OSGi-Services与CXF结合使用,可以轻松实现RPC.可以轻松地将其配置为将OSGi服务导出为CXF服务. (这是非常针对Karaf/CXF的)

Taking the RPC into account this can easily be achieved, by combining OSGi-Services with CXF for example. It can easily be configured to export an OSGi service as CXF service. (this is very Karaf/CXF specific)

Apache Karaf本身还支持与Apache Karaf Cellar进行群集,Apache Karaf Cellar还提供DOSGi服务,以便在群集组之间更轻松地进行服务通信. DOSGi代表分布式OSGi,也可以通过使用CXF和许多其他实现来实现.

Apache Karaf itself also supports clustering with Apache Karaf Cellar, which also provides a DOSGi service for easier communication of services across cluster groups. DOSGi stands for Distributed OSGi, which can also be achieved by using CXF and much other implementations.

通常,Apache Felix和OSGi都不是过时的.许多Java EE应用服务器将OSGi作为其模块化的基础技术,并且占用空间较小.
那是GlassFish,Websphere,Geronimo等...

Apache Felix and OSGi in general are far away of being out-of-date. A lot of Java EE Application servers use OSGi as their underlying technology to be modular and have a smaller footprint.
That would be GlassFish, Websphere, Geronimo etc...

这篇关于Java开放源代码服务管理框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆