Celix, OSGi in C
来源:互联网 发布:淘宝旗舰店会有假货吗 编辑:程序博客网 时间:2024/05/23 11:31
celix的目标是用C来实现OSGi规范,原生OSGi是用Java实现的,虽然概念上没有差别,但是c语言实现起来相对会更难一些。参考原生的Java版本OSGi,C语言版本OSGi需要解决如下问题:
服务接口(Service Interfaces)
原生OSGi使用Java接口类(Interface)来描述和开放(expose)接口,这样就可以不用开放服务实现的细节。C语言中可以在头文件中描述服务,但是,却不能开放服务接口。为达到Java Interface类似的功能,定义了一个包含函数指针的结构体,其中指针由激活器(Activator)来初始化,然后结构体对象被当做服务来进行注册。
部署(Deployment)
原生OSGi使用bundle(实际上就是jar文件)来部署一个或多个服务。bundle中包含了库(library)、资源(resource)和一个manifest文件(用来描述bundle的内容)。但是在C的库中只包含源码编译出来的目标文件(objects),没发加入资源和manifest文件。为在C中实现bundle类似文件,使用zip压缩方式,对库、资源等文件进行打包。
导出包(Exported Packages)
原生OSGi使用包(package)来导出服务和类型。由于C中没有包和命名空间(namespace)的概念,也就没发通过一个包来导出一组服务。C语言中额外定义了一些宏定义来表示包的导出。
*参考链接*
* http://incubator.apache.org/celix/background.html
- Celix, OSGi in C
- OSGI in EclipseCon 2007
- my osgi in action3
- Create OSGi Bundle in STS
- OSGI 进阶学习——《OSGI In Practice》 阅读总结
- 【OSGI】2.走近OSGI-开发第一个Plug-in项目
- OSGI bundle in android 开发小工具
- Spring Framework: Using DataSource in OSGi
- Osgi
- OSGi
- osgi
- OSGI
- OSGI
- OSGI
- OSGI
- OSGI
- OSGI
- OSGI
- Java 2 引用类使用指南
- Java实现队列
- HTML编辑器 -- CKEditor4.2(工具栏配置等)与CKFinder2.3整合(上传文件)
- Building a Jabber Client for iOS: Custom Chat View and Emoticons
- HTTPWatch工具简介及使用技巧【转】
- Celix, OSGi in C
- 大数据处理思想
- java设计模式---迭代器模式
- C++求两点间距离详讲
- python之加密解密模块pycrypto
- 使用/proc/${pid}/mem访问其他进程的内存变量
- android 基础知识 十七
- Java 理论与实践
- PLSQL批量Forall操作性能提升详解