- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《苏占玖:开放式插件系统研究》.pdf
开放式插件系统研究
北邮网络教育学院苏占玖
主要内容
• 插件系统概念
• 插件系统主要类型的架构和特点
• 基于Java Portal标准的插件框架
• 基于OpenAPI的插件系统
• 基于OSGI的插件系统
• 选择插件架构
插件系统概念
• 也称为扩展,是一种遵循一定规范的应用程序接
口编写出来的程序,用来构建高扩展性的软件系
统
• 对于系统来说并不知道插件的具体功能,仅仅是
为插件留下预定的接口,系统启动的时候根据插
件的配置寻找插件,根据预定的接口把插件挂接
到系统中
• 是软件代码的一种高级封装和复用形式
– 控件组件是面向开发者的
– 插件是面向最终用户
• 常见如Firefox插件、IE插件、Eclipse插件
开放式平台引入插件的必要性
• 软件系统需求多样,开放式平台要求高扩
展性。
• 用户可选择使用或不使用哪些插件
• 第三方开发方便,在系统发布后进行功能
扩充,不必重新编译,只需遵循接口规范
开发新的插件。
• 利于模块化的开发方式。可以开发强大的
插件管理系统,这样可以不需修改基本系
统,仅仅使用插件就能构造出各种各样不
同的系统,真正的可组装。
主要类型
• 微内核级联树形结构
– Eclipse、Atlassians JIRA Confluence
• 巨内核(管理容器)并联结构
– Sakai等Java Portal 的形式、校内网等SNS站
点
微内核
• 特点:扩展点
– Eclipse的插件结构是由父插件管理子插件,插件之间由扩展点连接,
最终形成树形的结构。Eclipse是众多扩展点和扩展共同组成的集合
体。
• 界面呈现
– 界面呈现方式由提供扩展点的父插件来决定。
• 插件交互
– 插件之间的交互通过扩展点实现。父插件调用子插件实现的扩展点来
触发子插件的动作。扩展点决定交互模式。
• 依赖关系
– 在配置文件中指定插件运行需要依赖的插件,在装载过程中会按照依
赖的关系顺序来装载。
• 延迟加载
– 只有在调用执行动作的时候才会将真实的插件对象加载进来。由于在
配置文件中已经描述了插件的一切信息,所以在不装载插件时,也可
在父插件的界面上将扩展的功能显示出来。
微内核扩展点形成的系统结构
• 此类系统插件用扩展点
的机制连接起来,形成
如图所示的系统结构。
插件必须实现扩展点,
以此插入到系统中,新
增扩展点并不是必须的,
但只有新增了扩展点的
插件才可以被别人扩展。
巨内核
• 界面呈现
– 由系统运行框架决定,框架来决定支持几种显示模式。
通过配置文件可以在现有的模式之上随意组合形成复
杂的界面。在这个过程中插件并不关心自己被放在什
么地方,或者以什么形式呈现。
• 插件关系
– 由系统框架(关系管理器)统一管理,插件本身不需
要维护交互信息,只有在需要的时候才会从关系管理
器取得。
• 依赖关系一般没有管理。
对比
• 微内核
– 只有很小的运行框架核心,职责和功能简单,构成系
统的几乎都是插件。由父插件负责管理子插件。可扩
展性更强。内核可以比作一粒种子,整个系统为级联
的树形结构。
• 巨内核
– 系统运行框架比较复杂,它需要管理所有的插件,管
理界面布局策略、导航、插件代理等职责。好处在于
插件非常简单,只需要将业务部分用统一的接口公布
出来就可以,开发时不需要考虑和其他插件的关系。
插件为并联结构横向扩展。
基于Java Portal标准的插件框架
• Portal
– 提供包括内容聚合、单点登陆、个性化定制和安全管
理等服务
• JSR 168和JSR 286
– 本地Portlet规范,是部署在容器内用来生成动态内容
的Web 组件
• WSRP
– 是Web Services for Remote Portlets规范,它定义
了门户网站的远程Web 服
文档评论(0)