专利名称:基于云的主数据管理体系结构的制作方法
技术领域:
本发明涉及主数据管理,尤其涉及基于云的主数据管理体系结构。
背景技术:
许多主数据管理(MDM)服务帮助企业对人们赖以作出关键商业决策的数据进行 标准化。使用MDM服务,在尝试使更多人能够安全地直接管理主数据时,组织尝试管理公司 范围或跨不同系统的关键数据资产,并确保信息随时间的完整性。每一个企业维护它们自 己的MDM服务,这可能是较复杂的。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一 些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用 于帮助确定所要求保护的主题的范围。基于云的服务体系结构被用来将主数据管理(MDM)服务提供给客户机。基于云的 MDM体系结构包括客户机体系结构和服务器体系结构。客户机体系结构包括用于与基于云 的MDM服务进行交互的同步服务。服务器体系结构包括公共应用程序编程接口(API)以及 用于访问不同MDM功能的门户。例如,客户机可访问服务器体系结构来创建/修改由基于 云的服务主控的MDM工作流。基于云的服务体系结构也提供对不同MDM服务的访问,包括 MDM工作流、验证、转换,以及与主数据相关的存储。基于云的体系结构被用来发布主数据和 /或订阅主数据。
图I示出了示例性计算环境;图2示出了供客户机与基于云的MDM网络服务交互的系统;图3示出了在基于云的MDM服务中主控的工作流;图4示出了用于基于云的MDM服务的服务器体系结构;图5不出了用于访问基于云的MDM服务的客户机体系结构;以及图6示出了用于使用基于云的体系结构的主数据管理的说明性过程。
具体实施例方式现将参考附图来描述各实施例,在附图中类似的标号代表类似的元素。具体地,图 I和相应的讨论旨在提供对在其中可实现各实施例的合适计算环境的简要、概括描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组 件、数据结构和其它类型的结构。也可使用其它计算机系统配置,包括手持式设备、多处理 器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等等。还可使用在 其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。现在参考图1,将描述在各个实施例中所利用的计算机100的说明性计算机环境。 图I所示的计算机环境包括计算设备,这些计算设备各自可以被配置为服务器、台式或移动计算机、或者某一其他类型的计算设备,并且包括中央处理单元5 ( “CPU” )、包括随机存取存储器9 ( “RAM”)和只读存储器(“ROM”) 10的系统存储器7、以及将存储器耦合至中央处理单元(“CPU”)5的系统总线12。基本输入/输出系统存储在ROM 10中,所述基本输入/输出系统包含帮助在诸如启动期间在计算机内元件之间传递信息的基本例程。计算机100还包括用于储存操作系统 16、数据11、MDS应用24、Web浏览器26以及其他程序模块25的大容量存储设备14。大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接到 CPU 5。大容量存储设备14及其相关联的计算机可读介质为计算机100提供非易失性存储。 虽然此处包含的对计算机可读介质的描述针对诸如硬盘或CD-ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质还包括,但不限于,RAM、ROM、可擦除可编程只读存储器(“EPR0M”)、电可擦可编程只读存储器 (“EEPR0M”)、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其它光存储、 磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机100 访问的任何其它介质。计算机100使用通过诸如因特网之类的网络18与远程计算机的逻辑连接而在网络化环境中操作。计算机100可以通过连接至总线12的网络接口单元20来连接到网络 18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其它类型的网络和远程计算机系统。计算机100还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图I中示出)。类似地,输入/输出控制器22可以提供到IP电话、显示屏23、打印机或其它类型的输入/输出设备。如前简述的那样,多个程序模块和数据文件可以存储在计算机100的大容量存储设备14和RAM 9内,包括适于控制计算机的操作的操作系统16,如华盛顿州雷蒙德市的微软公司的WINDOWS 7 或WINDOWS SERVER 操作系统。大容量存储设备14和RAM 9 还可以存储一个或多个程序模块。具体而言,大容量存储设备14和RAM 9可以存储包括 MDS应用24和Web浏览器26和程序模块25的一个或多个应用程序。根据一实施例,MDS 应用24是微软公司的应用。也可使用与主数据交互的其他ERP/MDS应用程序。主数据可以是许多类型的数据。一般而言,主数据是关键的商业名词,并且一般落入以下四个编组中人物、事物、地点和概念。这些编组内的进一步分类被称为主题区域、域区域、或实体类型。例如,在人物内,有客户、雇员和销售人员。在事物内,有产品、部件、储备、和资产。在概念内,有类似合同、被担保人和许可证之类的事项。最后,在地点内,有办公室位置和地理划分。这些域区域中的一些可被进一步划分。可基于动机和历史来进一步分割客户。公司可具有一般客户、以及首要和代表(executive)顾客。产品还可按部门和产
5业来进一步分割。快速消费品(Consumer Packaged Goods CPG)部门中的产品的需求、使用寿命、和CRUD(创建、读取、更新、删除和搜索)周期很可能与服装行业的那些极为不同。 域的粒度本质上由它们内的实体的属性之间的差异的大小来决定。主数据可通过其与其他数据交互的方式来描述。例如,在事务系统中,主数据通常涉及事务数据。客户购买一产品。厂商销售部件,而合作者将一箱材料递送到地点。雇员与其管理者分层地相关,雇员通过管理者(另一雇员)向上报告。产品可以是描述其在商店内的位置的多个分层结构的一部分。主数据与事务数据之间的这种关系基本上可被视为名词/动词关系。事务数据捕捉诸如销售、递送、购买、电子邮件发送、和撤销之类的动词; 主数据是名词。这是相同关系数据仓库事实(fact)和维度(dimension)共享。随着基数(集合中元素的数目)减少,元素被作为主数据元素一甚至诸如客户之类的普遍接受的主题区域——来对待的可能性减小。例如,如果公司仅具有三个客户,则最可能的是他们可能不会考虑那些客户主数据——至少在用主数据管理方案支持他们的上下文中不会考虑,只是因为通过主数据基础架构来管理那些客户毫无益处。但是,因为关于管理这样的大实体集的伴生问题以及益处,具有数千客户的公司将认为客户是重要的主题区域。客户对这些公司的每一个的价值是相同的。都依赖于其企业的客户。一个需要客户主数据解决方案;另一个则不需要。基数不改变给定实体类型的分类;然而,具有用于管理实体类型的方案的重要性随着实体类型的基数的增长而增加。主数据往往比起事务数据更不易失。随着其变得更加易失,其通常被认为更加事务性。例如,一些可能认为“合同”是主数据元素。其他可能认为其是事务。取决于合同的有效期限,其可能变成任一情形。推广职业运动员的代理可能认为其合同是主数据。合同彼此各不相同,并且通常具有超过一年的有效期限。可能倾向于简单地具有称为“运动员” 的一个主数据项。然而,运动员往往在任何给定时间具有一个以上的合同一个是与其团队的,而其他是与签署产品的公司的。代理可能需要随着时间管理所有这些合同——因为合同元素被重新协商或者运动员被交换。其他合同(例如,详细设计汽车或对房子刷油漆的合同)更像是事务。它们是用于提供支付服务的一次性短暂契约,并且通常在数小时内被履行和销毁。简单的实体(甚至有价值的实体)对于管理而言一般不具挑战性,并且很少被认为是主数据元素。元素越不复杂,则越不可能需要管理此元素的改变。典型地,此类资产被简单地收集并被计数。例如,诺克斯堡(Fort Knox,美国政府黄金库)很可能不会跟踪关于存储在那里的每根个体金条的信息,而是仅仅维持它们的数目。每根金条的价值是牢固的, 基数高且寿命长;但是,复杂度很低。对于公司而言,数据元素越有价值,则其将越可能被认为是主数据元素。价值和复杂度共同起作用。虽然主数据通常比起事务数据更不易失,但是具有完全不改变的属性的实体通常不被分类为主数据。例如,稀有硬币可能看起来满足主数据处理的准则中的许多。稀有硬币收藏家很可能将具有许多稀有硬币。所以,基数很高。它们是有价值的。它们也是复杂的。例如,稀有硬币具有历史和描述。存在诸属性,诸如正面、背面、情况、硬币上的文字、铭刻、镶边、以及底色的情况。存在其他属性,诸如设计者姓名缩写、边缘设计、层、以及肖像。但是,稀有硬币无需作为主数据项来管理,因为它们不随时间而改变一或者至少它们不会改变很多。可能需要添加更多信息,因为特定硬币的历史被揭示,或者如果特定属性必须被校正。但是,一般而言,稀有硬币不可通过主数据管理系统来进行管理,因为它们不够易失因此不足以批准一解决方案。主数据管理的驱动方式中的一个是重用。例如,在简单世界中,CRM系统可管理关于消费者的每件事情,并且无需与其他系统共享关于消费者的任何信息。然而,在当今的复杂环境中,需要跨多个应用程序共享消费者信息。麻烦就从那里产生。因为(出于数个原因)对主数据的访问并非总是可用的,所以人们开始将主数据存储在各个位置,诸如电子表格和应用程序私有存储。存在要管理未跨企业重用的主数据的其他原因,诸如数据质量降级和衰退。然而,如果主数据实体在多个系统中被重用,则确信其应通过主数据管理系统来管理。虽然枚举各种主数据实体类型是简单的,但是有时决定公司中的哪些数据项应当被作为主数据来对待更具挑战性。通常,一般不遵循主数据的定义的数据可能需要像那样来管理,而遵循定义的数据可能不需要。最终,在决定什么实体类型应当作为主数据来对待时,比起依赖于简单的实体类型列表而言,根据其在商业需要的上下文内的行为和属性来对它们进行分类是更好的。诸如MDS应用24或web浏览器26之类的客户机应用被配置为与诸如由用于与主数据(诸如主数据11和/或存储在网络数据存储中的主数据27)进行交互的MDM服务17 所主控的工作流19之类的工作流进行交互。基于云的MDS服务17可主控用于客户机的 MDM服务中的所有或部分。例如,客户机可将本地MDM服务与MDM服务17所提供的功能集成起来,或使用MDM服务17管理所有它们的主数据需要。在客户机计算设备和基于云的MDM服务17之间创建了安全连接。例如,主数据服务(MDS)客户机应用24和/或web浏览器26可用来与主数据以及由MDM服务17所托管的工作流19进行交互。诸如客户机100之类的客户机可修改由基于云的MDM服务17主控的MDM工作流19,以帮助满足它们的需要。工作流被安排在用于执行预先定义的可配置块的灵活流水线中。客户机可连接至基于云的MDM服务17并可基于预先定义的块(例如,执行块、条件块、循环块)的集合来创建/定制现有的工作流。这些块被配置为根据预先定义的方案来接收、处理和发送与主数据有关的信息。客户机可发布可被其他客户机消费的主数据。客户机也可订阅主数据的改变,使得客户机在主数据改变时被通知。以下提供了更多的描述。图2示出了供客户机与基于云的MDM网络服务交互的系统。如所示的,系统200包括ERP系统205、基于云的MDM网络服务225和计算设备220。ERP系统包括计算设备210 和ERP服务器215。MDM服务225包括网络共享230和服务器240。更多或更少的计算机可被配置成在图2中例示的系统内操作。计算设备可以以许多不同的方式来配置。例如,这些计算设备中的一些可以是移动计算设备(例如,蜂窝电话、平板计算机、智能电话、膝上型计算机等等)、台式计算设备和服务器。MDM服务225被配置成提供基于在线云的服务(例如,与主数据进行交互的ERP/ MDS服务),该基于在线云的服务允许客户机与涉及MDM的工作流232进行交互以及允许客户机发布/订阅主数据。一些计算设备可被安排成数据共享,一些可被安排在局域网中,一些可被安排在可通过因特网来访问的诸网络中,等等。
计算设备通过网络18被耦合。网络18可以是许多不同类型的网络。例如,网络 18可以是IP网络、用于蜂窝通信的载波网络等等。一般而言,网络18用于在诸如计算设备 210、计算设备220、网络共享230、网络服务240之类的计算设备之间传送数据。计算设备210包括MDS应用程序212以及用户界面216。如图所示,计算设备210 被用户用来与诸如存储在ERP服务器215内的主数据217和存储在MDM服务225内的主数据233之类的主数据进行交互。主数据可被存储在许多不同的位置中。例如,一个或多个数据存储可被用来存储与ERP系统205有关的主数据。用户界面(UI) 216被用来与诸如MDS应用212和MDS网络应用242之类的应用进行交互。例如,UI 216可被用来创建/修改由基于云的MDM服务225所主控的工作流。计算设备220包括一个或多个应用,诸如可被配置成查看/输入被发布到网络服务225的主数据/与该数据交互的web浏览器222。例如,web浏览器222可被用来访问用于提供主数据服务的基于云的MDM网络服务225内的诸如服务器240之类的服务器。计算设备220可用于创建/修改由基于MDN云的服务225所主控的工作流232。基于云的MDM服务225包括服务器240和网络共享230。服务器240包括MDM web 应用242,MDM web应用包括web呈现器244。web应用242被配置成接收与主数据服务相关的请求并对其进行响应。例如,服务器240可以访问存储在网络共享230上的主数据233 或其他数据。web应用242用于向诸如移动计算设备或某一其他计算设备(例如,计算设备 210、计算设备220)之类的计算设备的用户提供接口以便经由网络18与主数据/工作流进行交互。MDM服务225接收来自计算设备的请求,使得计算设备210执行与主数据有关的操作。例如,客户机可对主数据项作出改变,创建/修改工作流,和/或请求与主数据有关的信息。诸如MDS应用212之类的客户机应用与主数据及由MDM服务225主控的工作流进行交互。如所讨论地,基于云的MDM服务225被配置成为客户机提供主数据管理服务。客户机可以与不同的组织和公司相关联。例如,MDM服务225可被配置成为成千的不同公司提供MDM服务。基于云的MDM服务225还可用于管理对组织的多站点部署。MDM服务225 旨在为各主数据管理解决方案提供一揽子解决方案(box solution)的可配置输出。根据一实施例,基于云的MDM服务225被配置为与诸如MDS应用212之类的不同客户机MDS应用集成在一起。工作流232由基于云的MDM服务225来主控,以帮助客户机满足他们的MDM需要。 工作流被安排在用于执行预先定义的可配置块的灵活流水线中。客户机可从各种计算设备/位置连接至基于云的MDM服务225,并可基于预先定义的块(例如,执行块、条件块、循环块)的集合来创建/定制现有的MDM工作流。这些块被配置为根据预先定义的方案来接收、处理和发送与主数据有关的信息。例如,客户机计算设备210可使用基于云的MDM服务 225来发布主数据,该主数据可被其他计算设备/系统订阅。应用编程接口(API 246)被客户机用来与一个或多个工作流232进行交互。API 被用来与包括工作流的块进行交互。可定制的工作流允许用户提供具有输入和输出的中心工作流,并可将数据转换成包括用户定义格式的各种格式或从这些格式转换数据。例如,一个ERP服务可使用第一格式的数据,而MDM系统内的另一客户机则消费第二格式的数据。
客户机还可使用不同的应用/版本/系统来订阅主数据并发布主数据。基于云的 MDM服务225可连接至各种不同的系统,并连接至不同版本的主数据系统。例如,ERP系统 205可发布/订阅可被系统的一个或多个其他部分消费的主数据。根据一实施例,API 246包括以下公共界面([服务契约]) public interface IMdsService {([运作契约])
IEnumerable<string> GetAllEndpointsNames();
void ConnectToEndpoint(string endpointFullName, string clientName);[OperationContract]
void CreateEndpoint(string endpointFullName, EndpointType type, IEnumerable<SchemaMemberDefinition> schemaMembers);
void CreateEntity(string entityFullName, IEnumerable<SchemaMemberDefinition> schemaMembers);
void Associate(string endpointFullName, string entityFullName); public interface IMessageEndpoint {
void PushMessage(DataMessage message);
DataMessage GetMessage(string endpointFullN ame, string clientName); [OperationContract]
void DeleteMessage(string endpointFullName, string clientName, Guid messageld,string receipt); public interface IWorkflowDesignService {
void InserBlockBefore(BlockMetadataDefinition ancestor, BlockMetadataDefinition block);
void InserBlockAfter(BlockMetadataDefinition predecestor, BlockMetadataDefinition block);
void RemoveBlock(BlockMetadataDefinition block);([数据契约]) [Serializable]([可串行化]) public class DataField {([数据成员]) public object NewValue { get; set; } [DataMember]
public object OldValue { get; set; }
}[DataContract] public class DataMessage {
public Guid Id { get; set; }
public string EndpointName { get; set; }
public Dictionary<string, DataField〉Properties { get; set; } [DataMember]
public string Receipt { get; set; }
} public class SchemaMemberDefinition
{
public string Name { get; set; }
public SchemaMemberType Type { get; set; } [DataMember]
public uint TypeSize { get; set; }
public bool IsKey { get; set; }
public bool IsMandatory { get; set; } public class BlockMetadataDefinition
{
public string Name { get; set; }
public Uri Uri { get; set; }
public BlockKind Kind { get; set; } [DataMember]
public string BlockDefinition { get; set; }
} public class ConstraintDefinition {public string Name { get; set; }
public ConstraintType Type { get; set; }
public List<ConstraintDefinition> Children { get; set; }
}图3示出了在基于云的MDM服务中主控的工作流。如所示出的,系统300包括基于云的MDM网络服务310、网络18及计算设备301和计算设备303。MDM服务310包括工作流320、冲突存储330、和数据存储334。计算设备301和计算设备303包括用于与主数据进行交互并管理主数据的MDS应用(302、304)。当主数据被客户机(诸如计算设备301)修改时,工作流320进行以下动作在框 322处转换消息;在框323处运行商业规则;在框324处验证改变;在框325处转换数据;以及,将这些数据改变传播给订阅者(诸如计算设备303),以帮助确保不同系统之间的数据
一致性。工作流被安排在用于执行预先定义的可配置块的灵活流水线中。客户机可从各种计算设备/位置连接至基于云的MDM服务310,并可基于预先定义的块(例如,执行块、条件块、循环块)的集合来创建/定制现有的MDM工作流。这些块被配置为根据预先定义的方案来接收、处理和发送与主数据有关的信息。根据一实施例,工作流包括不同类型的块,包括零个或多个执行块、条件块和循环块。执行块包括任何类型的动作(即,商业规则或消息方案转换)。条件块包括对应用于工作流的条件语句(即,if/else语句)的使用。循环块用于对工作流内的循环进行建模。 客户机可使用API来创建/修改不同的框。工作流可涉及执行服务和/或预测服务。执行服务是可处理消息并将其传递至工作流中的下一个块的服务。预测服务可取决于所接收到的消息而返回真或假,并一般用于定制条件和循环块。根据一实施例,预先定义的模型、商业规则和工作流的默认集合可被一个或多个客户机使用。图4示出了用于基于云的MDM服务的服务器体系结构。如所示出的,服务器体系结构400包括耦合至用户440和客户机450的服务器410。服务器400包括管理门户412、 公共API 414、工作流416、商业规则418、通知420、端点422、服务424、商业实体426、元数据428、数据访问430、存储432、服务位置434、日志记录和跟踪436以及安全438。管理门户412允许用户使用如建模特性、CRUD操作、冲突解决之类的主数据来管理他们的主数据。例如,用户可创建/修改工作流。存储432用于存储主数据、工作流以及与主数据的管理有关的其他信息。例如,存储432可用于存储表格、队列等。存储可包括不同类型的存储,诸如关系型数据、结构化数据和/或非结构化数据。数据访问层430提供对存储432的访问。根据一实施例,数据访问层430提供用于访问不同类型数据的标准化方法。例如,可使用取数据方法来访问存储在关系型存储或非关系型存储内的数据。商业实体426组件包括关于不同客户机组织/结构的信息。元数据428组件包括关于使用MDM服务的基于云的体系结构的不同客户机的数据和商业信息的数据。服务424层提供不同MDM 服务。例如,服务424提供用于与工作流组件416、商业规则418组件、通知420组件,和端点组件422进行交互的服务。服务位置434是用来标识在所述基于云的体系结构内的服务的位置的组件。日志记录和跟踪436组件允许生成/存储/查阅日志记录和跟踪信息。安10/11 页
全438组件包括基于云的MDM体系结构的安全设置(例如,客户机安全设置、主数据等)。 客户机450使用公共API 414来发布主数据、调用一个或多个工作流和/或订阅主数据的改变。公共API 414向客户机提供对由基于云的体系结构提供的服务的访问。图5示出了用于访问基于云的MDM服务的客户机体系结构。如所示出的,客户机体系结构500包括客户机510,客户机510包括写入者512、收听者514、MDM客户机同步服务516、改变跟踪518、MDS应用520、SQL服务器522、安全524、冲突解决526和元数据528。 写入者512用于向基于云的MDM服务225发送与主数据有关的消息。例如,客户机510可对主数据作出改变,所述主数据接受由MDM服务225所主控的工作流的处理。收听者514 收听来自基于云的MDM服务225的、与主数据的改变有关的通知。例如,当客户机510所订阅的主数据项改变时,MDM服务225向客户机510发送指示/应用对主数据的改变的消息。MDM客户机同步服务516检测何时对主数据作出了改变,并在需要时将改变提交给MDM 服务225和/或将由另一客户机所作出的改变合并入主数据510。改变跟踪518被配置成检测何时对主数据作出了改变。改变跟踪帮助将主数据的本地改变传播至基于云的MDM服务225。MDS应用520可被用来与主数据进行交互,所述主数据对于客户机是本地的和/或非本地的(例如,基于云的MDM服务225)。根据一实施例,改变跟踪是基于SQL服务器522 所提供的功能来构建的。在客户机侧,提供通用服务的集合来跨不同的商业应用连接或同步主数据。安全524被用来设置与主数据相关的安全设置。冲突解决526被配置成执行涉及与主数据有关的冲突的操作。主数据528可以是与对主数据的管理有关的各种类型的数据。现在参考图6,将描述使用基于云的体系结构的主数据管理的示例性过程。当阅读对在此提供的例程的讨论时,应当理解,各实施例的逻辑操作被实现为(I)运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算系统的性能要求来选择的。因此,所例示的并且构成此处所描述的实施例的逻辑操作被不同地表示为操作、结构设备、动作或模块。 这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑,及其任何组合来实现。在开始框之后,过程600移动至操作610,在操作610从客户机接收与主数据管理有关的消息。消息通过公共API来接收,该公共API向客户机提供与由基于云的体系结构所提供的MDM服务进行交互的途径。该消息包括要使用基于云的MDM服务来执行的期望操作。该操作可以是对主数据的改变和/或对工作流的改变和/或订阅请求。例如,用户可向基于云的MDM服务发送所提议的对主数据的改变。用户还可使用API来创建/修改工作流。用户还可请求订阅一个或多个主数据项。前进到操作620,基于云的体系结构内的服务被访问(例如,与消息中的操作相关的工作流被访问)。例如,每一客户机可具有其自己的工作流。客户机可以与多于一个工作流相关联。消息可包括用于访问工作流的标识符。MDM服务还可响应于从客户机接收到消息而存储涉及要访问哪个(哪些)工作流的信息。还可访问其它服务,例如,商业规则组件、通知组件、转换组件、端点组件、管理组件等等。前进到操作630,作出关于操作何时有效的确定。例如,对主数据建议的改变可在改变被确定为有效之前服从不同的限制。类似,对工作流的改变可具有要满足的限制。转到操作640,在被确定为有效时,使用基于云的体系结构执行与消息相关的操
13作。例如,对主数据项的改变可被存储,对工作流的改变可被存储,订阅请求可被存储,等
坐寸O移到操作650,使用通知组件通知客户机所执行的操作。例如,订阅以接收何时主数据项被改变的通知的一个或多个客户机可被通知。响应于对工作流的成功改变和/或订阅请求,可将确认通知发送给用户。随后该过程行进到结束框,并返回以处理其它动作。以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。
权利要求
1.一种使用基于云的体系结构管理主数据的系统,包括网络连接;以及一种服务器,包括处理器、存储器和计算机可读存储介质;存储在所述计算机可读介质上并在所述处理器上执行的操作环境;用于存储与主数据的管理相关的数据的存储;由客户机用来与主数据管理服务进行交互的应用程序编程接口 API ;以及向所述客户机和其它客户机提供MDM服务的服务层;其中MDM服务包括使用工作流,所述工作流包括能由客户机配置的执行块、条件块,和循环块,并且其中所述工作流被用于执行与客户机的主数据的管理相关的操作。
2.如权利要求I所述的系统,其特征在于,所述存储包括冲突存储和数据存储,当被由所述服务层提供的验证服务确定时,所述冲突存储用于存储与对主数据的建议改变的冲突相关的冲突数据,所述数据存储用于存储能够由所述客户机消费的主数据。
3.如权利要求I所述的系统,其特征在于,所述服务层包括转换服务,所述转换服务将所述主数据从第一格式转换为至少一个其它格式。
4.如权利要求I所述的系统,其特征在于,还包括通知组件,所述通知组件向订阅了对所述主数据的改变的客户机提供通知。
5.如权利要求I所述的系统,其特征在于,还包括端点组件,所述端点组件将所述服务耦合到不同类型的MDM应用。
6.如权利要求I所述的系统,其特征在于,所述服务器从所述客户机上的同步服务接收主数据改变,并且其中所述服务器通知订阅了对主数据的改变的客户机。
7.如权利要求I所述的系统,其特征在于,还包括商业规则组件,所述商业规则组件为不同客户机存储商业规则。
8.一种使用基于云的体系结构管理主数据的方法,包括在服务器通过应用程序编程接口 API组件接收来自客户机的消息以执行与主数据相关的操作,所述服务器是基于云的系统的部分;所述服务器访问向所述客户机和其它客户机提供MDM服务的服务层;其中MDM服务包括使用工作流,所述工作流包括能由客户机配置的块,并且其中所述工作流被用于执行与客户机的主数据的管理相关的操作;所述服务器使用通知组件用于通知与所执行的操作相关的客户机;以及所述服务器访问转换服务,所述转换服务将由所述工作流处理的所述主数据从第一格式转换为至少一个其它格式。
9.如权利要求8所述的方法,其特征在于,还包括通知组件向对主数据的改变的进行过订阅的客户机提供通知;端点组件确定与所述客户机相关联的MDM应用的类型;以及其中所述服务器从所述客户机上的同步服务接收主数据改变,并且其中所述服务器通知订阅对主数据的改变的客户机。
10.一种存储用于使用基于云的体系结构管理主数据的计算机可执行指令的计算机可读存储介质,包括在服务器通过应用程序编程接口 API组件接收来自客户机的消息以执行与主数据管理相关的操作,所述服务器是基于云的系统的部分;所述服务器访问向所述客户机和其它客户机提供MDM服务的服务层;其中MDM服务包括使用工作流,所述工作流包括能由客户机配置的块,并且其中所述工作流被用于执行与客户机的主数据的管理相关的操作;以及所述服务器使用通知组件用于通知与所执行的操作相关的客户机。
全文摘要
本发明揭示了基于云的主数据管理体系结构。基于云的服务体系结构被用来将主数据管理(MDM)服务提供给客户机。基于云的MDM体系结构包括客户机体系结构和服务器体系结构。客户机体系结构包括用于与基于云的MDM服务进行交互的同步服务。服务器体系结构包括公共应用程序编程接口(API)以及用于访问不同MDM功能的门户。例如,客户机可访问服务器体系结构来创建/修改由基于云的服务主控的MDM工作流。基于云的服务体系结构也提供对不同MDM服务的访问,包括MDM工作流、验证、转换,以及与主数据相关的存储。基于云的体系结构被用来发布主数据和/或对主数据的订阅。
文档编号G06Q10/06GK102609813SQ20121001982
公开日2012年7月25日 申请日期2012年1月20日 优先权日2011年1月27日
发明者A·马拉费, D·库库鲁佐, I·科罗温 申请人:微软公司