用于提供托管定制垂直应用的方法和装置的制作方法

文档序号:6553188阅读:151来源:国知局
专利名称:用于提供托管定制垂直应用的方法和装置的制作方法
技术领域
本发明的实施例一般地涉及定制企业软件应用领域,更具体而言涉及
用于提供托管定制(hosted tailored)垂直软件应用(vertical software applications)的方法。
背景技术
托管软件应用是指被远程存储并通过因特网访问的应用。托管应用一 般存储在托管公司的服务器上,并在使用时被下载到客户公司的本地计算 机。托管软件应用允许客户公司委托维护软件应用的责任。
一种可以被托管的软件应用是客户关系管理(CRM)应用。但是,典 型CRM应用对低成本托管造成几点障碍。
CRM应用是允许公司管理客户关系的多个方面的企业范围应用。典 型CRM应用提供了业务对象(实体)集合和对实体进行操作的业务过程 (过程)集合。实体代表对于业务而言不同的重要内容。实体例如可以包 括联系人、帐户,或它们之间的联系。过程对一个或多个实体或跨一个或 多个实体进行操作,并且定义了实体的可能状态和转换。过程例如可以包 括用于开设新帐户的帐户设置过程。
一般地,CRM应用包括称为基本CRM功能(基本CRM)的一套销 售和服务功能。基本CRM应用可以被特制或定制以便满足特定行业的需 要。这种因行业而定的CRM应用被称为垂直CRM应用(垂直应用 (vertical))。此外,基本CRM应用或垂直应用可以被定制以便满足使 用该应用的特定客户公司的需要。这种高度定制的应用需要额外的计算或 存储资源,以便应用管理与因公司而定的实体和过程有关的额外信息。
在传统的非托管环境中,CRM应用被安装在因客户公司而定的位 置,并且这些额外成本可以由客户公司承担。因客户而定的CRM应用可以采用一个或多个垂直应用的组件。例 如,为大型汽车经销商专门定制的CRM应用可以包括用于处理汽车帐户 和服务的汽车垂直应用组件以及用于管理贷款的金融垂直应用组件。对于 这种采用来自多个垂直应用的组件的高度定制的CRM应用,维护各个垂 直应用的共享数据的一致性是个难题。例如,对于采用汽车垂直应用和金 融垂直应用的组件的定制CRM应用而言,车辆和贷款都可以被视为产 品,对其中任意一个的改变都会对二者产生影响。
此外,对于非托管CRM应用而言,与维护共享数据的一致性相关联 的成本是由特定客户公司承担的。仅当功能对特定客户公司而言有足够的 价值时,定制才被实现。
如上所述,托管CRM应用为客户公司提供了若千好处。当托管CRM 应用是高度定制的垂直应用时,好处更大。潜在的客户公司可能对提供高 度定制的垂直应用的托管公司比对仅提供基本CRM功能的托管公司更感 兴趣。
但是,上述高度定制的垂直应用的特性使得托管公司在托管这些应用 方面存在问题。托管公司依赖于通过与多个客户公司高效地共享资源而提 供的规模效益。对于少量客户公司而言,高度定制的CRM垂直应用可能 是因客户而定的或最多是可以应用的。托管多个个体的高度定制的垂直应 用与使托管有经济上的吸引力所必需的规模效益是不兼容的。也就是说, 目前对多个客户公司提供高度定制的垂直应用需要多个软件系统和服务 器。
此外,不能基于客户公司各自的资源使用来区分客户公司以便提供准 确的成本估算(计费)是托管高度定制的垂直应用中存在的另一问题。也 就是说,托管高度定制的垂直应用的实际的实现方式应当允许与资源使用 成比例的有区别的成本估算,而当前的托管方案作不到这一点。

发明内容
本发明的实施例提供了用于提供托管的高度定制的垂直应用的方法和 装置。根据一个实施例,创建用于客户关系管理应用的通用配置选项集合并提供给用户。用户从提供的选项集合选择一个或多个选项,所选择的选 项被用来自动配置定制的客户关系管理应用。
从下面的附图和详细描述可以清楚地看出本发明实施例的其他特征和 优点。


参考下面用于说明本发明实施例的的描述和附图可以最好地理解本发 明。在附图中
图1示出了根据本发明的一个实施例的用于实现具有用于指定高度定 制的垂直应用的通用配置选项集合的托管CRM应用的系统;
图2示出了根据本发明的一个实施例的解决重叠实体冲突的过程;
图3示出了根据本发明的一个实施例的不同CRM应用的相应实体之 间的部分子集/父集(subset/superset)关系;
图4示出了根据本发明的一个实施例的用于解决独占实体过程的过
程;
图5示出了根据本发明的一个实施例的用于解决过程冲突的过程;
图6示出了根据本发明的一个实施例的创建可被组合以便定制垂直应 用的通用配置选项集合的过程;
图7示出了根据本发明的一个实施例的用于实现规定的访问控制的过 程;以及
图8是示出了根据本发明的一个实施例可被包括在客户公司中的数字 处理系统的一个实施例的框图。
具体实施方式
概述
本发明的实施例提供了高度定制的垂直应用,同时解决了托管这种应 用的难题。本发明的实施例提供了通用配置选项(UCO)集合。UCO可 用来通过使用操作和运行时间定制能力产生高度定制的垂直应用。对于本 发明的一个实施例,以允许基于资源使用的有区别的成本估算的方式分配uco的管理能力。
对于本发明的一个实施例,来自多个现有垂直应用的不兼容的业务实
体和过程可以被分解,以便提供UCO集合。每个垂直CRM的深层功能保 留,并被隔离在相应的配置设置后面。
本发明的一个实施例提供了基本CRM应用和UCO集合,它们允许多 个客户公司中的每一个通过提供因公司而定的配置来指定高度定制的垂直 应用。对于本发明的一个实施例,当从客户公司接收到配置信息时,高度 定制的垂直应用被自动配置。
因此,与现有技术方案(其中部署了软件系统的多个实例,并且每个 都被单独修改以便实现特定的垂直应用)相比,本发明的实施例实现了具 有UCO集合的单个托管软件系统,其中UCO集合允许每个客户公司指定 高度定制的垂直应用。
此外/或者,本发明的实施例可以提供用于以安全和可跟踪的方式向个 体公司和用户许可特权以便实现基于资源使用的有区别的成本估算方案的
在下面的描述中列举了多个具体细节。但是应当理解,本发明的实施 例可以在没有这些具体细节的情况下实施。此外,公知的电路、结构和技 术没有被详细示出,以免模糊对该描述的理解。
在整个说明书中,"一个实施例"或"实施例"的意思是指结合该实 施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。 因此,说明书中多处出现的短语"在一个实施例中"或"在实施例中"不 一定指的是同一个实施例。此外,在一个或多个实施例中可以以任意适当 的方式组合特定特征、结构或特性。
此外,多个有创造性的方面存在于比所公开的单个实施例的所有特征 更少的特征中。因此所附权利要求明确包含在具体实施方式
中,其中每个 权利要求本身作为本发明的一个独立实施例。 系统
图1示出了根据本发明一个实施例的用于实现具有用于指定高度定制 的垂直应用的UCO集合的托管CRM应用的系统。图l所示的系统100包括托管公司105。托管公司105提供CRM应用110。 CRM应用110可以
运行在未具体示出的一个或多个服务器上。服务器可以是通过诸如局域网 (LAN)、内部网等通信链路连接的若干个体数字处理系统(DPS)。此 外,CRM应用可以被实现为单个软件程序或彼此协作的多个软件程序。
CRM应用IIO包括基本CRM配置lll和UCO集合112。对于备选实 施例,CRM应用不包括基本配置而只包括UCO集合112。
托管公司105可通信地耦合到一个或多个客户公司(例如示为客户公 司120)。在本发明的一个实施例中,CRM应用IIO同时服务于多个客户 公司。托管公司105可以通过通信链路连接到客户公司,所述通信链路可 以是不同设备可通过其进行通信的网络通信或任意介质,例如因特网、广 域网(WAN)、局域网(LAN)、内部网等。客户公司120包括若干 DPS (例如示为121a—121c),客户公司120处的用户可以通过它们访问 CRM应用110以便配置和使用高度定制的垂直应用。客户公司处的用户从 UCO集合112选择一个或多个UCO,以便修改基本CRM配置。所选择的 UCO可以基于与特定客户公司、客户公司中的用户角色或个体用户相关联 的专门业务需求。CRM应用存储与客户公司、每个客户公司中的角色和 每个客户公司处的个体用户有关的身份信息114。
对于本发明的一个实施例,用于定制垂直应用的UCO可以由三类用 户之一指定客户服务代表(CSR)、客户公司管理者(CCA)和客户公 司雇员(CCE)。
CSR受雇于托管公司,并且可以跨若干客户公司进行操作。CSR提出 针对CRM应用的定制请求,以便基于客户公司请求(例如购买)的服务 向客户公司及其雇员提供规定的访问。
CCA受雇于客户公司,并且也可以提出针对CRM应用的定制请求,
以便管理客户公司的雇员。
CCE也可以提出定制请求,虽然这些请求一般是受限的。CCE主要提 出针对CRM应用的操作请求,以便显示或转换业务实体状态。相反, CSR和CCA—般不提出操作请求。
根据本发明的一个实施例,在运行时(即在CRM应用的常规操作期间)向用户提供定制能力。对于本发明的一个实施例,数据存储装置115 被用来存储与运行时期配置数据库中的特定用户相关联的身份信息和选定 的UCO。下面参考规定的访问控制讨论的对每个用户许可的特权的连续关 联也可以被存储在数据存储装置115中。 通用业务实体和过程
根据本发明的一个实施例,多个现有业务实体和过程被分解为通用业 务实体和过程的集合。分解允许现有业务实体和过程被集成到一个UCO 集合中。分解允许诸如基本CRM应用和特定垂直应用等两个或多个不兼 容的CRM应用在本质上被组合到更适于托管的高度定制的垂直应用中。
一般而言,CRM应用包括若干实体和若干过程。实体一般是包含一 些相关数据的数据库。过程对一个或多个实体进行操作,并修改实体的状 态或通过操作产生额外的实体。
例如,基本CRM应用可以包括诸如导向、帐户、帐户的联系人等实 体,并且可以包括对标识帐户的联系人的新帐户的建立过程。相反,诸如 医学教育等垂直应用可以包括诸如医院和医生等实体。医院实体可以专用 一个帐户,因此建立医院是建立了具有额外信息的一个帐户。也就是说, 实体可以是不同的,基本相似的实体可以具有不同的属性。例如,对于医 学教育垂直应用而言,每个联系人可以包括属性鉴定,而在基本CRM应 用中一般不需要这种属性,因而也不包括这种属性。
因此,定义医学教育垂直应用中的联系人的过程相比于基本CRM应 用或不同的垂直应用的相应过程将需要不同或额外的信息。
一般而言, 一个CRM应用的实体不能以与基本CRM应用或不同的垂 直应用的基本对应的实体相同的方式被处理。
例如,基本CRM应用一般具有以帐户为中心的功能。帐户可以包括 投递和计费地址以及主要联系人。业务方面的工作集中于帐户的主要联系 人。如果帐户终止,则相关联的联系人很有可能与帐户一起被删除。帐户 和主要联系人是高度相关的实体,并且被视为紧密绑定。但是,医学教育 垂直应用功能是以联系人为中心的。帐户(医院)的主要联系人可以是医 院管理者,但是业务方面的工作可能不集中于这个人或不仅仅集中于这个
13人。业务方面的工作将集中于医院中的保健人员。
这两种应用是不兼容的,将它们结合起来使用会有产生不兼容数据或
丢失数据的危险。例如,如果实体医院以与基本CRM应用的帐户相同的 方式被处理,则如果帐户终止,那么有价值的联系人信息将被丢弃。
为了解决不兼容的CRM应用的实体和过程中的这些冲突,本发明的 实施例通过分解各种实体和过程来创建通用业务实体和过程。然后,使用 配置来指定两个或多个实体之间的关系。例如,医学教育垂直应用的实体 医院被分解出一个属于一般帐户的部分,而其余部分特定地属于医院。医 院被视为帐户的一种类型,该类型被与实体分离开来,因此它可以被独立 处理。类似地,实体医生被分解成通用联系人信息和属于医生的额外信 息。然后使用配置来确定实体之间的关系(例如紧密还是松散绑定)以及 指定特定客户公司是否将使用这些实体。 实体冲突
本发明的实施例解决两类实体冲突重叠(overlapping)实体冲突和 独占(exclusive)实j本冲突。
当一个CRM应用的实体是一个或多个其他CRM应用的父集或部分父 集时发生重叠实体冲突。图2示出了根据本发明一个实施例的解决重叠实 体冲突的过程。过程200开始于操作205,其中一个CRM应用的实体被标 识为与一个或多个其他CRM应用的相应实体重叠。例如,如上所述,医 学教育垂直应用的医院实体可以是基本CRM应用的帐户实体的父集,因 为医院实体包括所有帐户实体的信息和额外信息。例如,医院实体可以指 诸如医生和护士等实体,并且可以为这些人员指定医院中的特定角色,例 如指定医生是外科医生,或者指定护士是急救组成员。相反,典型客户公 司的帐户实体可能仅具有拥有相应头衔的雇员。
在操作210,实体被标识为父集和子集实体。 一般而言,实体不需要 具有严格的子集/父集关系,而仅需要部分具有这种关系。
图3示出了根据本发明一个实施例的不同CRM应用的相应实体之间 的部分子集/父集关系。如图3所示,圆形区域305代表第一 CRM应用的 实体,圆形区域310代表第二 CRM应用的相应实体。阴影区域315代表这两个实体的公共部分。月牙形区域306代表非公共信息(即第一实体在 公共信息之外的扩展信息),月牙形区域311代表第二实体在公共信息之 外的扩展信息。为了描述的方便,具有较多扩展信息的实体将被描述为父 集实体,具有较少扩展信息的实体将被描述为子集实体。
再次参考图2,在操作215,子集实体的序列被开发和用于该子集实 体。分析该子集实体并为该实体确定基本属性(实体和过程)。基本属性 代表对父集实体而言公共甚至对所有这些实体(例如对于不同CRM应用 的相应实体)而言通用的实体部分。提取该通用部分以便创建包括基本属 性的中央记录(例如数据库记录)。
在操作220,开发父集实体的非公共属性的序列。该序列将包含对子 集实体序列的引用,并且被称为引用序列。对于本发明的一个实施例,引 用序列被实现为包含子集实体序列的数据库记录的扩展记录。父集实体可 以被实现为数据库中的两个表。第一个表包含因子集实体而定的所有数 据。例如,如果子集实体是帐户,则第一个表可以包含投递地址、计费地 址、主要联系人和一般地属于这些实体的其他实体和过程。
第二个表包含因父集实体而定的所有额外数据。例如,如果父集实体 是医院,则第二个表包含不能有效地实现在用于帐户的数据库记录中的诸 如医院设施(例如急救室、24小时护理,等等)等因医院而定的实体和过 程。第二个表还包含引用第一个表并创建到第一个表的直接联系的引用 (ID),因此如果父集实体(例如医院)被访问,则子集实体(例如帐 户)信息也被引用。
在操作225,重新进行业务过程,以便作为管理父集实体的子过程来 管理子集实体。子集实体可以具有不被父集实体共享的相关联的过程。例 如,在建立医院时,使用帐户数据的核心,但是可应用于帐户的过程可能 不一样。如上所述,基本CRM应用可以将帐户和联系人视为高度相关的 实体,并且包括维护该紧密绑定的代码。因此,对该帐户实现的计费地址 改变过程可以包括改变与该帐户相关联的每个联系人的地址。这样的过程 对于帐户来说不是关键的,但是可能对于特定的客户公司是有益的。这样 的客户公司可能需要包括向与该帐户相关联的每个联系人传播帐户的计费地址改变的额外的计费逻辑的CRM应用。因此,过程(例如改变计费地 址过程)必须被重新进行,因此存在可根据需要而被激活的可选部分。一 般而言,只要可应用于父集实体的过程与相应过程不同,过程就被重新进 行。
本发明的一个实施例解决的另一类实体冲突是独占实体冲突。当两个 实体以不同方式解释相同的序列时会发生独占实体冲突。也就是说,两个 CRM应用中的每一个可以具有相同的特定信息,但以不同方式对待该信 息。对于一个CRM应用,该信息可能具有对于另一个不适用的因行业而 定的意义。例如,实体帐户可能具有属性"分类"。对于基本CRM应 用,帐户的属性"分类"可以具有可能是特定的客户公司专有的一般意 义。但是对于以特定方式实现帐户的垂直应用,属性"分类"可能具有被 严格解释的因行业而定的意义。例如,当应用于实体"医院"时,属性 "分类"可以指示可在医院获得的服务。
图4示出了用于根据本发明的一个实施例解决独占实体冲突的过程。 图4所示的过程400开始于操作405,其中识别出独占实体冲突。当使用 相同的底层数据库行和列的两个实体从该数据导出不同意义时识别出独占 实体冲突。
在操作410,将每个实体的非冲突公共属性与冲突属性相分离。对于 本发明的一个实施例,创建第三实体以包含非冲突属性。对于该实施例,
结果是三个序列 一个包含公共非冲突属性的核心序列,以及包含冲突属
性的用于每个CRM应用的独立序列。因此,例如这三个序列可以是包含 帐户的公共属性的核心帐户序列、用于医院分类(用于医疗垂直应用)的 序列和用于帐户分类(用于基本CRM应用)的序列。
在操作415,独立解决两个独立的属性序列之间的冲突。因为两个独 立的属性序列之间的冲突等于重叠实体冲突,因此它可以如上面参考作为 本发明的一个实施例的图2的过程200所讨论的那样被解决。 过程冲突
在解决实体冲突之后,过程之间的冲突也被解决。对过程冲突的确定 可以以各种方式完成,并且一般依赖于对过程中涉及的实体的状态的分析。过程冲突可以是加性过程冲突,其中两个分离的过程对实体的不相交 的属性集合进行操作。过程冲突也可以是绝对过程冲突,其中两个分离的 过程对实体的部分不相交的属性集合进行操作。
图5示出了用于根据本发明的一个实施例解决过程冲突的过程。图5 所示的过程500开始于操作505,其中分析过程冲突,以便确定它是加性 过程冲突还是绝对过程冲突。
在确定过程冲突是加性过程冲突时,这两个过程在操作510被串连起 来。这允许每个分离的过程在配置期间被有选择地实现。由于过程是分离 的,因此串连过程的顺序是无关紧要的。例如,考虑包括改变帐户计费地 址的对帐户的计费地址的改变过程以及相应地改变任意相关联的联系人的 计费地址的过程。这样的过程可能是一些客户公司非常需要的,而其他客 户公司则不需要。通过串连分离的过程,改变帐户的计费地址的选项被与 进一步的选项一起被提供,所述进一步的选项是将计费地址的改变传播到 帐户的相关联的联系人。因此提供了比现有技术更大的配置灵活性,其中 提供了单个集成专门化过程选项。
在确定过程冲突是绝对过程冲突时,如下所述在操作515 — 535继续 进行过程冲突解决。
绝对过程冲突的解决开始于操作515,其中识别出属于冲突的每个冲 突过程的属性和子过程。例如,对于具有以帐户为中心的功能的CRM应 用而言,实现导向转换的逻辑与用于具有以联系人为中心的功能的CRM 应用的逻辑是不同的。
在操作520,对给定业务过程的每个合理的解决顺序定义选项集合。 例如,在解决以帐户为中心和以联系人为中心的过程冲突时,所呈现的冲 突是实现导向转换需要帐户信息还是联系人信息。定义的选项集合可以是 所需帐户信息、所需联系人信息,或没有要求(例如,无所谓)。
在操作525,为受冲突影响的用户在合适的级别提供选项集合。选项 集合可以是通用的,或者在更窄的范围内。也就是说,依赖于业务情形, 在公司级别或为公司中的某些角色提供选项可能是适当的。例如,会计部 门中的人员可以将导向转换到帐户,而同一客户公司的训练部门的人员可以将导向转换到联系人。
在操作530,使用选项集合来解决重叠属性。选定的选项确定被创建 的数据(即所需数据)的值。例如,如果输入计费地址是帐户创建过程的 一部分,则在保存帐户时将需要计费地址。
在操作535,识别出任何其余不相交属性,并且如上所述通过重复操 作510作为加性过程冲突而加以解决。 生成通用配置选项
对识别出的实体和过程冲突的解决创建了可以被包括在UCO集合中 的选项集合。UCO集合是可在每个公司或每个用户的基础上被选择以便自 动创建高度定制的深层垂直应用的选项集合。虽然选项集合是通用的因此 系统可以理解它们并维护数据完整性,但是它们以不同的方式被呈现给个 体用户。
图6示出了根据本发明的一个实施例创建可被组合以便定制垂直应用 的UCO集合的过程。图6所示的过程600开始于操作605,其中每个配置 选项值被分配一个唯一的系统标识符。这给系统软件提供了区分选项的能 力。
在操作610,从所有初始集合中使用分配给每个选项的唯一系统标识 符创建主集合。
在操作615,主集合的系统标识符被归一化,因此标识无区别的业务 实体和过程的多个独立值将被分配给主集合中的公共系统标识符。例如, 医药垂直应用可以包括实体医药工厂,但是为了实现业务过程,实体医药 工厂可以不与实体工厂相区分。在此情形下,两个实体值被分配以相同的 系统标识符。
在操作620,用分配给实体状态的系统标识符而非值来表达实体状 态。这包括引用业务处理中的实体状态。对于本发明的一个实施例,系统 可靠地创建通用系统标识符,并强行把它们设置在一个或多个CRM应用
(例如基本CRM应用)中。 规定的访问控制
个别地选择选项以便定制垂直应用的能力还为基于资源使用的有区别的成本估算提供了基础。本发明的实施例使用规定的访问控制来允许基于 所许可的特权的成本估算。特权是垂直应用中的可识别的权利。特权可以 包括诸如更新或删除导向或联系人等基本操作,或诸如改变资产的所有关 系等更复杂的操作。属于垂直应用的特权集合基于垂直应用的特征,并且 依赖于选定的配置选项。
图7示出了根据本发明的一个实施例用于实现规定的访问控制的过 程。图7所示的过程700开始于操作705,其中特权被与相应的许可特权 相关联。对于本发明的一个实施例,适于有区别的成本估算的垂直应用的 那些特征被与可被安全地许可和跟踪的特权相关联。
对于本发明的一个实施例,通过对每个特权实现控制许可特权的能力 的相应的许可特权,来实现特权的安全许可。该属性可以被递归地应用 (即为许可特权实现许可特权)。此外,许可特权的能力可以基于用户类 别而受到限制。例如,CCE许可和撤回特权的能力可以被限制在客户公司 中,而CSR被给予跨客户公司许可和撤回特权的能力。对于本发明的一个 实施例,通过实现可以查询特权的内部报告系统而使得特权可被跟踪。内 部报告系统还理解运行时期配置数据存储装置的雇员、角色和公司结构。
在操作710, CSR被给予在部署时许可和撤回所有可安全许可的特权 的能力。该能力可被跨客户公司应用。在一些实例中,CSR不被许可特权 本身,而是仅被许可许可特权的能力。
在操作715,在客户公司购买可计费服务时,CSR向客户公司的一个 或多个CCA许可与所购买的可计费服务有关的任意可许可特权。CSR还 可以向CCA许可许可有关特权的能力。
在操作720,与可被提供给CCE的可计费服务有关的特权被许可给适 当的CCE。可以直接从CCA或从CSR向CCE许可这种特权。
所许可的特权与特定用户相关联,并且该关联被排序和存储。对于本 发明的一个实现基于数据库的运行时期配置数据存储装置的实施例,被排 序的用户和特权的关联被包含在数据库表中。
使用上述规定的访问控制方法,特权的可跟踪历史(许可和撤回)可 被用来实现基于所提供的服务的有区别的成本估算方案。客户公司可基于所许可的特权的数量(包括CCA和CCE被许可的特权的数量)和类型而 被评估成本。此外/或者,客户公司可以基于每个特权的使用而被评估成 本。
根据本发明的一个实施例,规定的访问控制的实现补充了通过选择 UCO实现的垂直应用定制。垂直应用的特征与可以如上所述地被许可的特 权相关联。从托管公司的角度,可以在一个系统上(例如使用相同的软 件)提供所有选项和相关联的特权,并且可以通过规定的访问控制进行有 区别的计费。客户公司选择根据由CSR或CCA确定的客户公司的需要而 定制的选项。对于选定的(例如客户公司购买的)每个选项特征,CSR将 相关联的特权以及许可特权的能力许可给CCA。然后,CCA进一步通过 基于个体CCE的个体需求和责任向CCE许可与垂直应用特征相关联的特 权来进一步定制用于个体CCE的垂直应用。 一般事项
本发明的实施例提供用于提供高度定制的垂直应用的方法和装置。根 据本发明的各种实施例,来自任意数量的垂直应用的实体和过程可被添加 到UCO集合,从而根据需要提供来自每个垂直CRM的深度定制的垂直应 用组合功能。定制的垂直应用不受限制,并且可以以所需深度进行动作。 由于定制已经从业务逻辑核心分离,因此额外和现有实体以及过程之间的 冲突被减小。
根据本发明的一个实施例,托管公司在可以有区别地计费并且成本有 效的可行业务模型的上下文中提供高度定制的垂直应用。额外的框架不基 于客户公司的数量,而是基于用户数量和使用量。此外,由于使用集成的 运行时期框架在运行时动态托管操作,因而不需要额外的机器,因此托管 的高度定制的垂直应用维持很低的印记(footprint)。
规定的访问控制允许基于所提供的服务范围和使用量来估算每个客户 的成本。对于本发明的备选实施例,在用于定制垂直应用的UCO之外实 现规定的访问控制。
虽然就特定选项和行业进行了描述,但是很明显,本发明的实施例可 应用于很大范围的垂直应用以及与他们相关联的实体和过程有关的选项。例如,本发明的实施例提供了为诸如航天、汽车、通信、金融、保 险、制造、零售、能源、保健、运输、旅馆等行业创建高度定制的垂直应 用的能力。
此外,本发明的实施例可以使用多种软件来实现。例如,子集实体和
父集实体的序列如上参考图2被描述为数据库记录。对于本发明的备选实 施例(其中使用面向对象的编程(OOP)语言),引用序列可被实现为 OOP语言对象和引用实现子集实体的序列的另一OOP语言对象的指针。
如上参考图l所述,客户公司可以具有一个或多个DPS。图8是示出 了根据本发明的一个实施例可被包括在客户公司中的DPS 801的一个实施 例的框图。对于本发明的备选实施例,DPS 801可以是包括耦合到总线 807的处理器803的计算机。在一个实施例中,存储器805、存储装置 811、显示控制器809、通信接口 813、输入Z输出控制器815和音频控制器 827也耦合到总线807。
DPS 801通过通信接口 813接口到外部系统。通信接口 813可以包括 与无线电话信号兼容的无线电收发器,或用于将设备耦合到其他设备的其 他接口。在本发明的一个实施例中,载波信号825在通信接口 813和网络 850之间被接收/发送。在本发明的一个实施例中,通信信号825可被用来 将DPS 801与另一计算机系统、网络集线器、路由器等接口。在本发明的 一个实施例中,载波信号825被视为机器可读介质,其可通过导线、线 缆、光纤或通过大气等传送。
在本发明的一个实施例中,处理器803可以是传统微处理器,例如但 不限于Intel x86或Pentium家族微处理器、Motorola家族微处理器等。存 储器805可以是诸如动态随机访问存储器(DRAM)等计算机可读介质, 并且可以包括静态随机访问存储器(SRAM)。显示控制器809以传统方 式控制显示器819,显示器819在本发明的一个实施例中可以是阴极射线 管(CRT)、液晶显示器(LCD)、有源矩阵显示器、电视监视器,等 等。耦合到输入/输出控制器815的输入/输出设备817可以是键盘、盘驱 动器、打印机、扫描仪和其他输入和输出设备(例如鼠标)。在本发明的 一个实施例中,音频控制器827以传统方式控制音频输出831和音频输入
21829。
存储装置811可以包括计算机可读介质,例如但不限于磁性硬盘、软 盘、光盘、智能卡或其他形式的数据存储装置。在本发明的一个实施例 中,存储装置811可以包括可移动介质、只读介质、可读/可写介质等。一 些数据可以通过直接存储器访问过程在软件在计算机系统801中的执行期 间被写入存储器805。应当理解,软件可以驻留于存储装置811、存储器 805中,或者可以经由调制解调器或通信接口 813被发送或接收。为了说 明的方便,术语"机器可读介质"应被理解为包括能够存储数据、信息或 对指令序列编码以供处理器803执行从而使得处理器803执行本发明的方 法的任何介质。术语"机器可读介质"应被理解为包括但不限于固态存储 器、光和磁盘、载波信号等。
虽然已经就若干实施例描述了本发明,但是本领域的技术人员将认识 到,本发明不限于所描述的实施例,而是可以在所附权利要求的精神和范 围内被修改和变更。因此,说明书应被认为是说明性而非限制性的。
权利要求
1. 一种方法,包括创建用于客户关系管理(CRM)应用的通用配置选项(UCO)集合;向用户提供所述UCO集合;从所述用户接收对一个或多个UCO的选择;基于所选择的UCO自动配置定制的CRM应用。
2. 如权利要求l所述的方法,其中所述定制的CRM应用是托管的。
3. 如权利要求2所述的方法,其中所述用户是从由客户服务代表、 客户公司管理者和客户公司雇员组成的组中选择的人。
4. 如权利要求2所述的方法,其中所述定制的CRM应用是对基本 CRM应用的修改,所述修改反映了所述所选择的UCO。
5. 如权利要求2所述的方法,其中创建UCO集合包括分解现有业务 实体和过程的集合。
6. 如权利要求5所述的方法,其中分解现有业务实体和过程的集合 包括解决两个或多个实体之间的实体冲突,每个实体与相应的现有CRM 应用相关联。
7. 如权利要求6所述的方法,其中解决实体冲突包括通过以下方法 解决重叠实体冲突识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第二属性集合的一部分对于所述第一属性集合而言是公共的,所述第 二属性集合的另一部分对于所述第一属性集合而言是非公共的;开发所述第一实体的序列;开发所述第二属性集合中对所述第一属性集合而言非公共的那一部分 的序列;以及修改影响所述第一实体的过程,以使得所述第一实体能够作为管理所 述第二实体的子过程而被管理。
8. 如权利要求6所述的方法,其中解决实体冲突包括通过以下方法 解决绝对实体冲突识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第一属性集合中的至少一个属性与所述第二属性集合中的相应属性相 冲突;开发所述第一属性集合中与所述第二属性集合中的相应属性相冲突的 至少一个属性的序列;以及开发所述第二属性集合中与所述第一属性集合中的相应属性相冲突的 至少一个属性的序列。
9. 如权利要求5所述的方法,其中分解现有业务实体和过程的集合 包括解决两个或多个过程之间的过程冲突,每个过程与相应的现有CRM 应用相关联。
10. 如权利要求9所述的方法,其中解决过程冲突包括 分析两个过程之间的冲突; 确定所述冲突是加性的;以及 串连所述两个过程。
11. 如权利要求9所述的方法,其中解决过程冲突包括 分析两个过程之间的冲突;确定所述冲突是绝对的;识别属于所述冲突的两个过程中的每一个的属性和子过程; 定义用于解决所述冲突的选项集合;以及 向所述用户提供所述选项集合。
12. —种包含可执行指令的计算机可读介质,当所述指令被数字处理 系统执行时使得所述系统执行以下方法创建用于客户关系管理(CRM)应用的通用配置选项(UCO)集合; 向用户提供所述UCO集合; 从所述用户接收对一个或多个UCO的选择;基于所选择的UCO自动配置定制的CRM应用。
13. 如权利要求12所述的计算机可读介质,其中所述定制的CRM应 用是托管的。
14. 如权利要求13所述的计算机可读介质,其中所述用户是从由客户服务代表、客户公司管理者和客户公司雇员组成的组中选择的人。
15. 如权利要求13所述的计算机可读介质,其中所述定制的CRM应 用是对基本CRM应用的修改,所述修改反映了所述所选择的UCO。
16. 如权利要求13所述的计算机可读介质,其中用于创建UCO集合 的指令包括用于分解现有业务实体和过程的集合的指令。
17. 如权利要求16所述的计算机可读介质,其中用于分解现有业务 实体和过程的集合的指令包括用于解决两个或多个实体之间的实体冲突的 指令,每个实体与相应的现有CRM应用相关联。
18. 如权利要求17所述的计算机可读介质,其中用于解决实体冲突 的指令包括用于通过以下方法解决重叠实体冲突的指令识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第二属性集合的一部分对于所述第一属性集合而言是公共的,所述第 二属性集合的另一部分对于所述第一属性集合而言是非公共的;开发所述第一实体的序列;开发所述第二属性集合中对所述第一属性集合而言非公共的那一部分 的序列;修改影响所述第一实体的过程,以使得所述第一实体能够作为管理所 述第二实体的子过程而被管理。
19. 如权利要求17所述的计算机可读介质,其中用于解决实体冲突 的指令包括用于通过以下方法解决绝对实体冲突的指令识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第一属性集合中的至少一个属性与所述第二属性集合中的相应属性相 冲突;开发所述第一属性集合中与所述第二属性集合中的相应属性相冲突的 至少一个属性的序列;以及开发所述第二属性集合中与所述第一属性集合中的相应属性相冲突的 至少一个属性的序列。
20. 如权利要求16所述的计算机可读介质,其中用于分解现有业务 实体和过程的集合的指令包括用于解决两个或多个过程之间的过程冲突的指令,每个过程与相应的现有CRM应用相关联。
21. 如权利要求20所述的计算机可读介质,其中用于解决过程冲突 的指令包括用于执行以下方法的指令分析两个过程之间的冲突; 确定所述冲突是加性的;以及 串连所述两个过程。
22. 如权利要求20所述的计算机可读介质,其中用于解决过程冲突的指令包括用于执行以下方法的指令 分析两个过程之间的冲突;确定所述冲突是绝对的;识别属于所述冲突的两个过程中的每一个的属性和子过程; 定义用于解决所述冲突的选项集合;以及 向所述用户提供所述选项集合。
23. —种客户关系管理(CRM)应用托管系统,包括 数据存储装置,用于存储用于客户关系管理(CRM)应用的通用配置选项(UCO)集合;通信链路,用于向远程用户提供所述UCO集合,并接收来自所述远程用户的对一个或多个UCO的选择;以及处理系统,用于基于所选择的UCO自动配置定制的CRM应用。
24. 如权利要求23所述的CRM应用托管系统,其中所述通信链路是 从由因特网、广域网、局域网、内部网和它们的组合组成的组中选择的。
25. 如权利要求24所述的CRM应用托管系统,其中所述用户是从由 客户服务代表、客户公司管理者和客户公司雇员组成的组中选择的人。
26. 如权利要求24所述的CRM应用托管系统,其中所述定制的 CRM应用是对基本CRM应用的修改,所述修改反映了所述所选择的uco。
27. 如权利要求24所述的CRM应用托管系统,其中所述UCO集合 是通过分解现有业务实体和过程的集合创建的。
28. 如权利要求27所述的CRM应用托管系统,其中分解现有业务实体和过程的集合包括解决两个或多个实体之间的实体冲突,每个实体与相应的现有CRM应用相关联。
29. 如权利要求28所述的CRM应用托管系统,其中解决实体冲突包 括通过以下方法解决重叠实体冲突识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第二属性集合的一部分对于所述第一属性集合而言是公共的,所述第 二属性集合的另一部分对于所述第一属性集合而言是非公共的;开发所述第一实体的序列;开发第二属性集合中对所述第一属性集合而言非公共的那一部分的序列;修改影响所述第一实体的过程,以使得所述第一实体能够作为管理所 述第二实体的子过程而被管理。
30. 如权利要求28所述的CRM应用托管系统,解决实体冲突包括通 过以下方法解决绝对实体冲突识别具有第一属性集合的第一实体和具有第二属性集合的第二实体, 所述第一属性集合中的至少一个属性与所述第二属性集合中的相应属性相 冲突;开发所述第一属性集合中与所述第二属性集合中的相应属性相冲突的 至少一个属性的序列;以及开发所述第二属性集合中与所述第一属性集合中的相应属性相冲突的 至少一个属性的序列。
31. 如权利要求17所述的CRM应用托管系统,其中分解现有业务实 体和过程的集合包括解决两个或多个过程之间的过程冲突,每个过程与相 应的现有CRM应用相关联。
32. 如权利要求31所述的CRM应用托管系统,其中解决过程冲突包 括执行以下方法分析两个过程之间的冲突; 确定所述冲突是加性的;以及 串连所述两个过程。
33.如权利要求31所述的CRM应用托管系统,其中解决过程冲突包 括执行以下方法分析两个过程之间的冲突; 确定所述冲突是绝对的;识别属于所述冲突的两个过程中的每一个的属性和子过程; 定义用于解决所述冲突的选项集合;以及 向所述用户提供所述选项集合。
全文摘要
本发明的实施例提供了用于提供高度定制的垂直应用的方法和装置。根据一个实施例,创建用于客户关系管理应用的通用配置选项集合并提供给用户。用户从所提供的选项集合选择一个或多个选项,所选择的选项被用来自动配置定制的客户关系管理应用。对于本发明的一个实施例,分解来自现有的垂直应用的多个不兼容的业务实体和过程以向客户公司提供配置选项集合。客户公司从所提供的配置选项进行选择,并且基于所选择的配置选项而自动配置高度定制的垂直应用。
文档编号G06F17/00GK101438269SQ200580041027
公开日2009年5月20日 申请日期2005年11月30日 优先权日2004年11月30日
发明者乔纳森·R·比努, 尼古拉斯·R·曼森, 阿萨卡·加亚苏瑞亚 申请人:西贝尔系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1