My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置:> Bea专区 > WebLogic Portal
从开发到生产过程中的门户资源同步
作者:佚名 时间:2005-10-19 16:30 出处:互连网 责编:小渔
              摘要:在最近的WebLogic Portal POC(proof of concept,概念验证)中,在生产模式下运行的门户集群上部署了门户应用。基于生产中的.portal文件建立了桌面。在POC的进行过程中,不断建立了新的portlet、页面、外观(skins)和用户概要文件,同时修改现有的书册、页面和portlet。结果,门户应用程序被重建到一个ear文件中,接下来这个ear文件被重新部署到生产门户集群中。

在最近的WebLogic Portal POCproof of concept,概念验证)中,在生产模式下运行的门户集群上部署了门户应用。基于生产中的.portal文件建立了桌面。在POC的进行过程中,不断建立了新的portlet、页面、外观(skins)和用户概要文件,同时修改现有的书册、页面和portlet。结果,门户应用程序被重建到一个ear文件中,接下来这个ear文件被重新部署到生产门户集群中。

然而,问题很快产生了。新建的文件没有被加入到门户资源库中(因此也就无法在Portal Admin Console和我们的桌面上看到)。修改过的门户资源也没有得到更新。即使重新启动生产门户服务器实例这个问题也依然存在。

由这个问题引出了一系列实验。基于这些实验,本文论述了对开发与生产过程中的门户资源同步机制的理解,并给出了一些如何管理门户资源的建议。

1:这里的同步指按照门户应用程序(ear或目录)中依次定义的资源来建立或更新门户数据库中的门户资源。

2:这里的生产模式既指生产模式下运行的单一的门户服务器,也指生产模式下运行的门户集群。在集群这种情形中,门户应用程序的部署必须按照http://edocs.bea.com/wlp/docs81/deploy/deploy.html中的官方部署指南来进行。任何背离该建议部署结构的做法都将导致资源同步的不协调。

Portal资源的类型

从同步的观点来看,门户资源有三种类型:

1.  Data Project中的资源

这类资源包括用户概要文件、请求的属性集、事件等等。这些资源必须在WebLogic Workshop中创建。在开发模式下,资源会自动从Workshop到开发门户服务器达成同步。在生产模式下,这些资源必须通过DataSync servlet实现人工同步。DataSync servlet的相关细节请参见http://edocs.bea.com/wlp/docs81/deploy/deploy.html#1003634门户应用的重新部署与生产门户服务器的重新启动不会导致这类资源的同步。

2.  仅能在Workshop中定义的门户网站项目的资源

这类资源包括外壳(shell)、外观(skins)、portlet等等,但不包括页面和书册。它们从workshop到开发portal 服务器是自动同步的。在生产模式中,同步仅发生在门户应用被重新部署或生产服务器重新启动的时候。

3.  门户桌面、书册和页面

workshopPortal Admin Console中都可以定义门户桌面(.portal文件)、书册和页面。然而workshop中所定义的仅仅是一些模板,而不是真正的桌面、书册和页面。Portal Admin Console中定义的才是真正的桌面、书册和页面。从桌面模板(.portal文件)创建桌面的时候,Portal Admin Console会从.portal文件的模板中自动创建真正的书册和页面。桌面、书册和页面一旦建立,就同它们的模板不再有任何关系。这意味着即使重新部署portal应用或重新启动生产门户服务器,生产门户桌面、书册和页面也不会受到模板更新的影响。这对于开发服务器或生产服务器都适用。

建立桌面、书册和页面的策略

在生产门户服务器中建立桌面、书册和页面有以下两种方法:

1.  .portal文件中建立桌面,再由模板自动生成书册和页面。

这是一种最常用的建立桌面的方法,这种方法即快捷又简单。但是这种方法也存在一定的缺点:在反复的开发周期中,桌面、书册和页面常常与其模板不同步。

为保持同步,您可以删除现有的桌面,然后在更新的.portal文件中重建桌面(在Portal Admin Console中选择覆盖现有资源选项)。但这样做有一个致命的缺点,桌面、书册和页面的所有授权(entitlement)和定制(customization)都将丢失。

一种可以代替删除并重建现有桌面的更好的方法是从更新的.portal文件中建立一个全新的桌面,并选择覆盖现有资源选项。然后,删除新建的桌面。采用这种方法,现有的桌面、书册和页面都采用最新的模板进行了更新。对其应用的授权规则可以得到保存。然而,定制仍将丢失。定制的丢失不是很重要,因为它对于您可以定制的东西来说是非常有限的。所以,建议在实际中采用这种方法的时候,不要在控制台中定制桌面、书册和页面,而应该在workshop中进行定制。

2.  Portal Admin Console中手动建立桌面、书册和页面

采用这种方法可以避免第一种方法中存在的不同步问题。然而,这种方法需要大量的手动工作来构建这些资源并合理地安排它们。另一个缺点(在我看来是致命的缺点)是在Portal Admin Console中用模板建立书册和页面的时候,无法顺利地将后台文件列入书册和页面中。

最后,希望本文能给本领域的工作人员一个关于开发和生产环境中的WebLogic Portal的资源同步的全面的概述。当然,本文还有错误和疏漏。请将问题或意见发至siming.mu@bea.com

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有