构建企业专业技能定位系统,第 1 部分: 专业技能定位范例和参考架构的派生

应用 SOA 模式

所有规模的企业都需要利用企业内的专家来解决业务问题、提供销售机会或帮助回答简单的问题。在本文中,将了解如何应用 SOA 模式获得企业专业技能定位的参考架构。在系列文章的第 2 部分中,将探讨解决方案架构、数据模型和关键架构决策。

Murali Vridhachalam, IT 架构师, IBM

Murali Vridhachalam 是一名通过了 Open Group 认证的 IT 架构师,自 2005 年早期就开始接触 XBRL。他曾在 IBM 首次通过 XBRL 提交财务报表时担任过主管架构师,这是 SEC 的 XBRL 自主文件项目的一部分。他目前感兴趣的领域包括 SOA 和使用 IBM 企业软件组合构建起来的 Software as a Service 功能。



2011 年 12 月 19 日

简介

企业内的专业技能定位解决方案可以有效地为专业技能主题提供贯穿整个业务的整体专家视图,这些主题通常像业务本身一样种类繁多。企业级专业技能定位系统有许多重要因素。这些因素包括:

  • 专业技能主题的分类:通常,专业技能主题分类由业务的各种部分创建并使用分众分类方法进行扩充,这可以确保专业技能主题保持最新,流行的专业技能主题也得到了准确表示。
  • 基于专家的专业技能水平、协助职责和可视性范围(比如企业范围额、社区或小组等)对专家进行身份确认:有不同的专业技能水平,并且通常通过为给定专业技能主题提供一种专业技能水平来识别和公开专家,如图 1 和图 2 所示。
  • 专家提名:专家可以毛遂自荐或者由业务部门针对给定的专业技能主题提名。
  • 与专家互动的方法:定位了专家之后,可以同步或异步地与其互动。最终用户可以(通过即时消息)与专家聊天,或者向系统提交一个问题,系统可以将问题传送给一组专家或一位专家。
  • 社交媒体对专家识别的影响:考虑到公众和所有规模的企业广泛采用社交媒体来处理业务的不同方面,社交媒体的一项关键用途就是,基于人们在企业内部和外部的社交媒体中的活动或知名度来识别潜在的专家。例如,一个经常发表有关云计算的博客文章的人可能实际上是云计算方面的专家。
  • 专家声誉系统:要鼓励专家持续参与来帮助他人,企业定位系统必须提供识别流行专家的方式,以及对最终用户和专家之间的互动的一种评分机制。重要的是,实现必须符合企业的隐私准则。
图 1. 专业技能水平
专业技能水平
图 2. 专业技能定位承诺水平
专业技能定位承诺水平

高级需求

企业专业技能定位系统的需求可从整个企业的各种业务利益相关者那里确认。除了 “简介” 一节中列出的重要因素,以下是专业技能定位系统应该满足的总体需求:

  • REQ-01:通用用户界面和专业技能:以 Web 应用程序的形式为最终用户、专家和管理员提供一种通用的用户界面和体验。但是,收集有关专家和专家登记的信息的能力也应该在其他内部站点内实现。该 Web 应用程序可以通过移动设备访问。
  • REQ-02:专业技能分类:业务的一个目标是向整个企业的最终用户公开来自业务各个部分(比如销售、市场营销、财务等)的专家。这些区域可以利用具体的分类来表示该区域不同的专业技能主题。
  • REQ-03:自动化分类管理流程:业务的一个目标是自动化对从外部主数据源导入的专业技能分类的同步。该流程将需要考虑从分类中丢弃的专业技能主题,并且系统需要通知分类管理员所发生的更改,还要通知这些专业技能主题方面的专家。
  • REQ-04:增强的协作:在最终用户、专家和管理员之间提供增强的协作功能,以促进更加精明和及时的帮助、通过社交协作(标签)改进的搜索,以及报告。最终用户和专家之间需要实时的互动和异步的问答互动。应该具有向专家提供互动评分方面的反馈功能。
  • REQ-05:使多个内部网客户端和外部客户端能够访问服务:多个服务用户(比如 Web 应用程序表示层、内部网网页、外部网页、移动设备等)将需要通过多种绑定访问专业技能定位服务。专业技能定位系统应该允许这些客户端访问这些服务。
  • REQ-06:服务重用:识别可在其他系统中重用的服务。
  • REQ-07:标准和常用中间件的采用:采用行业标准技术,包括选择推荐的部署基础架构中间件和工具。
  • REQ-08:为内部和外部客户端提供以安全和可靠的方式访问的能力:向内部和外部客户端提供以安全、可靠的方式访问专业技能定位服务的能力,无需公开解决方案基础架构供外部用户访问。
  • REQ-09:连接域之间灵活的沟通:专业技能定位连接域应该与外部连接域良好地集成,以确保来自企业外部的服务用户可以一种松散耦合的方式访问专业技能定位系统内的服务。应该提供对消息转换和多种协议的支持。
  • REQ-10:最小化更改对服务用户的影响:在对专业技能发现服务进行更改时,或者在基础架构中对专业技能定位系统进行更改时,应该避免中断,或者将针对服务用户的中断降到最低。
  • REQ-11:使服务用户能够通过 API 访问数据:内部网和外部网站中的网页仍然需要显示存储在关系数据库中的信息,该数据库中包含与专业技能分类、专家和问答知识库相关的数据。可通过分析来进一步充实关系数据库中的数据,并且此数据可供服务用户访问。
  • REQ-12:使用户能够实时访问各种不同的数据:专业技能发现系统需要访问存储在各种不同的数据来源中的专业技能信息。该系统需要能够实时访问这些来源,以检索为基于 IBM 内部的社交活动提供建议的专家。查询必须在 5 秒内进行处理。
  • REQ-13:身份验证:当用户通过 Web 应用程序或从其他客户端与专业技能定位服务交互时,需要验证和确定身份。解决方案需要提供身份验证服务。
  • REQ-14:授权:系统需要确保用户能够基于用户身份或系统访问允许的信息。许多组件可能需要授权,这些组件范围广泛,包括粗粒度基于服务的授权(服务组件)到细粒度的服务水平数据访问控制。
  • REQ-15:合并工作流的人工交互:应该实现强健的人工工作流,将它们用于支持专业技能区域设置、分类设置和专家注册的审批。
  • REQ-16:实现提供主数据管理的服务:系统应该实现执行专业技能数据完整性的服务。系统应该改进数据的一致性和质量,确保数据是准确的。

面向服务的架构模式

定义 SOA 的架构样式描述创建松散耦合、与业务一致的服务的一组模式和准则,由于描述、实现和绑定之间的关注点分离,这些服务在对新业务变化和机会的响应上提供了前所未有的灵活性。SOA 模式从 SOA 角度简化了对总体解决方案的理解。SOA 模式和最佳实践的应用使理解对解决方案的每部分变得更加容易,有助于解决方案的分阶段采用。下表给出了与企业专业技能定位系统的需求相关的 SOA 入口点和相关 SOA 模式。

SOA 入口点/学科SOA 场景SOA 模式
人员入口点互动和协作富 Web 应用程序
服务透明地调用服务
信息入口点信息即服务场景主数据管理
业务智能
整合
连接性入口点服务连接性 SOA 场景内部连接性
企业服务总线
SOA 设计入口点SOA 设计场景服务设计 SOMA
SOA 安全性、治理和管理学科SOA 安全性和管理场景服务安全性
SOA 治理场景SOA 治理
端到端服务管理

富 Web 应用程序 SOA 模式

此模式演示 AJAX 客户端相对于经典或简单客户端的价值优势,其中包括性能和响应能力上的收益。

  • 技术问题:为用户提供可方便他们之间的协作和共享、还能加速 Web 界面响应速度的用户界面。当最终用户搜索或浏览专家或者搜索知识库时,无需刷新整个页面即可更新结果。
  • 这种模式的应用方法:专业技能定位解决方案将使用基于 AJAX 的用户界面。举例而言,这些界面可用于在用户与系统交互期间动态地加载内容。要刷新内容,无需刷新整个页面,只需刷新更改的内容即可。
    图 3. 富 Web 应用程序 SOA 场景
    图像的备用文本
  • 采用的商业价值:最终用户、专家和管理员可更有效地工作,具有更快的用户界面响应速度。这可带来增强的用户体验。

透明地调用服务的 SOA 模式

透明地调用服务的模式描述了如何提供一种通用用户界面和体验从单一位置访问不同的应用程序。

  • 技术问题:基于员工社交活动的专业技能信息可用于多个应用程序中,应该整合此信息,以便最终用户能够快速找到相应的注册专家,以及为基于其社交活动提供建议的专家。
  • 这种模式的应用方法:提议的解决方案通过一个基于 Web 的界面提供了一项集成功能,允许最终用户搜索专家。该解决方案将提供一个开放界面,其中常见的与渠道无关的服务可由任何前端提供。内部网站点中显示的部件可以采用上下文敏感的方式注册专家,并且该信息将从 Web 应用程序提供给最终用户使用。
    图 4. 透明地调用服务的 SOA 场景
    透明地调用服务的 SOA 场景
  • 采用的商业价值:提议的解决方案是:对于使用 Web 应用程序的所有最终用户,以及其他内部网站点(其中专家可以以一种上下文敏感的方式显示,允许最终用户注册专家)的用户,为他们提供更高的生产力。这可显著减少专家登记的阻碍。

主数据管理 SOA 模式

主数据管理模式演示如何通过一种可用作参考来源的权威的主要来源,协调来自外部来源的专业技能分类和专门节能关键词,因为专业技能信息可能来自多种来源。

  • 技术问题:专业技能分类和专业技能关键词通常分散在多种异构的系统中。这些来源中存在的信息具有各种不同的格式,可能还需要多个批处理程序来定期同步这些信息。
  • 这种模式的应用方法:提议的解决方案将包含一个集中化的主数据管理 (MDM) 关系数据库存储库,可用来存储专业技能分类和专业技能关键词的一致集合。MDM 存储库最初使用提取/转换/加载 (ETL) 模式填充。使用服务,MDM 中的数据可定期与外部来源同步。信息也由其他系统通过服务从 MDM 提取出来。
    图 5. 主数据管理 SOA 场景
    主数据管理 SOA 场景
  • 采用的商业价值: 通过采用主数据管理模式,提议的解决方案可消除专业技能分类中的不一致性。它还会不断向其他系统提供准确、实时的专家信息。

业务智能 SOA 模式

业务智能模式描述如何在专业技能分类、专家登记、知识库和社交活动中使用基于建议的专家的信息,制定关于目标专家登记的明智决策。

  • 技术问题: 专业技能发现解决方案需要能够提供深入的智能分析和报告,让用户理解专家登记模式、专家登记在不同业务部门之间的差异。该解决方案应该还提供分析询问专家的问题的能力。
  • 这种模式的应用方法:
    图 6. 业务智能 SOA 场景
    业务智能 SOA 场景
  • 采用的商业价值: 此架构方便了整个企业的业务用户查看专家登记中的关键差异,获得关于询问了何种类型的问题的智能报告,还可帮助业务用户指定目标专家登记决策。

内部连接性 SOA 模式

内部连接性描述了组织内的多个内部客户端可访问专业技能发现服务。

  • 技术问题:专业技能定位服务将需要从不同的环境访问,比如浏览器、移动设备、门户等。这些环境将使用多种协议访问服务,但是,开发人员不应该在每次新的环境希望访问服务时都编写或更改代码。
  • 这种模式的应用方法:专业技能定位架构添加了服务组件架构 (SCA) 实现。服务组件架构 (SCA) 是以 SOA 中一种标准的形式出现的,SCA 的愿景是开发人员将仅需要专注于开发业务逻辑,SCA 还提供了单一的编程模型来调用组件。另外,SCA 允许一个组件拥有多个可配置的绑定。
    图 7. 内部连接性 SOA 场景
    内部连接性 SOA 场景
  • 采用的商业价值:通过服务组件架构 (SCA) 采用内部连接性,该解决方案被更好地定位来适应访问服务的新客户端。使业务逻辑只需由开发人员编写一次,即可供多种不同的客户端访问,而无需担忧基础架构逻辑。

企业服务总线 SOA 模式

为了全面支持完善的 SOA 中所需的各种不同的交互模式(比如请求/响应、发布/订阅、事件),企业服务总线必须在一种基础架构中支持 3 种主要的企业集成风格:面向服务的架构、消息驱动的架构和事件驱动的架构。

  • 技术问题:因为专业技能定位系统将需要与外部客户端集成,所以有以下需求:
    • 提供位置透明性并支持服务替换
    • 支持一种异构环境中的集成并支持服务替换
    • 支持 SOA 原则,将应用程序代码与具体的服务协议和实现分离
    • 对服务寻址和命名的控制点。
  • 这种模式的应用方法:架构中引入了一种 ESB 架构来实现松散耦合、基本的路由,以轻松集成和适应多种外部客户端。ESB 提供了对不同的协议及系统和外部客户端之间的消息交换格式的支持。
    图 8. 企业服务总线 SOA 场景
    ESB SOA 场景
  • 采用的商业价值:通过采用 ESB,该系统更好地定位来适应与外部客户端之间的集成风格的变化。该系统将拥有在特殊的集成需求出现时立即响应的能力。ESB 还将专门节能位置服务与外部客户端相分离。

流程自动化 SOA 模式

流程自动化模式解决如何自动化工作流的问题,包括集成自动化的人工任务。它还提供了自动化跨多个应用程序和后端存储库的集成的能力。

  • 技术问题:如果专家已在专业技能主题中登记,并且如果该专业技能主题由一位管理员更改,那么专家应该获得通知。来自外部来源的专业技能分类应该定期同步。此外,对于全球性企业,与隐私合规性相关的流程可能在不同国家或地区不同,解决方案实现应该处理存在的差异。提供帮助的专家还应该得到表彰,需要与现有的员工表彰流程相集成。可选地,企业销售流程可以在 “售前” 操作阶段利用企业内的专家。
  • 这种模式的应用方法:提议的解决方案使用了一种专业技能分类管理流程,该流程更加高效并与专业技能定位需求更加一致。当一个专业技能主题(包含登记的专家)更改时,专家会自动获得通知,受影响的专业技能区域的管理员将能够通过 Web 应用程序监视更改的影响。管理员也将获得专业技能分类同步状态的通知。该解决方案还与一个现有的员工表彰程序和销售系统相连接。
    图 9. 流程自动化 SOA 场景
    流程自动化 SOA 场景

    点击查看大图

    图 9. 流程自动化 SOA 场景

    流程自动化 SOA 场景
  • 采用的商业价值:专家将自动获得专业技能主题中的变化的通知。管理员将被通知监视更改及对专业技能区域的影响,进而提升操作效率。隐私法律得以遵从,专家的贡献得到了表彰,这有助于实现持续的专家参与,还实现了及时的专家识别来帮助抓住销售机会。

服务安全性 SOA 模式

服务安全性模式涵盖多个端点集合中专门针对安全性策略/配置的安全性管理方面,以实现授权、消息安全性和访问控制。

  • 技术问题:提议的解决方案需要一种针对与服务请求者和提供者的访问,跨所有端点的集成且集中化的 SOA 安全性策略管理。该解决方案需要有效地管理身份,此身份信息必须可用于各种请求流。目前,对数据加密没有要求。
  • 这种模式的应用方法:提议的解决方案采用一种连锁的安全性框架,该框架将 Java 安全性、LDAP、防火墙安全性(针对外部服务用户)和基于 Web 的安全性结合在一起。身份验证的执行由企业目录服务管理。在访问控制方面,用户(最终用户、专家和管理员)仅能访问允许他们的角色访问的功能。SCA 实现支持服务级别或组件(服务组)级别上的基于角色的访问控制。
  • 采用的商业价值:通过采用一种连锁的安全性方法,提议的解决方案可端到端地保护服务,控制对其后端系统的访问,以及遵守企业的安全性策略。

服务治理 SOA 模式

SOA 治理模式包含控制新服务创建,实现更多的服务重用,执行标准和最佳实践,服务更改管理以及服务版本控制。

  • 技术问题:将需要与其他应用程序的集成,还需要基于开放标准的通信协议。此外,需要对业务服务的识别和指定进行治理,因为服务将从多种客户端进行访问。
  • 这种模式的应用方法:使用一种治理策略,通过内部和外部客户端对任何服务的访问实施安全性验证策略。还会对需要供各种服务用户访问的服务的识别和指定进行治理。SOMA 用于识别、指定和实现服务。
  • 采用的商业价值:服务重用以及进而减少的成本是采用 SOA 治理的一项主要收益,不会创建重复的服务,更多的服务依据最佳实践和行业标准得到了重用。

服务设计 SOMA

SOMA 方法是一种分析和设计方法,用于设计和构造 SOA,以实现目标业务流程。SOMA 通过识别、指定和实现服务、组件和流程来完成此任务。请参阅 “参考资料” 一节,获取有关 SOMA 的信息的链接。


服务识别

服务识别步骤的目标是:创建对企业专业技能定位有意义的候选服务及其关联操作的初始集合。服务识别的关键输入包括:

  • 用例场景、系统用例和用户需要模型(参阅 “参考资料” 部分)
  • 来自可重用的现有系统的服务

要构建企业定位系统、可以使用域分解和现有资产分析技术来识别服务。不使用目标-服务建模方法,因为没有为专业技能定位定义评估业务绩效的指标。

  • 域分解:使用域分解,专业技能定位业务域分解为主要的功能区域和子系统。在下一个层级上,功能区域进一步分解为流程、子流程和高级业务用例。
  • 现有资产分析:现有资产分析的主要目标是最大化来自任何当前的解决方案的应用程序模块的重用。可采用一种自底向上的方法来识别现有资产,从而确定是否有任何现有服务可供重用。

服务清单

已确定以下主要服务来满足企业专业技能定位系统的需求。下面列出的服务可在 SOMA 的服务识别和服务实现阶段进一步分解为细粒度的服务。这将在本系列的第 2 部分中讨论。

#服务名称服务描述
1专业技能分类专业技能区域分类主题,可由业务部门从企业标准分类开始管理或由用户群创建。分类也可通过社会标签和分众分类法来完成。
2专家注册专家注册服务可由业务部门管理(业务部门提名)或由专家对专业技能分类(分类法)中的专业技能主题进行订阅(专家自己提名)。专业技能水平和协助承诺也由此服务处理。专家拥有使用不断扩充的专业技能主题词汇表描述自身的能力。这方便了搜索服务。
3可用性管理使专家能够指定他们的可用性和其他专业技能,这可帮助最终用户使用系统识别它们。
4托管的交互最终用户和专家出于回答来自最终用户的问题的目的而进行的同步(聊天)和异步(电子邮件、Web UI)交互。关于交互的反馈也由此服务管理。
5知识获取专家应该拥有从交互中获取知识并充实知识库的能力。
6发布/订阅关于专家的信息应该在其他内部网站点中显示,在一位专家注册最终用户所 “观察” 的专业技能主题时,该最终用户也应该能够获得通知。
7搜索最终用户能够基于他们的需要(专业技能主题、标签、评分、专家可用性、办公位置、出差意愿等)来确定专家
8委托在同级协助方面,专家应该能够将回答能力委托给另一位专家。在管理方面,专业技能区域管理员可将他们的授权委托给其他人。
9分析提供基于专家登记和知识库的业务洞察和智能分析的服务。
10报告专家和管理员能够查看与 QandA、标签和专业技能区域管理相关的各种报告。
11数据访问最终用户、管理员和专家可能需要访问来自其他内部网或外部门户的数据。
12广播最终用户可以以广播模式向许多专家提问。

参考架构

使用 SOA 模式、已发布的 SOA 参考架构 OASIS 指南,以及来自成功的专业技能定位系统实现的解决方案架构,创建了一个参考架构,如图 10 所示。

4 项指导原则是:

  • 技术中立性指与特定技术的独立性,因为支撑基于 SOA 的系统的原则可能比用于提供它们的任何具体技术的存在时间更长。
  • 极度节俭指经济的设计,尽可能避免复杂性,最小化需要的组件和关系数量。
  • 关注点分离指干净利落地描述架构模型的能力,所采用的方式使各个利益相关者或一组利益相关者仅看到直接解决其相应的兴趣区域的模型。这主要指的是模型的松散耦合。
  • 适用性指相关性。该架构与基于 SOA 的系统的尽可能多的方面和应用程序相关。
图 10. 企业专业技能定位参考架构
企业专业技能定位参考架构

结束语

专业技能定位系统在许多企业变得越来越具有战略意义。在本文中,我们学习了如何将 SOA 模式应用于专业技能定位系统需求,以及如何获得参考架构。在本系列的第 2 部分中,将探讨解决方案架构、数据模型、实现技术和架构决策。


致谢

作者衷心感谢以下人员:

  • John Bosma 和 Vicky Griffiths-Fisher 执行了与专业技能定位服务的识别相关的工作。
  • Michael Ticknor 和 Vicky Griffiths-Fisher 执行了与专业技能定位承诺水平相关的工作。
  • John Bosma、Galina Grunin、Michael Ticknor、Erich Walls 和 Sandy Yarchin 提供了他们的见解并为 IBM 内的专业技能定位解决方案做出了贡献。

参考资料

学习

获得产品和技术

  • 以最适合您的方式 评估 IBM 产品:下载产品试用版、在线使用产品、在云环境中使用产品,或在 SOA 沙盒 中花几小时学习如何有效实现面向服务的架构。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services
ArticleID=781699
ArticleTitle=构建企业专业技能定位系统,第 1 部分: 专业技能定位范例和参考架构的派生
publish-date=12192011