我正在考虑将Python和C / C ++结合起来,以取代SW架构中有关OSGi + Java + JNI + C / C ++的原始概念。
我绝对不需要替换诸如Felix或Equinox之类的OSGi框架的所有功能。
我在Python代码中真正需要的是:
应用层模块化的促成因素 基于组件的应用程序框架 服务/组件的中央注册表 非常轻巧的框架,它将在嵌入式设备上运行(尽管有足够的RAM) 您能为这样的Python框架提供建议吗?
我认为OSGi提供的许多内容都与Java的体系结构密切相关:其类加载器和类型安全性。实施服务注册表应该不会太难,但是要以OSGi的准确性进行管理几乎是不可能的。显然,除非您将模块移到单独的进程中,否则OSGi提供的多个名称空间的功能在Python中将无法使用,这将需要更昂贵的进程间通信才能进行模块间通信。您可以从基于本地的Apache Celix开始,但是我对它的实用程序也有类似的疑问,因为本地代码没有提供很多有关其依赖项的信息。
通用OSGi的初衷是更通用的解决方案。在此模型中,您将OSGi框架保持原样用于部署和管理。但是,您创建的处理程序包可以映射用其他语言编写的包。例如,Python处理程序或C ++本机。处理程序会将本地服务注册表模型映射到OSGi服务注册表。由于OSGi服务注册表已正确触发,因此这很容易做到。本机处理程序将映射捆绑事件,例如启动/停止,以指示操作系统启动/停止本机代码。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。