手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Apache 门户项目组介绍

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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组件
图二 Jetspeed使用到的Spring组件

Beans BeanFactory and the ApplicationContext

Jetspeed主要使用了Spring最核心的IoC引擎BeanFactory和ApplicationContext,管理任何 Jetspeed Components的生命周期和依赖关系,任何这些组件的Spring声明全部定义在名为assembly的文档夹中的XML文档里。假如第三方研发者认为默认的Jetspeed组件不足以满足需要,只要按照自己需求编写Jetspeed Component的Interface的实现类,然后修改Spring Bean XML定义,就能够轻易替换掉默认的实现。例如:


Jetspeed SearchEngine Component Definition

<beans default-lazy-init="false" default-dependency-check="none"

            default-autowire="no">

            <!--

            SEARCH COMPONENT

            -->

            <bean id="org.apache.jetspeed.search.SearchEngine"

            class="org.apache.jetspeed.search.lucene.SearchEngineImpl" abstract="false"

            singleton="true" lazy-init="default" autowire="default"

            dependency-check="default">

            <constructor-arg index="0">

            <value>${applicationRoot}/WEB-INF/search_index</value>

            </constructor-arg>

            <constructor-arg index="1">

            <null />

            </constructor-arg>

            <constructor-arg type="boolean">

            <value>true</value>

            </constructor-arg>

            <constructor-arg>

            <ref bean="org.apache.jetspeed.search.HandlerFactory" />

            </constructor-arg>

            </bean>

            </beans>

            

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!