是Jetspeed默认的本地 Portlet Container实现,它是一个完全符合JSR-168规范的Portlet容器实现,其前身为IBM捐赠的源代码,因此我们至今还能够在 WebSphere Portal 5.1.1中看到它的身影。这里要注意本地的意思是指运行在该Portlet容器里的Portlet应用程序在物理上与Portal在同一个JVM进程中。
WSRP-4j是WSRP规范的JAVA实现,目前该项目还处在孵育状态,尚未吸引到足够多的开发者的兴趣。其实,我个人认为这是一个很有前途的技术发展方向,它可以提供类似Html IFrame这样速成的内容抓取能力。Jetspeed已经为WSRP-4j预留了远程Portlet Container的配置选项。
Graffito是用于构建内容管理应用程序的框架,从它自身的架构设计上来看应该是一个独立平台,但事实上该项目复用了大量Jetspeed的模块,并且其表现层为发布到Jetspeed上的几个Portlet应用程序,因此,我在上面的架构图中,将它放在了Jetspeed之上。该项目目前也处在孵育状态下,由于其该项目目前不太活跃,那几个Portlet应用程序都有些小问题。
企业级的门户实现--Jetspeed
产品特性
标准
- 完整兼容Java Portlet API标准1.0(JSR-168)
- 通过JSR-168规范兼容性测试
- 基于JAAS标准的认证和授权服务(默认支持数据库的实现)
- 基于LDAP的用户认证
体系架构
- 基于Spring Framework的组件架构
- 灵活可配置的请求通道(通过Spring Bean XML配置)
- Portlet应用发布单元热部署
- Jetspeed AJAX XML API(基于著名的开源AJAX Framework - DOJO)
- 扩展的Portlet页面结构语言(支持持久化到文件或数据库)
门户核心特性
- 声明风格的安全约束
- 基于角色的Portlet安全方面的API
- 门户内容管理和导航,包括页面、菜单、文件夹和超链接
- 单线程或多线程的内容聚合引擎(通过Spring Bean可以轻易切换)
- 高度可扩展的Jetspeed 单点登陆服务框架
- 基于权限和规则的门户页面和资源定位配置
- 支持所有主流的数据库,包括:Derby、MySQL、MS SQL、Postgres、Oracle、DB2、 Hypersonic
- 不依赖客户端类型的capability engine (html, xhtml, wml,vml)
- 多语言支持(12国语言,包括简体中文和繁体中文),而且完全可扩展
- 完整的性能统计日志引擎
- 利用著名开源搜索引擎Lucene提供对所有门户资源的全文本检索和元数据搜索服务
- 用户注册服务和忘记密码的邮件通知服务
- 丰富的登陆密码配置策略
门户管理
- 用户,角色,用户组,密码和Profile管理
- JSR 168协议规范定义的用户属性编辑器
- 门户页面管理
- 单点登陆服务管理
- Portlet应用程序管理
- Profiler管理
- 门户性能统计报告
对Web框架的支持和例子Portlets
- 通过Bridges项目支持几乎所有的主流Web Framework与Jetspeed门户的整合,包括:JSF(Sun的标准JSF实现和Apache MyFaces)、Apache Struts、PHP、Perl、Velocity
- 例子Portlet包括:RSS、IFrame(通过Jetspeed SSO API还可以支持SSO效果)、日历、书签。
- 支持Spring MVC
用户个性化
- 门户页面管理
- 页面用户定制(包括增删查改门户页面,页面的风格,Portlet框体风格,Portlet的位置,Portlet的布局等等)
- 支持两种门户定制风格,包括传统的基于页面刷新的风格和基于AJAX技术的风格
门户设计
- 支持Portlet和Portal页面皮肤的打包发布
- 基于CSS技术的可配置布局
- 支持Velocity模版引擎
门户开发工具
- 支持Maven 1.x和Maven2.0.x,部分功能支持Ant脚本
- 支持通过Maven插件生成自定义门户基础框架
- 热部署Portlet应用发布单元和门户资源
- 支持通过API调用的方式部署Portlet应用发布单元
- 支持Eclipse3.2.x开发环境
应用服务器
- Apache Tomcat 5.0.x
- Apache Tomcat 5.5.x
- IBM WebSphere Application Server 5.1/6.0
- JBoss
- Geronimo 1.0(非官方支持,详见:JS2-444)
架构体系
本节将从Jetspeed和Spring的关系,运行时架构以及Jetspeed service架构这三方面详细介绍Jetspeed的架构体系。
Jetspeed和Spring
Jetspeed架构体系最大特点,也是其高度可订制的根基就是,它选用著名开源POJO框架Spring作为其底层实现。在项目之初, Jetspeed的开发者们也面临着Spring和PicoContainer的抉择,但事实证明当初的选择是正确的,因为随着Spring不断成长完善,Jetspeed的组件架构也跟着收益良多。从另一个角度来看,Jetspeed也可以作为利用Spring构建自己产品架构的经典范例,值得我们考察和学习。
下图简单描述了目前Jetspeed对Spring的依赖关系:
图二 Jetspeed使用到的Spring组件
Beans BeanFactory and the ApplicationContext
Jetspeed主要使用了Spring最核心的IoC引擎BeanFactory和ApplicationContext,管理所有 Jetspeed Components的生命周期和依赖关系,所有这些组件的Spring声明全部定义在名为assembly的文件夹中的XML文件里。如果第三方开发者认为默认的Jetspeed组件不足以满足要求,只要按照自己需求编写Jetspeed Component的Interface的实现类,然后修改Spring Bean XML定义,就可以轻易替换掉默认的实现。例如:
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页 1 23 4 5 6 7 8 下一页
上一篇:LVM 五分钟教程 下一篇:深入Linux PAM 体系结构
|