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

Apache 门户项目组介绍

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

Jetspeed Portlet Extension Service

前面介绍了实现架构和运行时架构,接下来我们一起来看看Jetspeed为Portlet应用提供的Jetspeed Service架构。假如了解JSR-168规范的研发者就会知道,这个规范是基于Servlet 2.3规范基础上的一个简单扩展,因此并没有对Portlet研发提供任何特别的支持。因而每家Portal厂商都提供了自己的扩展。

Jetspeed 提供的扩展方式跟很多厂商对Servlet规范的扩展相同,定义了一个名为jetspeed-portlet.xml的文档,作为标准的 portlet.xml的扩展。只要您在打包发布portlet应用时将这个文档和portlet.xml放在一起,Jetspeed的发布程式就会自动读取这个文档,并根据其内容执行一系列的操作。他们的关系如同BEA Weblogic应用服务器里面的weblogic.xml和web.xml;JBoss应用服务器里面的jboss-web.xml和web.xml。

下面我们来看看这个文档的格式:


<portlet-app id="j2-admin" version="1.0"

            xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"

            xmlns:js="http://portals.apache.org/jetspeed"

            xmlns:dc="http://www.purl.org/dc">

            <js:services>

            <js:service name="ApplicationServerManager" />

            <js:service name="DeploymentManager" />

            <js:service name="EntityAccessor" />

            <js:service name="GroupManager" />

            <js:service name="PageManager" />

            <js:service name="PermissionManager" />

            <js:service name="PortalAdministration" />

            <js:service name="PortletFactory" />

            <js:service name="PortalAdministration" />

            <js:service name="PortletRegistryComponent" />

            <js:service name="PortalStatistics" />

            <js:service name="Profiler" />

            <js:service name="RoleManager" />

            <js:service name="SearchComponent" />

            <js:service name="SSO" />

            <js:service name="UserManager" />

            <js:service name="HeaderResource" />

            </js:services>

            </portlet-app>

            

跟据XML Element的名字,能够理解就是提供给j2-admin这个Portlet应用程式使用的一些Services。那么这些Services是怎么定义的呢?以UserManager这个服务为例,首先回到前面提到过的assemble目录下,找到jetspeed-services.xml和 security-managers.xml,下面分别是他们的内容节选:

jetspeed-services.xml


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

            <!--

            Portlet Services

            -->

            <bean id="PortalServices"

            class="org.apache.jetspeed.services.JetspeedPortletServices"

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

            dependency-check="default">

            <constructor-arg>

            <map>

            <entry key="SearchComponent">

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

            </entry>

            <entry key="UserManager">

            <ref bean="org.apache.jetspeed.security.UserManager" />

            </entry>

            <entry key="PageManager">

            <ref bean="org.apache.jetspeed.page.PageManager" />

            </entry>

            </map>

            </constructor-arg>

            </bean>

            </beans>

            

security-managers.xml


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

            <bean id="org.apache.jetspeed.security.UserManager"

            class="org.apache.jetspeed.security.impl.UserManagerImpl" abstract="false"

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

            dependency-check="default">

            <constructor-arg>

            <ref bean="org.apache.jetspeed.security.SecurityProvider" />

            </constructor-arg>

            </bean>

            </beans>

            

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