使用NetBeans6开发OSGi应用(2)——SecondOSGi[88250原创]
2008-02-14 21:02
399 查看
转载请保留作者信息:
作者:88250
Blog:http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:DL88250@gmail.com
daniel@daniel-laptop:~/Work/knopflerfish_osgi_2.0.4/knopflerfish.org/osgi$ java -jar framework.jar
打开构建好的SecondOSGi.jar以及SecondOSGiClient.jar,运行!
从设计的角度:一个可扩展的Service-Oriented组件服务模型
-launch
-istart /home/daniel/Work/Sources/Java/SecondOSGi/dist/SecondOSGi.jar
-istart /home/daniel/Work/Sources/Java/SecondOSGiClient/dist/SecondOSGiClient.jar
然后,进入KF的安装目录,启动我们的应用:
现在,我们只是脱离了KF的图形界面控制中心,在命令行下面启动的KF框架,并把SecondOSGi与SeondOSGiClient安装运行在KF框架里。一切的主动权还是在KF手里。
结合以前JavaEE的实践,JSP/Servlets,EJBs不都是被控制在容器(container)里的吗?
不过,话又说回来了,我希望自己的框架应用构建于OSGi之上,而不是之内。
之内的部分应该是可扩展的Plug-ins部分,让OSGi作为底层框架,为我们提供稳定的插件机制。
之外的部分应该是我们应用的框架,构建在OSGi之上。对OSGi做一个封装,就KF而言,就是封装它的命令接口,让我们的框架可以对插件随时安装、卸载、运行、停止、更新。。。。
当然,以上是个设想,学习OSGi第二天的设想。。。。
总之不足的地方很多,要把这个示例慢慢演化成正真具有价值的应用可能还需要一些时间。
作者:88250
Blog:http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:DL88250@gmail.com
摘要
上一次,我们了解了OSGi的背景并使用NetBeans6,基于Knopflerfish(OSGi的一个RI) 完成了第一个OSGi应用——FirstOSGi。这一次,我们将对OSGi进行深入一点学习——SecondOSGi,让我们掌握Bundles之间的调用!准备
同上一次 :-)开工:
1. 创建工程
打开NetBeans6 IDE,创建两个普通的Java App——SecondOSGi、SecondOSGiClient。把KF下的Sources拷贝到两个工程下(记得加入asm3.0的Jar):daniel@daniel-laptop:~/Work/knopflerfish_osgi_2.0.4/knopflerfish.org/osgi$ java -jar framework.jar
打开构建好的SecondOSGi.jar以及SecondOSGiClient.jar,运行!
总结
这一次,我们对OSGi的了解更深了一步。从设计的角度:一个可扩展的Service-Oriented组件服务模型
从开发的角度:我们发布接口给客户,实现了“针对接口编程”的OO核心实践
不足之处
我们一直都是在KF的控制台下启动的应用,如何做成独立的(standalone)可运行的Jar发布呢?1. 在命令行下启动OSGi框架
首先,编写一个启动参数文件:secondosgi.xargs-launch
-istart /home/daniel/Work/Sources/Java/SecondOSGi/dist/SecondOSGi.jar
-istart /home/daniel/Work/Sources/Java/SecondOSGiClient/dist/SecondOSGiClient.jar
然后,进入KF的安装目录,启动我们的应用:
现在,我们只是脱离了KF的图形界面控制中心,在命令行下面启动的KF框架,并把SecondOSGi与SeondOSGiClient安装运行在KF框架里。一切的主动权还是在KF手里。
结合以前JavaEE的实践,JSP/Servlets,EJBs不都是被控制在容器(container)里的吗?
不过,话又说回来了,我希望自己的框架应用构建于OSGi之上,而不是之内。
之内的部分应该是可扩展的Plug-ins部分,让OSGi作为底层框架,为我们提供稳定的插件机制。
之外的部分应该是我们应用的框架,构建在OSGi之上。对OSGi做一个封装,就KF而言,就是封装它的命令接口,让我们的框架可以对插件随时安装、卸载、运行、停止、更新。。。。
当然,以上是个设想,学习OSGi第二天的设想。。。。
总之不足的地方很多,要把这个示例慢慢演化成正真具有价值的应用可能还需要一些时间。
相关文章推荐
- 使用NetBeans6开发OSGi应用(2)——SecondOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(2)——SecondOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(2)——SecondOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(3)——整合Knopflerfish![88250原创]
- 使用NetBeans6开发OSGi应用(1)——FirstOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(4)——Servlet与Http服务[88250原创]
- 使用NetBeans6开发OSGi应用(1)——FirstOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(4)——Servlet与Http服务[88250原创]
- 使用NetBeans6开发OSGi应用(1)——FirstOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(4)——Servlet与Http服务[88250原创]
- 使用NetBeans6开发OSGi应用(1)——FirstOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(1)——FirstOSGi[88250原创]
- 使用NetBeans6开发OSGi应用(3)——整合Knopflerfish![88250原创]
- 使用NetBeans6开发OSGi应用(3)——整合Knopflerfish![88250原创]
- 使用NetBeans6开发OSGi应用(3)——整合Knopflerfish![88250原创]
- 使用NetBeans6开发OSGi应用——整合Knopflerfish
- [置顶] OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)
- OSGI企业应用开发(五)使用Blueprint整合Spring框架(二)
- OSGI企业应用开发(五)使用Blueprint整合Spring框架(二)
- [置顶] OSGI企业应用开发(五)使用Blueprint整合Spring框架(二)