作者:Nam Doan-Huy、YiHong Xu、Narshimha Rao Kondapaka 和 Melody Wood
本文是企业解决方案简明手册的一部分
2009 年 8 月发布
下载:
Oracle 融合中间件
在当前超竞争的全球经济条件下,灵活响应变化比以往更加重要。信息以及围绕信息进行的交互已成为大多数企业的关键资产,做出持续缩短周期的明智决策是定义成功企业的一个运营特征。这个市场要求访问适当的信息并且在适当的时候将该信息提供给适当的人,从而导致越来越多的人对构建社交企业功能感兴趣,且社交 Web 为此追求的核心。
随着在企业中针对业务采用这些社交协作工具来促进协作并提高其员工的生产率,他们还发现这些工具对于实现出色运营也非常有价值。Enterprise 2.0 可以在允许客户访问企业的系统和流程方面发挥重要作用。与客户在此级别进行协作减少了客户必须联系客户支持的次数,从而为企业降低了成本,提高了客户满意度。
那么如何构建 Enterprise 2.0 应用程序呢?要知道这不仅仅是构建 Web 2.0 应用程序,这一点非常重要。根据管理咨询公司麦肯锡的调查,Web 2.0 项目通常被视为基础试验,领导者有时受“构建良好的应用程序,客户自然会来”想法的侵扰,认为无需管理干预即可采用这些技术。相比之下,Enterprise 2.0 应用程序服务于企业目标并且拥有来自内部股东(IT、企业)和外部股东(客户、合作伙伴)的支持。Enterprise 2.0 技术策略应该将不同方面的 Web 2.0 功能整合到一个安全的综合平台中,在该平台的业务目标上下文中执行业务会话和任务。它应该提升和支持丰富的用户体验,并且以最安全的方式显示企业内容。Enterprise 2.0 应用程序整合了内容管理、安全、搜索以及 Web 2.0 的功能。它从 ERP 应用程序、CRM 系统以及其他后端企业应用程序中收集信息,然后采用基于上下文、安全且易于查找的方式交付该信息。
在本文中,我们将介绍 Enterprise 2.0 体系结构的主要构建块,然后概述构建 Enterprise 2.0 应用程序的重要集成注意事项。我们还将演示 Wind River 如何利用 Oracle 的 Enterprise 2.0 平台改进其在线客户支持门户。
Enterprise 2.0 是一个集成业务策略,它包含多个规则、技术和体验。任何丰富的 Enterprise 2.0 的基础功能都要求将内容管理、Web 2.0 框架、安全以及与企业应用程序的集成整合起来。
图 1:Enterprise 2.0 构建块
内容管理 — 企业会在不经意间处理结构化数据和非结构化数据。结构化数据可能包括文档、文件和视频,它们主要生成于企业内部。非结构化数据大多数来自于客户交互,可能包括博客、Wiki 条目以及聊天记录。内容管理平台提供一个一致的基础架构,采用统一的方式管理、发布和交付数据。
Web 2.0 框架 — 内容管理平台致力于如何创建和管理内容,Web 2.0 框架则提供协作平台以通过采用高度协作的方式显示企业数据的功能来支持丰富的交互。由于 Web 2.0 平台的社交特性,因此该协作表示层不仅仅用户友好、易于导航,而且还可以通过多种渠道(PC、移动设备、PDA 以及其他设备)访问该单一表示层,这一点非常重要。最重要的是,Web 2.0 框架通过服务(如即时消息、语音交互、wiki、博客、社区、标签、用户等级以及个性化)支持与用户和系统的会话交互。
安全 — 构建 Enterprise 2.0 系统时,应该考虑业务,同时将安全作为最高优先级。显示和个性化内容提出了特定的安全挑战,尤其是鉴于 Enterprise 2.0 解决方案的高可访问性和高交互性。谁可以发布和编辑内容呢?随着时间的流逝,内容会发生哪些变化呢?应该对内容设置哪些基于用户角色的限制呢?Enterprise 2.0 应该是安全、可审计以及可控制的。安全层提供基于用户角色和身份的身份验证、授权、内容的个性化交付,针对内容生命周期的完整审计跟踪以及内容发布/监视控制。
集成 — Enterprise 2.0 从 ERP 应用程序、CRM 系统以及其他后端企业应用程序收集信息,然后采用安全以及上下文的方式将该信息提供给最终用户。用户使用从企业应用程序传出或传入企业应用程序的信息。这要求集成编排数据和业务流的企业应用程序,合并数据和内容管理层,并将该数据通过 Web 2.0 前端提供给最终用户。
由于很多技术层由多种不同产品组成,因此确保可以在这些层之间进行无摩擦交互是非常重要的。根据行业标准构建 Enterprise 2.0 框架有助于通过更改尽可能少的代码来确保互操作性。符合标准的平台还可确保灵活的设计体系结构,从而允许企业扩展其 Enterprise 2.0 环境并且根据需要轻松引入新特性。下面我们开始介绍构建 Enterprise 2.0 应用程序时的重要集成注意事项。
图 2:Web 2.0、内容管理、SOA 和安全层之间的 Enterprise 2.0 集成
将内容管理与 Web 2.0 层集成
在丰富的 UI 中呈现内容管理层中内容的最佳方法是什么?是否有可能开发灵活的 Enterprise 2.0 体系结构,该体系结构无需了解门户或底层内容管理框架?幸运的是,标准可以在降低集成难度方面发挥重要作用。支持 JCR 或 JSR-170 标准的内容管理系统提供体系结构的灵活性。可以通过可连接到任何内容信息库的标准化 API 来访问符合 JSR-170 的内容管理系统。这样就消除了 Web 2.0 层对底层内容管理平台的依赖性。反过来,Web 2.0 层可以连接到多个不同的内容信息库,而不依赖于硬编码的集成。 — 当组件的功能仅基于一个系统并且该组件没有与其他组件进行大量交互时,应该使用 portlet。“主动警报订阅表单”就是一个此类型组件的示例。该表单从用户提取输入数据并将该数据存储在警报数据库中。它不与任何其他系统交互,独自运行。这种类型的组件是 portlet 的理想候选组件。此外,如果需要对组件进行基于用户的自定义,则应以 portlet 的形式构建。
类似地,JSR 168(及其后续版本 JSR 286)和 WSRP 可以提供不同门户供应商之间的互操作性。借助于 JSR 168 和 WSRP,将 portlet 转换成可以在不同 Enterprise 2.0 应用程序之间共享的独立业务对象,从而促进重用
启用对内容管理和 Web 2.0 层的身份验证
Web 2.0 和内容管理层都需要根据用户配置文件对访问进行控制。因此,Web 2.0 和内容管理层的配置需要使用一次性登录进行身份验证并且将 LDAP 提供程序作为身份存储。若要突破 J2EE 安全的限制以及使应用程序能够对用户进行身份验证并进行授权,最重要的标准是 Java 身份验证和授权服务 (JAAS),它是通过 Java Community Process 添加到 Java 语言中的标准安全应用程序编程接口 (API)。
使用 SOA 将 Web 2.0 层与 Enterprise 应用程序集成 SOA 在使用 BPEL(业务流程执行语言)编排业务流程方面起到了帮助作用。BPEL 自动执行不同后端应用程序和人员之间基于 Web 服务的集成。Web 2.0 和 SOA 层之间的集成是双向的。Web 2.0 层的用户可以通过直接调用 BPEL 流程来启动或前移关键业务流程。反过来,SOA 也可以将上下文企业数据提交给 Web 2.0 层。
概述了使用 Web 2.0 功能加强 ECM 解决方案的基本体系结构原则,现在我们开始介绍 Wind River 系统的在线客户支持网站中遵循这些设计原则的实际应用程序。
Wind River 是设备软件优化 (DSO) 市场中的领导者,它希望从根本上简化跨其网络(拥有超过 3 万名员工和使用其在线支持系统 (OLS) 的客户)的信息交换和协作。
该公司的原始 OLS 设计为在一个统一的开发和交付平台上支持员工、客户以及合作伙伴。最初 OLS 目标是提供一个平台,在该平台上客户以及合作伙伴可以自助服务访问个性化支持数据和日志服务请求,并且可以查找有关产品缺陷和补丁的信息。该平台允许员工(来自支持、产品管理、技术出版物、工程以及其他部门)共同提供内容,而且还可以与客户共享该内容。不幸的是,此 OLS 系统无法满足这些需求。它缺少向特定用户显示其目标内容的功能以及基础架构。
OLS 基础架构基于各种基于 PHP/Perl 的 CGI 应用程序,这些应用程序用于交付来自各种系统(包括 Oracle 电子商务套件、基于文件的系统以及数据库系统)的内容。并非对所有支持内容(包括支持手册、技术提示、常见问题解答以及方法指南)进行集中管理。发布流程是完全手动的,因此需要工程、产品管理以及 OLS 员工之间的高度协作。缺少集中的信息库以及无法动态更新文档增加了 Wind River 支持组织的维护难度。维护数据完整性以及尽可能缩短客户获取新信息的时间是主要问题。
另一个来自客户的主要抱怨是他们发现很难找到与其从 Wind River 购买的产品相关的 OLS 内容。为了解决这个问题,Wind River 希望通过向客户显示与其购买的产品相关的 OLS 内容为每个客户个性化 OLS 内容。
但是,没有适当的基础架构将产品和支持内容与每个客户从 Wind River 购买的产品联系在一起。这使得很难将客户的产品安装基础与客户所查看的内容相关联。缺乏集中内容以及与企业系统的集成会对客户体验造成负面影响。客户要自己搜索或导航 Wind River 的原始 OLS 网站,才能找到他们所需的支持数据。OLS 也没有提供允许客户和 Wind River 支持人员实时交互以便快速解决客户问题的协作基础架构。
Wind River 采用 Enterprise 2.0 方法来应对该挑战。该方法决定集中内容信息库中的支持内容并利用 Web 2.0 接口交付来自内容信息库以及其他企业系统的目标内容。如何实现这个目标呢?下面介绍这个体系结构。
图 3:用于在线客户支持的 Wind River Enterprise 2.0 体系结构
为了集中管理与 Wind River 的产品有关的文档、补丁、演示、数字资产、图像文件以及业务流程需求,我们选择了 Oracle 全面内容管理 (UCM)。UCM 帮助我们管理在线支持门户上的 3,000 到 5,000 个物理文件以及大约 78,000 个数字文件。
图 4:Oracle UCM 层集中内容管理并简化内容发布
除了为集中的客户交付平台奠定基础之外,UCM 还简化了内容发布流程。UCM 有效移除了各种 IT 和在线支持管理员发布 OLS 内容(手册、补丁、演示等)的所有权,并通过创建一个内部审批和发布框架直接将该所有权转交给内容创建者(产品管理、工程、技术出版物等)。这反过来提高了内容贡献流程中内容处理的效率并且改善了整体数据的完整性。
使用 Oracle WebCenter 实施 OLS 前端。WebCenter 具有独特的功能,可构建无缝整合搜索、发布和知识管理的 Enterprise 2.0 协作和社交应用程序。WebCenter 基于 J2EE、Java Server Faces (JSF) 和 Oracle 应用开发框架 (ADF) 等技术。结合使用 ADF 组件和 Portlet 以构建前端最终用户界面。以 ADF 组件或 Portlet 的形式构建这些组件的决定基于以下原则。
strong>Portlet
ADF 组件 — 当组件在页面上与其他组件交互并且可以从其他组件驱动其数据时,应该使用 ADF 组件。尽管 Portlet 能够进行交互通信,但如果交互的组件基于同一系统,则 ADF 是理想的选择。
图 5:使用 Oracle WebCenter 构建的 OLS 主页
使用 WebCenter 构建的 OLS 前端,允许客户通过订阅电子邮件以及内容警报来获取所需信息,从而个性化在线支持体验。
此外,通过计划向站点添加更多的 Web 2.0 特性(如讨论主题和聊天功能),Wind River 旨在创建一个用户社区,这些用户可以彼此提供提示、最佳实践以及创新想法以便尽可能地增大他们在 Wind River 技术上的投资。
尽管我们可以选择使用基于 JCR 的与 Oracle 全面内容管理的集成,但是我们选择使用内容集成套件 (CIS) 将 WebCenter 与 UCM 层集成。除了利用标准的 API 之外,CIS 还提供缓存和集群特性来提高性能。借助 CIS,可以将包含内容的文件系统本地安装到运行 WebCenter 服务器的计算机,从而使得该文件系统对于 WebCenter 来说是本地的。这样便进一步提高了性能,因为门户请求不需要通过线路来搜索和获取内容。这就是基于推送的内容集成方法的优势所在,该方法对于某些功能(如 RSS 信源)非常重要。
有很多不同类型的 OLS 用户,下面列出了支持这些不同类型所需的安全基础架构:
根据以上要求,为 WebCenter 和 UCM 设计了以下安全模型。
WebCenter 安全模型
OID 组 | 注册 | 更新配置文件 | 主页 | 我的产品 | 产品搜索 | 手册 | 应用说明 | 下载 | 技术提示 | 缺陷 |
公共 | X | X | ||||||||
门户用户 | X | X | X | |||||||
基本 | X | X | X | X | X | X | X | |||
维护 | X | X | X | X | X | X | X | X | X | X |
高级 | X | X | X | X | X | X | X | X | X | X |
员工 | X | X | X | X | X | X | X | X | X | X |
UCM 安全模型
UCM 帐户 | 手册 | 下载 | 技术提示 | 应用说明 | 通知 | 快速链接 |
客户 | X | |||||
基本 | X | X | X | X | ||
维护 | X | X | X | X | X | X |
Premium_x | X | X | X | X | X | X |
员工 | X | X | X | X | X | X |
UCM 安全模型中的“Premium_x”代表一个 UCM 帐户。虽然 Premium_x 用户属于维护组的一部分,但他们还拥有需要额外筛选的内容。UCM 帐户便用于这个目的。例如,OID 维护组中的所有用户都可以访问下载。但是,只有维护组中属于 OID 组“Premium_CompanyX”的那些用户才能访问特定于“CompanyX”的高级支持帐户的特定可下载文档。为了实现这个目的,将特定的文档附加到帐户“Premium_CompanyX”
此外,还可以将元数据域用于安全目的。例如,Wind River 使用一个标记为“Internal(内部)”的元数据域。如果该域的值设置为“true(真)”,则只有员工才能访问该内容。WebCenter 与 UCM 建立合约,如果员工登录则修改查询,并将在查询中传递附加的元数据域“internal = true(内部 = 真)”。
WebCenter 和 UCM 层利用 Oracle SSO/OID 进行身份验证和授权。UCM 有一个身份管理插件,可以将该插件配置为从任何基于 LDAP 的目录中检索用户信息。UCM 还拥有将 LDAP 组名映射到 UCM 安全组以及 UCM 帐户的配置文件。
对于 OLS,使用 UCM 本地身份验证方案,而非用于 UCM 的 SSO。这是因为 UCM 未向公共用户或所有员工公开 — 只有某些员工和内容提供者才能登录和修改内容。但 UCM 仍然对 OID 进行身份验证。
还将 WebCenter 配置为从 OID 检索用户信息(角色等)。但将 SSO 配置为允许用户通过 SSO 而不是通过本地身份验证方案登录。可以通过在应用程序服务器上配置 SSO 并将应用程序标识为 SSO 已启用来实现此目的。然后通过 web.xml 使用 J2EE 安全启用页面级安全。
当用户登录 OLS 时出现以下步骤(参见图 6)
基于上述方案,还可以修改员工查询。如果为当前登录的用户分配了“Employee(员工)”角色,则修改所有 CIS 查询以添加 (xInternal `TRUE`) 来获取员工应该看见的所有附加内容项目。
Wind River 的构想是使客户能够轻松找到与其相关的支持内容,方法是通过将每个客户购买的产品与 UCM 中的内容相匹配并仅显示匹配的内容。这要求 OLS 与 Oracle 电子商务套件 (EBS) 集成。此重要集成通过个性化向每个客户显示的内容来提供 OLS。
所有的 Wind River 客户信息均存储在 EBS 中,包括每个客户的产品安装基础、许可证权限以及支持合约。与 EBS 集成使 OLS 能够将客户的许可证和产品安装基础与 UCM 中的相关支持内容相匹配。采用这种方式,OLS 显示与客户所购买产品相关的客户支持内容,而无需客户搜索或导航 OLS 来查找该内容。
我们使用 Oracle SOA 套件、TopLink 以及数据库集成的组合将 EBS 信息提供给 UCM 和 WebCenter。此集成的关键是将 UCM 中的所有内容项目映射到 EBS 中的产品层次结构。这样便允许我们查询 EBS 以查找客户所拥有的产品,然后使用该信息将这些产品映射到 UCM 中与客户相关的内容项目。
使用 UCM 模式功能在树视图中显示产品层次结构。还在每个内容项目类型上创建自定义元数据域,以包含将各个内容项目映射到特定产品的唯一产品标识符。然后,可以将树视图与元数据域相关联,以允许用户轻松选取产品并将内容项目附加于其上。这使得 OLS 能够将所有 UCM 内容项目映射到 EBS 中的产品,例如,将 VxWorks 手册附加到 VxWorks 产品,以此类推。下面的图像演示了这一流程。
WebCenter 使用 TopLink 与 EBS 集成,以通过“我的许可证”和“我的产品”portlet 显示个性化信息。“我的许可证”和“我的产品”portlet 在个性化内容以及为每个 Wind River 客户进行导航方面发挥着重要作用。“我的许可证”portlet 向客户显示与他/她的 OLS 帐户关联的所有许可证。单击“我的许可证”中的一个许可证编号会启动一个“我的产品”视图,该视图为客户提供一个所有产品以及该许可证编号下许可的版本的列表;所有这些信息都来自于与 EBS 的集成(参见图 8)。
此外,在每个产品和版本的旁边,客户还会发现指向与该特定产品和版本相关的所有 OLS 内容的链接。例如,在图 8 中,对于显示于“我的产品”视图底部的产品,通过单击“手册”链接,客户便能够轻松找到已映射到产品“Compiler/Diab”、版本“4.4”的所有手册。得到的“手册”视图如图 9 所示。
WebCenter 使用来自于 UCM 的内容生成“手册”视图。WebCenter 首先对 UCM Consumption 进行一个 CIS 调用,将所选产品和版本作为 CIS 查询的参数。然后,UCM 返回给 WebCenter 与所提供的产品和版本匹配且内容类型为“手册”的所有内容项目。然后 WebCenter 在“手册”视图中呈现这些数据。下图演示了这个流程。
通过这种方式,客户可以通过单击进入“我的产品”视图(单击“我的许可证”中相应的许可证编号)。然后,OLS 会显示与客户从 Wind River 购买的产品和服务相关的所有内容。客户不需要搜索或导航 OLS 来查找该内容。OLS 向客户显示该内容。
Wind River 在这个项目上采用三种方法实现了 ROI:
从 Wind River OLS 门户,我们可以看出,Enterprise 2.0 采用高度安全和协作的界面将企业数据带给最终用户。Web 2.0、内容管理以及安全在驱动任何 Enterprise 2.0 策略时发挥了重要作用。Web 2.0 层提供了可以访问内容、流程、系统和人员的单一用户界面。集中内容管理实现了跨多个站点和应用程序的一致的贡献体验。同时,内容完整性最大程度地降低了风险并提高了用户采用率。最后,安全和隐私是 Enterprise 2.0 的核心。SSO、基于角色的访问、身份验证以及授权功能使得 Enterprise 2.0 更加安全,且为可审计和可控制的。
感谢 Melody Wood、Sanjay Kwatra、Sachin Agarwal、Fahad Ansari 的宝贵贡献
其他信息: 用于集成 Web 2.0、内容、搜索、协作和通信的 WebCenter 服务
Nam Doan-Huy Nam 是 Wind River 系统业务应用程序的高级经理。在这一角色中,Nam 管理 Oracle 电子商务套件体系结构和集成团队、Web 应用程序团队以及 DBA 团队,支持广泛的 Wind River 业务部门。加入 Wind River 之前,Nam 以 ERP 实施技术领头人身份从事咨询工作。 | |
YiHong Xu,她是 Wind River 的 Web 架构师,已经在 Wind River 工作 10 年了。她最开始的职业是质量工程师,后来在 2003 年转而研究 Web 技术。作为一名 Web 架构师,Yihong 负责开发 Web 策略、包括将业务需求转换为使用案例、确定和评估工具、选择硬件和软件平台,以及确保 IT 异构 Web 系统之间的一致性。Yihong 具有电子工程硕士学位。 | |
Narshimha Rao Kondapaka 是 IT 项目经理,已经在 Wind River 工作 4 年了。Rao 在使用 Oracle 技术和应用程序方面有着 11 年多的经验。他最开始的职业是一名 Oracle 应用程序技术开发人员,后来成为了一个功能业务分析专家。Rao 最近被提升为项目经理,他在实施在线支持门户方面起到了重要作用。Rao 具有计算机应用的硕士学位。 | |
Melody Wood 是融合中间件平台产品管理团队的一员,她在该团队重点关注 SOA 和 Web 2.0 客户部署模式。Melody 于 1996 年加入 Oracle,最初担任过各种合作伙伴管理职务,她越来越关注跨数据库和中间件产品体系的 Oracle 产品集成,最终这一切使她获得了现在的职位。 |