金色坐标

关注互联网和IT科技的个人博客

« 借助扩需机遇国家悄然加快IPv6网络建设2008年网络雷人词汇小结 »

从Eclipse,Equinox和OSGI看插件式Plug-in项目开发

插件式程序开发其实是一个比较模糊的概念,因为真正以插件模式完成一个大型系统的开发之后,插件和模块的区分就变得比较困难。二者都在专注于松耦合,系统可拆分,可重组重用等,如果非要突出插件化,那么除了可以认为插件比模块更独立化,并且其运行要基于一个核心模块外,更多的其实在于系统设计与开发方式的转变。


插件式程序开发,系统设计有别于传统方式,其更专注于核心运行平台和架构的搭建,而在核心平台完成之后,单个插件的开发就更专注于插件自身功能的实现,以及插件与核心平台的对接设计上,而不必过多的考虑与其它模块的易融合性。从开发方式和运行情况来看,其粗略地表现在每个插件基本上都是一个独立的项目,而运行时全部插件虽然是一个整体,但是每个插件的类加载都是独立的,这和一般的模块化系统是有所区别的。


另外,插件概念和现存的SOA等系统架构概念并不是对立的,相反,插件式程序开发更多的是为了更方便的去实现这些系统架构设计。而在插件式程序开发中,以前实现大型系统需要关注的那些问题,例如数据持久化,系统MVC设计等,同样需要去关注和解决,插件化程序开发并不能使得这些问题迎刃而解,它只是使得这些问题的解决变得相对容易,或者是将这些问题影响的范围进行了隔离。


其实插件化程序开发理念出现的很早,最现实可见的例子就是开源IDE软件Eclipse,但是由于开发难度原因,插件化程序开发最早只在一些移动平台和嵌入式设备中得到实验。最近的热度骤起,其实还是来源于Eclipse 的带动。


Eclipse的插件机制在最新的版本中得到了重新实现,其实现的基础是基于OSGI的Equinox框架,而基于OSGI的Equinox框架,是开源的并被设计为用于帮助各种软件进行插件式开发的。并且在Eclipse中,已经加入了Plug-in项目的开发支持,使得基于插件式进行系统开发变得更加可行和易于上手。


至于OSGIEquinox,目前也正在日新月异,等其对B/S架构系统的开发支持度达到一定高度的时候,就是其大行其道的时候。




原创文章,如转载请注明:转载自金色坐标 [ http://www.kingxy.com/ ]

本文链接地址:http://www.kingxy.com/archives/57.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅
  • 本站支持WAP访问

Search

Google

最新评论及回复

最近发表

金色坐标博客——京ICP备09009094号

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.
KingXY Blog - This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.