WebCenter Process Spaces

什么是WebCenter Process Spaces?

从业务上来讲,WebCenter Process Spaces就是将Oracle BPM(业务流程管理)与Oracle BPA(业务流程分析)产品的交互界面融入到WebCenter协作门户之中的桥梁。用户无需在不同的界面中切换即可访问相应服务,同时,还可以通过WebCenter强大的E2.0服务提高员工的工作效率与实现知识分享。从技术上讲WebCenter Process Spaces就是在WebCenter中预先配置好的两个Spaces:Modeling Space与Process Space以及其它配套服务。

为什么需要WebCenter Process Spaces?

那么她存在的意义是什么呢?我们可以设想,无论是业务流程的分析过程,还是业务流程参与过程的每个阶段,用户的工作并不是孤立的,不免要与人员、流程、非关系型数据发生关系。例如:员工处理待办时遇到问题,有的员工习惯打开即时聊天工具直接与其它员工即时交流沟通;有的员工喜欢在公司的论坛上与他人深入交流查找答案;也有的员工更习惯查找相关资料或查看维基自己解决问题。当问题解决了,员工可能希望借助博客分享自己的经验。所有这些服务这些都是为了增强员工间交流与实现企业的知识分享,最终实现提高员工的工作效率与企业的知识积累。我们发现,所有这些需求,通过单一的BPM产品很难完全解决问题,而以上所涉及的这些需求又恰恰是WebCenter的强项,因此,WebCenter Process Spaces应运而生,她象是胶水,将BPM与BPA胶合在一起,嵌入到WebCenter容器中,她更象是一个门面,让用户通过单一用户体验界面即可访问不同的服务。

如何配置WebCenter Process Spaces?

首先需要说明的是:

  • WebCenter 与BPM 可以配置在一个域中,也可以配置为各自的域。
  • WebCenter 域与BPM 域可以在一台物理机器也可以分布在不同的物理机器
  • 如果WebCenter 与BPM 配置在不同的域中,需要为这两个域配置信任域

由于硬件环境限制,以下示例以单域配置。

1. 创建域

注意在创建域之前应该先想清楚你需要哪些服务,例如:是否需要配置Paglet Producer服务器或Portlet Producer服务器,尽量避免配置不必要的产品。

运行域置向导,在“选择域源”页中选择以下产品(我的配置为例):

  • Basic WebLogic Server
  • Oracle BPM Suite
  • Oracle WebCenter Spaces
  • Oracle SOA Suite
  • Oracle Universal Content Management
  • Oracle Enterprise Manager
  • Oracle WebCenter Discussion Server
  • Oracle WSM Policy Manager
  • Oracle JRF

其它步骤略:参见《如何配置WebCenter Domain》

注:为避免带来后续配置不必要的麻烦,建议创建域时,为每个被管理服务器指定机器名或IP地址

2. 扩展域

在线文档中描述:

On the “Select Extension Source” screen, select Extend my domain
automatically to support the following added products and select Oracle
BPM Spaces
from the list of available products.

注:上文中指的Oracle BPM Spaces根本不存在,此处是个bug,通过以下步骤修正:

再次运行域配置向导,在“选择域源”页中,选择“将此域基于一个现有模板”,点击“浏览”选择:%WC_ORACLE_HOME”%\common\templates\applications\oracle.bpm.spaces_template_11.1.1.jar。

其它步骤略

3. 配置脚本

将目录%SOA_ORACLE_HOME”%\bpm\process_spaces复制到任意位置,例如:d:\process_spaces

修改目录中的配置文件:process-portal-install.properties,以我的配置文件为例:

################################################
# BPM Process Portal installation properties   #
################################################
#Flag to decide whether to extend existing BPM domain or create a new one.
extendSoa=true
#Flag to decide whether to prompt for passwords or read them from this file
promptForPasswords=false
#BPM Schema details
bpmDBUser=DEV_SOAINFRA
bpmDBPassword=welcome1
bpmDBType=ORACLE
bpmDBDriver=oracle.jdbc.OracleDriver
bpmDBUrl=jdbc:oracle:thin:localhost:1521:orcl
#BPM MDS details
bpmMDSUser=DEV_MDS
bpmMDSPassword=welcome1
#BPM Runtime details
bpmHost=gniu-cn
#Managed server port if BPM is installed on managed server. Else admin port
bpmRuntimePort=8001
bpmAdminUser=weblogic
bpmAdminPassword=welcome1
#webcenter spaces installation details
wcOracleHome=s:/fmw/wc
#If extendSoa flag is set to true, then configure the below two properties to point to BPM domain
wcDomainName=wc_domain
#Flag to control whether to set domain realm password or not
wcSetDomainRealmPassword=true
#This is the password to setup trusted domains. Same password should be set on BPM domain as well
wcDomainRealmPassword=welcome1
wc.server.port=8888
#Webcenter's weblogic installation details
wcHost=gniu-cn
wcAdminPort=7001
wcAdminUser=weblogic
wcAdminPwd=welcome1
wcManagedServerName=WC_Spaces
#Flag to control whether to configure services
wcConfigServices=false
#content server details
wcContentServerName=gniu-cn
wcContentServerPort=4444
wcContentSpacesRoot=/WebCenterSpaces-Root
wcContentAdminUser=weblogic
#discussion server details
wcDiscussionServerUrl=http://gniu-cn:8890/owc_discussions
wcDiscussionAdminUser=weblogic

注:修改install.xml,查找:

<handler classname=”oracle.bpm.processportal.util.AntPasswordInputHandler”

classpath=”${wcOracleHome}/soa/modules/oracle.bpm.processportal_11.1.1/oracle.bpm.processportal.util.jar”/>

将oracle.bpm.processportal_11.1.1换为oracle.bpm.spaces_11.1.1,些处是个bug

4. 执行脚本

首先执行%WL_HOME%\server\bin\setWLSEnv.cmd加载必要类,在process_spaces目录下执行:

ant -f install.xml -DpromptForPasswords=true

重新启动所有服务器,然后执行如下脚本:

ant -f install.xml post-install -DpiArgs –importGSOnly

再次提醒,如果WebCenter 与BPM 配置在不同的域中,需要为这两个域配置信任域

5. 查看结果

process_portal

(完)

如何修改Oracle WebCenter Space文件上传尺寸限制

在WebCenter Space中上传文件时,提示最大文件为2G,但是如果上专的文件超过2M就会报错,上传失败,估计这是个小Bug,修改步骤如下:

执行%WC_HOME%/common/bin/wlst.cmd,执行如下命令:

connect( 'weblogic','welcome1','t3://gniu-cn:7001')
exportMetadata(application='webcenter',server='WC_Spaces',toLocation='d:/temp',docs='/oracle/webcenter/webcenterapp/metadata/webcenter-config.xml')

修改webcenter-config.xml文件,根据需要修改如下值

<webcenter:uploadedFileMaxDiskSpace>209715200</webcenter:uploadedFileMaxDiskSpace>

再次执行WLST命令

connect( 'weblogic','welcome1','t3://gniu-cn:7001')
importMetadata(application='webcenter',server='WC_Spaces',fromLocation='d:/temp',docs='/oracle/webcenter/webcenterapp/metadata/webcenter-config.xml')

无需重启,即可生效

(完)

如何创建WebCenter Portal Managed Server

我们可以通过两种方式使用WebCenter:一种是直接使用WebCenter Space,基本上开箱即用;另一种方式是通过JDeveloper创建WebCenter Portal应用,通过ADF开发门户应用。那么如何创建WebCenter Portal应用所需的服务器呢?

1. 创建常规WebCenter域,参见《如何配置WebCenter Domain》

2. 启动域创建向导

a. 选择:扩展现有的WebLogic域

b. 选择上一步创建的WebCenter域

c. 选择:使用现有的扩展模版扩展我的域,模板位置:%WC_HOME%/common/templates/applications/oracle.wc_custom_portal_template_11.1.1.jar

d. 配置JDBC组件方案,配置:

    • Custom Portal Activities Schema
    • Custom Portal WebCenter Schema
    • Custom Portal MDS Schema

e. 配置受管服务器:WC_CustomPortal,监听地址:机器名,端口默认:8892

f. 未说明步骤选择默认

通过JDeveloper开发的WebCenter Portal应用部署到WC_CustomPortal服务器。

(完)

WebCenter REST原理与配置

REST API

    • Discussions
    • Lists
    • People Connections
    • WebCenter Spaces
    • Content Management
    • Recommendations
    • Events
    • Feedback
    • Search
    • Tags
    • Navigation
    • Personalization
    • Pagelets

为什么使用REST API

主要基于以下场景:

    • 为WebCenter Portal与Spaces定制UI,如果你不想使用ADF,例如使用其它Ajax开发框架
    • 将WebCenter服务注入到其它社交服务中
    • 移动应用,例如iphone、andriod手机应用
    • 混搭应用

编程模型

访问资源通常通过GET访问:http://host:port/rest/api/resourceIndex,返回值通过为:

{
  "resourceType": "urn:oracle:webcenter:resourceindex",
  "links": [
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:messageBoard",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
…

以上遵循HATEOAS模型,具体信息结合测试工具看比较直观。

配置Apache代理服务器

1.  通过Apache代理访问REST原理图

rest

2. 测试使用的Apache版本是2.2.16,Oracle推荐Apache 2.2.7或更高

3. 修改httpd.conf,去掉以下两行的注释符号

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

在文件尾加入:

ProxyPass /webcenter/ http://myspaceshost.example.com:8888/webcenter/
ProxyPassReverse /webcenter/ http://myspaceshost.example.com:8888/webcenter/
ProxyPass /rest/ http://myspaceshost.example.com:8888/rest/
ProxyPassReverse /rest/ http://myspaceshost.example.com:8888/rest/

当然,你也可以将上述内容写入单独的配置文件,例如:proxy.conf 通过Include命令引入,例如:Include conf/proxy.conf

4. 重新启动Apache

配置WebCenter

确保服务器是运行状态,并且通过connect()命令连接到AdminServer,执行如下WLST脚本命令:

createCred(map="o.webcenter.jf.csf.map", key="keygen.algorithm",user="keygen.algorithm", password="AES")
createCred(map="o.webcenter.jf.csf.map", key="cipher.transformation",user="cipher.transformation",password="AES/CBC/PKCS5Padding")

无需重启服务器

测试

1. 测试工具

2. 测试代码

WebCenter REST API Samples

(完)

如何配置WebCenter Domain

1. 选择相关组件

在这一版的WebCenter中,Blog与Wiki使用的都是UCM中的功能,这一点和上一个版本完全不一样。因此,一个基本的WebCenter Domain内容管理是必须的(当然,你也可以不选,但这种场景很少不推荐)。还有一点需要说明,上一版中如果想和BPM11g集成,需要大量的配置工作,而这一版则相对简单,只要在创建域时选中此项即可。为了测试WebCenter基本功能,我选择如下组件:

    • Oracle WebCenter Space
    • Oracle Universal Content Management – Content Server
    • Oracle Enterprise Manager(必选)
    • Oracle WebCenter Discussion Server
    • Oracle WebCenter ActivityGraph Engines
    • Oracle WebCenter Personalization
    • Oracle WebCenter Pagelet Producer
    • Oracle WebCenter Analytics Collector
    • Oracle WSM Policy Manager(必选)
    • Oracle JRF(必选)

2. 个性化定制

为了自动创建服务连接,配置域时手工指定机器名。具体同容参见:《WebCenter 11g PS3预备知识

例如:

名称

监听地址

端口

AdminServeryekki-cn7001
WC_Portletyekki-cn8889
WC_Utilitiesyekki-cn8891
WC_Collaborationyekki-cn8890
UCM_server1yekki-cn16200
WC_Spacesyekki-cn8888

3. 配置UCM服务器

启动AdminServer,然后启动UCM_server1,访问:http://yekki-cn:16200/cs/ 将进入UCM初始化设置页面,参数使用默认即可,唯一有二项需要注意:

    • 服务器套接字端口: 4444
    • 传入套接字连接地址安全过滤器:这个参数是指,如果其它应用,如:WebCenter想通过Socket访问UCM,则哪些IP地址被允许。为了方便起见,我在将其设为*.*.*.*

重新启动UCM服务器,再次访问:http://yekki-cn:16200/cs/,点击:管理->管理服务器->组件管理器,Enable如下组件:

    • Folders_g
    • WebCenterConfigure

再次重新启动UCM服务器

4. 启动其它被管理服务器

记得最后启动WC_Spaces

5. 查看服务连接

访问:http://yekki-cn:7001/em,以下链接已经被创建好

    • WebCenterSpaces-ucm
    • WebCenterSpaces-Discussions
    • WebCenterSpaces-PageletProducer

创建Analytics & Activity Graph连接:

    • Connect Name: WebCenterSpaces-Analytics
    • Active Connection: Enable
    • Enable WebCenter Event Collection: Enable
    • Messaging Mode: Unicast
    • Collector Host Name: yekki-cn
    • Collector Port: 31314

重新启动WC_Spaces

6. 测试

访问:http://yekki-cn:8888/webcenter 以Project Site为模板创建一个Space,测试其中功能,例如:论坛、文档。创建页面,选择Blog或Wiki测试。

7. 其它

  • 如果重新创建WebCenter Domain,记得通过RCU重新创建数据库表空间与表
  • 以上服务器及数据库都启动,大约占用7~8G内存,玩WebCenter要量力而行。

(完)