将协作功能扩展到外部数据的制作方法

文档序号:6348901阅读:225来源:国知局
专利名称:将协作功能扩展到外部数据的制作方法
将协作功能扩展到外部数据背景在现代企业计算系统实现中,业务数据可以跨多个数据存储分布。例如,用户可以要求访问多个“业务线”数据存储以获得有关业务活动的知识,如有关顾客的信息及其他业务相关的数据。这些“业务线”数据存储可以跨系统分布,也可以位于系统的外部。利用这样的数据系统及其他业务进程的用户可能需要在日常的操作过程中频繁地跨多个外部业务系统导航。从管理角度和用户角度两者,在外部业务系统之间操纵和从外部数据存储获取内容会是复杂而昂贵的。

发明内容
一方面,一种计算设备包括处理单元,以及连接到该处理单元的系统存储器,系统存储器包括指令,当由处理单元执行时,指令使得处理单元创建访问和操纵驻留在内部数据存储和外部数据存储上的数据的业务数据目录模块,其中,业务数据目录模块接收对数据的请求,确定数据是驻留在内部数据存储中还是外部数据存储中,并访问驻留在外部数据存储上的数据;以及,创建供应从外部数据存储访问的数据的外部数据供应模块,其中, 外部数据供应模块映射来自外部数据存储的外部数据供呈现在客户机计算设备上。用户可以以访问和操纵来自内部数据存储的数据的相同的方式来访问和操纵来自外部数据存储的数据。在另一方面,一种用于获得业务数据的方法包括接收对来自数据存储的数据的请求;确定数据是驻留在内部数据存储上还是外部数据存储上;当数据驻留在外部数据存储上时,访问外部数据存储上的外部数据;映射来自外部数据存储的外部数据;以及,以与来自内部数据存储的内部数据的相同的方式向用户呈现来自外部数据存储的外部数据。在又一方面,一种具有计算机可执行指令的计算机可读存储介质,当由计算设备执行指令时,这些指令使得计算设备执行下列步骤,包括创建封装一组与业务对象有关的所定义的属性的业务对象的定义;访问实体的定义并执行其中定义的属性的清单;接收对来自数据存储的数据的请求;确定数据是驻留在内部数据存储上还是外部数据存储上;当数据驻留在外部数据存储上时,使用专用于外部数据存储的一个或多个API调用来访问外部数据存储上的外部数据;映射来自外部数据存储的外部数据;生成用于向客户机计算设备的用户呈现的表单和视图,其中,视图和表单包含和与外部数据存储相关联的外部业务系统的API中具体化的允许的操作一致的内容;以与来自内部数据存储的内部数据的相同的方式在视图或表单中的一个中向用户呈现来自外部数据存储的外部数据;以及,允许用户以操纵来自内部数据存储的内部数据的相同的方式来操纵外部数据存储。提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在以任何方式用于限定所要求保护的主题的范围。附图描述在考虑到对各实施例的详细描述结合各个附图,将更全面地理解本公开的各方


图1示出了示例联网的计算系统。图2示出了来自图1的系统中的示例服务器计算设备。图3示出了图2的服务器计算设备的示例逻辑模块。图4示出了图3的示例业务数据目录模块的示例逻辑模块。图5示出了图3的示例外部数据列表供应模块的示例逻辑模块。图6示出了用于创建外部数据列表的示例方法的流程图。图7示出了用于呈现外部数据列表视图的示例方法的流程图。图8示出了用于新表单提交的示例方法的流程图。图9示出了用于删除实体的特定实例的示例方法的流程图。
具体实施例方式本申请涉及用于将容纳在一个或多个外部数据存储中的数据集成到优选业务软件平台中的系统和方法。如同数据对优选业务软件平台是本地的那样向用户呈现外部地容纳的数据。用户可以根据一个或多个预定义约束对数据执行操作。此处所描述的示例包括“内部的”数据存储和“外部的”数据存储。“内部的”数据存储是位于系统或企业内并由于例如诸如防火墙之类的安全措施而只可在系统或企业内被访问的存储。“外部的”数据存储是通过例如诸如因特网之类的网络可在系统或企业外部访问的存储。此处参考美国华盛顿州雷德蒙市的微软公司的SHAREPOINT 团队服务门户服务器服务平台描述了下列示例实施例。然而,本公开的概念还适用于其中期望将位于外部的数据集成到软件平台中的其他系统。图1示出了示例联网的计算系统100,包括容纳在通过业务软件平台来访问的内部和外部数据存储两者中的数据。术语“系统”和“平台”一般是指使得计算机软件能够在可以在联网环境中互连的一个或多个计算设备上执行程序模块、算法、操作以及任务的任何硬件体系结构和/或软件框架。示例联网的计算系统100包括客户机计算设备105、服务器计算设备110、本地业务系统115、本地数据存储120、多个外部业务系统125a-c (统称为,外部业务系统125),以及外部数据存储130a-c(统称为,外部数据存储130)。另外,还示出了第一通信网络13 和第二通信网络135b(统称为,通信网络135)。示例联网的计算环境100的其他实施例也是可能的。通信网络135是用于一个或多个计算设备之间的数据传输的双向数据通信路径。 在示例实施例中,第一通信网络13 建立用于在客户机计算设备105和服务器计算设备 110之间进行数据传输的内部通信路径。第二通信网络13 建立用于在服务器计算设备 110和外部业务系统125之间进行数据传输的外部通信路径。一般而言,通信网络135可以是许多无线或硬连线的WAN、LAN、因特网或其他基于数据包的通信网络中的任何一种,以使得可以在示例环境100的元件之间传输数据。通信网络135的其他实施例也是可能的。在所示出的示例中,网络13 是相对于业务数据平台140位于内部的网络。网络13 是“内部的”,因为网络13 是LAN、或WAN,它们只可以被位于与业务数据平台140相关联的诸如防火墙之类的安全措施背后的设备105、110及其他设备访问。网络13 是可被业务数据平台140外部的多个计算设备访问的网络。例如,网络 135b可以是因特网或可从业务数据平台140外部访问的另一网络。如下面所描述的,计算设备105,110可以是通用计算设备。在所示出的示例中,服务器计算设备110是可以实现业务流程的业务服务器。示例业务流程包括数据协作流程、 数据管理流程等等。服务器计算设备110可包括一起操作以实现业务流程的多个互连的服务器计算设备。本地业务系统115是包括提供业务应用的一个或多个业务系统的计算设备。本地业务系统115通常包括对位于下面更详细地描述的诸如本地数据存储120之类的一个或多个数据存储中的数据进行操作的业务逻辑。一个示例本地业务系统是由微软公司所提供的 Windows SharePoint Services 3.0。本地业务系统115的其他实施例也是可能的。本地数据存储120是诸如关系数据存储之类的数据存储介质或任何其他类型的永久性数据存储设备。本地数据存储120以预定义格式来存储数据,以使得服务器计算设备110可以查询、修改并管理存储在其上的数据。例如,本地数据存储120可以是诸如结构化查询语言(SQL)数据库之类的启用XML的数据库。在某些实施例中,本地数据存储120 可以包括在逻辑上被一起分组成互连的“场”配置的多个数据存储设备。本地数据存储120 的其他实施例也是可能的。如图1中所描绘的,客户机计算设备105、服务器计算设备110、本地业务系统115, 以及本地数据存储120在逻辑上被一起分组在业务数据平台140内,以在功能上作为业务软件平台来操作。例如,用户可以与客户机计算设备105上的web浏览器应用进行交互,以利用相应的设备110、115以及本地数据存储120的功能作为进行业务数据管理并与在业务数据平台140内操作的一个或多个其他用户进行协作的工具。这样的业务数据平台的一个示例实施例是来自微软公司的SHAREP0INT 团队服务门户服务器服务平台。在示例实施例中,分别地,平台组件可以被具体化为Office SharePoint Server 2007,而服务组件可以被具体化为 Windows SharePoint Services 3.0。业务数据平台140的其他实施例也是可能的。如上文所描述的,外部业务系统125类似于本地业务系统115,除了在业务数据平台140外面操作以外。每一个相应的外部业务系统都可包括提供业务应用的一个或多个业务系统。例如,外部业务系统中的一个或多个可以是来自美国宾夕法尼亚州 Newtown Square的美国SAP公司的企业资源计划(ERP)系统,或另一通用的客户关系管理系统。一般而言,相应的外部业务系统中的每一个都可以是任何类型的业务线系统,该系统包括带有对位于关系数据存储或任何其他类型的永久性数据存储设备中的数据进行操作的业务逻辑的外部服务或软件系统。在示例实施例中,相应的外部业务系统中的每一个都可通信地连接到相应的外部数据存储130a-c。如上文所描述的,外部数据存储130可以被以类似于本地数据存储120的配置的方式来配置,其中,每一个相应的外部数据存储130a-c被格式化,以使得对应的外部业务系统可以对存储在其上的数据进行操作。外部数据存储130的其他实施例也是可能的。按如上文参考业务数据平台140的元件所描述的类似的方式,用户可以与客户机计算设备105上的web浏览器应用进行交互,以利用服务器计算设备110、外部业务系统 125以及外部数据存储130的功能作为进行业务数据管理并与在业务数据平台140的上下文内操作的一个或多个其他用户进行协作的工具。尽管外部业务系统125和外部数据存储130位于业务数据平台140的外部,但是, 本公开的服务器计算设备110被配置成将外部业务系统125的功能集成到业务数据平台 140 中。例如,如下面进一步详细描述的,服务器计算设备110可以被配置成实现其中外部业务数据被带进业务数据平台140的上下文中的映射操作。在此示例中,服务器计算设备110实现用于呈现和对相应的外部业务数据进行操作的多种方法,这些方法类似于用于呈现和对容纳在业务数据平台140内部的业务数据进行操作的方法。以此方式,将外部业务数据如同它对业务数据平台140是本地的(S卩,内部的)那样呈现给用户和对其操作。图2示出了图1的服务器计算设备110的详细视图。如上文所提及的,在所示出的示例中,服务器计算设备110是包括至少一个处理单元205和系统存储器210的计算设备。例如,服务器计算设备110可以是台式计算机、膝上型计算机,或个人数据助理。 服务器计算设备110可包括任意数量的输入/输出设备、中央处理单元(CPU)、数据存储设备、网络设备,以及任何其他功能设备,以便以其他方式处理和传输数据。取决于计算设备的配置和类型,系统存储器210可以是易失性的(例如,RAM)、非易失性的(例如,ROM、闪存等等)或其任何组合。系统存储器210可以存储用于控制计算设备的操作的操作系统215。一个示例操作系统215是来自微软公司的WINDOWS 操作系统,或也是来自微软公司的诸如Microsoft Office SharePoint Server 2007之类的服务
ο系统存储器210也可以包括一个或多个软件应用220,并可包括程序数据。软件应用220可包括许多不同类型的单功能和多功能程序,如电子邮件程序、日历程序、因特网浏览程序、电子表格程序、跟踪和报告信息的程序、文字处理程序,以及许多其他程序。一个示例程序是来自微软公司的Office应用套件。服务器计算设备110可以具有附加特征或功能。例如,服务器计算设备110还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。在图2中通过可移动存储225和不可移动存储230示出了这样的附加存储。计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的物理易失性和非易失性、可移动和不可移动介质。系统存储器210、可移动存储225和不可移动存储230都是计算机可读存储介质的示例。计算机存储介质包括, 但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由服务器计算设备110访问的任何其他介质。任何这样的计算机存储介质都可以是服务器计算设备110的一部分。服务器计算设备110也可包括输入设备235,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备对0,如显示器、扬声器、打印机等等。服务器计算设备110也可以包含通信连接M5,该通信连接245允许通过网络(例如,图1的通信网络13 在联网的分布式计算环境中与诸如外部业务系统125之类的其他计算设备(例如,客户机、服务器、数据库)进行通信。通信连接245是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”是指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例,通信介质包括有线介质,如有线网络或直接线连接,以及如声学、RF、红外及其他无线介质之类的无线介质。在示例实施例中,如上文所描述的,图1的客户机计算设备105可以用类似于服务器计算设备110的配置的方式来配置。客户机计算设备105也可以包含呈现图形用户界面的web浏览器应用。以此方式,用户可以通过网页与在线内容进行交互。在示例实施例中, web浏览器应用是使用HTTP (超文本传输协议)请求web服务器以供在线内容的客户机程序。这样的web浏览器应用的一个示例是来自微软公司的INTERNET EXPLORER 因特网浏
IrWSB 见益。一般而言,示例系统100可包括多个客户机计算机设备105和服务器计算设备 110。客户机计算设备105和服务器计算机设备110的其他实施例也是可能的。图3示出了图2的服务器计算设备110的示例逻辑模块。服务器计算设备110包括示例业务数据目录(BDC)模块305和示例外部数据列表供应(EDL)模块310。BDC模块305和EDL模块310 —起操作以将驻留在外部数据存储130上的业务数据集成到业务数据平台140的上下文内。例如,在一个实施例中,BDC模块305和EDL模块 310 一起生成从外部数据存储130a所收集的业务数据的“外部数据列表”并将其呈现在客户机计算设备105上运行的web浏览器应用的图形用户界面上。客户机计算机设备105的用户可以以用户可以访问和操纵驻留在业务数据平台140内部的数据的相同的方式来访问和/或操纵该外部业务数据。示例BDC模块305包括在服务器计算设备110上执行的软件的逻辑模块,这些逻辑模块使得BDC模块305能够访问和/或操纵驻留在外部数据存储130上的数据。一般而言,当通过客户机计算设备105与web浏览器应用进行交互的用户请求数据时,BDC模块 305接收请求,并就所请求的数据是驻留业务数据平台140的内部还是外部作出确定。在评估所请求的数据的状态之后,BDC模块305处理数据请求。在示例实施例中,当数据请求与驻留在业务数据平台140外部的业务数据相关联时,BDC模块305通过使用应用程序编程接口(API)调用来从外部数据存储130获取各种数据类型的业务数据,这些调用得到相应的外部业务系统125的支持,如外部业务系统125的业务逻辑通过API的fa9ade来表示。在示例实施例中,每一个相应的外部业务系统
的相应的API定义允许的操作以及对于以其他方式呈现和对驻留在相应的外部数据存储 130a-c中的业务数据进行操作的一个或多个预定义约束。一方面,有关与相应的外部业务系统相关联的API的信息被包含在存储在可由BDC模块305访问的本地数据存储120中的数据中。另外,与每一个相应的外部业务系统相关联的其他数据也可以存储在本地数据存储120中,包括BDC模块305用来访问并从外部数据存储130获得数据的构造的各种参数和定义。例如,此数据可包括与实体、方法有关的数据,与每一个方法相关联的参数以及参数描述符、安全授权信息、过滤信息、以及与相应的外部业务系统125和外部数据存储130 中的每一个相关联的参数。另外,本地数据存储120可以包含描述存储在相应的外部数据存储130中的每一个中的数据类型的数据。示例EDL模块310包括在服务器计算设备110上运行的软件的逻辑模块,服务器计算设备Iio使得EDL模块310能够在业务数据平台140的上下文内供应容纳在外部数据存储130中的业务数据。例如,EDL模块310包括将外部业务数据映射到“视图”和“表单” 供通过web浏览器应用呈现在客户机计算设备105上的算法。一方面,供应外部业务数据是指进行配置以在产品中引起变化的过程。如上文所描述的,在示例实施例中,“视图”对应于用于根据存储在本地数据存储 120中的数据,基于相应的外部业务系统125和对应的外部数据存储130的配置来显示外部业务数据的方法。“表单”对应于供数据更新存储在相应的外部数据存储130中的外部业务数据的方法。以此方式,如下面进一步详细描述的,所供应的视图和表单包含与在相应的外部业务系统125的API中具体化的允许操作一致的内容,并使得外部业务数据能够通过允许的CRUDQ操作(创建、读取、更新、删除和查询操作)来访问和修改。图4示出了图3的BDC模块305的示例逻辑模块的详细视图。在示例实施例中, BDC模块305包括示例参数模块405和示例实体模块410。参数模块405包括访问BDC模块305可以作为业务数据和业务逻辑的源来建模和访问的多个业务系统的连接参数和定义的软件。在示例实施例中,相应的业务系统特定的连接参数和定义被包含在存储在本地数据存储120中可由参数模块405访问的数据中。一般而言,业务系统可以被定义为存在于业务数据平台140的上下文内部和外部。例如,可以定义本地业务系统115和相应的外部业务系统的连接参数和定义。 此外,BDC模块305也是可扩展的,因为可以在任何时间定义带有相应的参数和定义的新业务系统。实体模块410包括创建封装一组与业务对象有关的定义的属性的业务对象(被称为实体)的定义的软件。在示例实施例中,实体和相关联的属性被包含在存储在本地数据存储120中可由实体模块410访问的数据中。一般而言,实体的实例包含数据成员,这些数据成员可以是表示诸如整数和字符串之类的标量类型的简单类型,或表示诸如地址之类的结构化字段的复杂类型。例如,诸如 “顾客”或“雇员,,之类的实体实例可包括表格列表数据。在示例实施例中,“顾客”实体实例可包括数据的表格列表,该数据的表格列表包括包含诸如顾客名称、订单、产品以及地址之类的字段的列,其中,表格列表将包括分配给每一个相应的列和行的数据成员。一方面,实体属性可以包括规定如何访问、修改以及呈现与特定实体有关的字段和相应的数据成员的多个定义。例如,与分配给CRUDQ操作的方法有关的实体属性可以规定允许的CRUDQ操作和相关的功能。例如,如果在实体的属性内定义类型“Creator (创建器)”的方法,则允许创建实体的新实例。此外,如下面进一步详细描述的,可以在逻辑上将 CRUDQ操作分组到View Group (视图组),该视图组使得能够供应与实体相关联的相应的视图和表单中的每一个。
所供应的视图和表单将具有与例如分配给视图组内的CRUDQ操作的定义的方法相关联的有关功能。例如,如果在实体的视图组内定义了“Creator”方法,则可以在网页上供应用户可以选择其来创建新实体实例的“New(新)”菜单项。其他示例方法包括对应于视图的类型“Finder (查找器)”或“Specific Finder (具体查找器)”的方法;允许更新特定实体实例的一个或多个属性的类型“Updater (更新器),,的方法;以及,允许删除特定实体实例的类型“Deleter (删除器),,的方法。如上文所提及的,在某些实施例中,可以将分配给对于相应的视图和表单的CRUDQ 操作的方法在逻辑上一起分组成视图组。一般而言,实体可以包含多个视图组。例如,“顾客”实体实例的一个特定视图可以对应于一组列,这些列可包括“名”和“姓”和“公司名称”。在某些实施例中,此特定视图可以只支持查看操作,其中,相关联的视图组将只包含类型“Finder”或“Specific Finder”的方法,如下面进一步详细描述的。在示例实施例中,其他类型的定义的实体属性也是可能的。例如,可以定义表示诸如主键之类的特定实体的永久性标识的“ Identif ier (标识符)”属性,以便可以标识相应的实体。此外,可以定义包括用于过滤在调用分配给相应的CRUDQ操作的方法之后返回的数据成员的准则的“FilterDescriptor (过滤器描述符)”属性。几个示例过滤准则包括 "PageNumber (页码)”准则、“Wildcard (通配符)”准则、“Comparison (比较)”准贝丨J以及其他准则。另外,可以定义“Actions (动作),,属性,该属性包括作为对可能与实体有关的 URL的引用的动作。此外,可以定义“Relationships(关系)”属性,该属性包含对在其上定义了关联的一个或多个实体的引用。在示例实施例中,关联表示一个或多个实体之间的关系。另外, 还可以定义“Access (访问)”属性,该属性包括管理员可以用来设置访问权限(即,CRUDQ 操作)的方法。也可以定义许多其他方法或许多其他类型的实体属性。图5示出了图3的示例EDL模块310的逻辑模块的详细视图。在示例实施例中,EDL 模块310包括示例模式生成模块505,以及示例表单和视图生成和呈现(FVGR)模块510。一方面,示例模式生成模块505和FVGR模块510使得EDL模块310能够通过将相应的业务数据映射到视图和表单来将容纳在外部数据存储130中的业务数据集成到业务数据平台140的上下文中,以供经由由客户机计算设备105上的web浏览器应用所实例化的图形用户界面向用户呈现。根据本公开的原理,所供应的视图和表单包含与相应的外部业务系统125的API中具体化的允许的操作一致的内容,如BDC模块305获得的。一方面,如上文所描述的,模式生成模块505包括访问如在实体模块410中所定义的实体的定义的软件。一般而言,模式生成模块505访问如包含在存储在本地数据存储120 中的数据中的相应的实体以及所有相关联的属性。例如,模式生成模块505可以接收访问实体“顾客”的请求,并执行其中定义的属性的清单。在示例实施例中,可以在业务数据平台 140的上下文内定义“顾客”实体,因此,作为默认,其可以包含与标准CRUDQ操作相关联的所有方法,包括“Creator”方法、“Specific Finder”方法、“Updater”方法,以及“Deleter” 方法。因此,基于请求,模式生成模块505将执行清单,该清单将反映“顾客”实体的所述的 CRUDQ方法的存在。作为另一个示例,模式生成模块505可以接收访问实体“雇员”的请求,并执行其中定义的属性的清单。在示例实施例中,可以在业务数据平台140的上下文外部定义“雇员”实体,因此,“雇员”实体可以不包含全部CRUDQ方法。例如,“雇员”实体可以不包括“Creator”方法,因此,基于请求,模式生成模块505将列清单“雇员”实体只具有 "Specific Finder” 方法、“Updater” 方法以及 “Deleter” 方法。 FVGR模块510包括访问模式生成模块505以请求在相应的实体内定义的属性的统计的软件。随后,基于所查明的清单,FVGR模块510生成表单和视图,供通过web浏览器应用所实例化的图形用户界面稍后呈现给客户机计算设备105的用户。以此方式,所供应的视图和表单包含与驻留在相应的外部数据存储130上的外部业务数据的数据类型以及相应的外部业务系统125的API中具体化的业务允许的操作一致的内容,如由BDC模块305 获得的。 例如,相对于如上文所描述的实体“顾客”,FVGR模块510访问模式生成模块505以请求实体“顾客”的属性的清单。在示例实施例中,模式生成模块505将执行清单,并返回定义的属性,包括“Creator”方法、“Specific Finder”方法、“Updater”方法,以及“Deleter”方法。随后,FVGR模块510响应于客户机计算设备105从实体“顾客”的实例对相关数据的请求,创建表单和视图。这可包括,例如,当发现“Creator”方法时,创建“New”菜单项,以及创建“Newltem. aspx”网页。当发现“Updater”方法时,这可包括创建“Edit (编辑)”菜单项,以及创建“Editltem. aspx”网页。当发现“Deleter”方法时,这可包括创建“Delete (删除)”菜单项。另外,如下面进一步详细描述的,当发现“Specific Finder”时,这可包括创建“View(视图)”菜单项;而在创建外部数据列表期间,创建新显示表单“Displtem. aspx", 其中,将向“Specific Finder”询问它所返回的字段,所返回的字段将被添加为“Displtem. aspx”显示表单上的字段。类似地,相对于实体“雇员”,如上文所描述的,FVGR模块510访问模式生成模块 505以请求实体“雇员”的属性的清单。在示例实施例中,模式生成模块505执行清单,并返回获得的定义的属性,包括“Specific Finder”方法、“Updater”方法,以及“Deleter”方法。随后,FVGR模块510响应于由客户机计算设备105对外部业务数据的请求,供应表单和视图。在示例实施例中,这可包括,以与如上文对于“顾客”实体所描述的类似的方式,对于“Specific Finder”方法、“Updater”方法以及“Deleter”方法,创建视图和表单。 然而,在示例实施例中,在“雇员”实体中没有发现“Creator”方法,因此,将不会显示相关联的表单以及任何相关联的链接。此处所描述的示例包括在web浏览器应用上呈现业务数据。然而,本公开的系统和方法可以适用于任何客户机呈现过程,诸如,例如,呈现对于Windows呈现基础(WPF)的可扩展的应用标记语言(XAML)。如上文所描述的,平台140允许用户访问、查看以及操纵驻留在内部和外部数据存储两者上的数据。下面将参考图6-8描述这样的操作的示例。图6示出了用于创建外部数据列表的示例方法600的流程图。在操作605中,在服务器计算设备上实例化业务应用程序。随后,在操作607中,服务器计算设备访问本地数据存储,并执行存储在本地数据存储中的所有实体的定义内定所义的属性的清单。在操作610中,服务器计算设备分析在操作605中获得的属性的清单,以标识例如容纳了将用于创建外部数据列表的业务数据的相应的外部数据存储的一个或多个参数。在操作615中,服务器计算设备执行映射过程,其中,外部数据源的数据成员的数据类型被映射到对优选业务数据平台本地的数据类型字段。例如,“顾客”实体实例可以具有“名”和“姓”,“名,,和“姓,,具有带有类型“字符串,,的数据成员。服务器计算设备将把 “名”和“姓”数据成员映射到具有对业务数据平台本地的“字符串”类型的数据类型字段。 在其中优选业务数据平台是例如SiarePoint的各实施例中,操作615可以将“顾客”实体类型的“名”和“姓”数据成员映射到“SPList”字段,该字段这是使得能够在a^rePoint的上下文内的视图和表单中呈现外部业务数据的“字符串”数据类型字段。以此方式,615的映射过程用于将外部业务数据表面处理为业务数据平台,如同它是本地数据那样。接下来,在操作620中,服务器计算设备创建外部数据列表。在示例实施例中,外部数据列表被配置为没有任何相应的视图或表单。一方面,创建的外部数据列表被区分,以便允许业务数据平台在任何时间点通过服务器计算设备连接到相应的外部数据源。在操作625中,服务器计算设备分析在操作605中获得的属性的清单,以确定与 CRUDQ相关联的方法中的哪些在存储在本地数据存储中的实体内被定义。在某些实施例中, 方法在逻辑上被分组在分配给特定实体的相应的视图以及表单中的每一个的视图组内。在操作630中,服务器计算设备为操作625中的视图组中找到的每一个“Finder” 方法创建视图。在示例实施例中,服务器计算设备为包含“Finder”方法的每一个视图组创建网页,并将视图Web Part (Web部分)配置成要在网页上呈现。一方面,Web部分利用从 “Finder”方法所生成的协作应用标记语言(CAML)视图XML,并列出将在视图中返回的所有数据类型字段。一方面,网页被配置,使得当用户浏览到该网页时,"Finder"将执行,并且外部业务数据将从外部数据存储被获取,并由服务器计算设备形成为与用户可能在业务数据平台中期望的表单一致的表单。在操作635中,服务器计算设备为操作625中的视图组中找到的每一个“Update” 方法创建表单。例如,当相应的视图组支持“Update”方法时,“EditForm(编辑表单)”被创建。在示例实施例中,服务器计算设备为包含“Update”方法的每一个视图组创建网页, 并配置要在网页上呈现的表单Web部分。在操作640中,服务器计算设备将与相应的外部业务数据相关联的动作映射到业务数据平台的自定义动作。例如,创建对可能与实体有关的URL的引用。图7示出了用于呈现外部数据列表视图的示例方法700的流程图。在操作705中, 服务器计算设备访问本地数据存储,并执行存储在本地数据存储中的所有实体的定义内所定义的属性的清单。服务器计算设备分析属性的清单,以便例如使得服务器计算设备能够调用将允许外部业务数据被获取的外部业务系统API。在示例实施例中,列清单的属性包括,例如,完全定义相应的实体的视图组的“LobSysten^nstance”、“EntityNamespace (实体名控件)”、“实体名称”,以及“Specif icFinder (特定查找器)”名称。在操作710中,对于操作705中的清单中所标识的相应的“Finder (查找器)”方法,“Finder”方法名称存储在视图CAML中,类似于例如如上文所描述的示例方法600的操作630。在操作715中,服务器计算设备调用外部业务数据系统API,以确定对“Finder”的一组过滤器,并基于存储在视图CAML中的值来配置过滤器值。在操作720中,服务器计算设备执行“Finder”方法以从外部数据源检索外部业务数据。在操作725中,根据视图CAML,对检索到的数据重新排序,将一个或多个分类、过滤和分页应用到检索到的数据。一般而言,将检索到的数据作为数据表加载到存储器中,并使用索引模式来避免需要在表中多次复制数据。在操作730中,向网页呈现以与操作725 —致的方式为条件的检索到的数据的网页。在示例实施例中,基于对业务数据平台是本地的数据类型字段来呈现检索到的数据。图8示出了对于新表单提交的示例方法800的流程图。在操作805中,服务器计算设备从本地数据存储收集表单字段值。在示例实施例中,操作805是通过用户在所呈现的网页编辑表单上选择“0K”以收集HTML表单字段值来实现的。在操作810中,服务器计算设备访问本地数据存储,并执行存储在本地数据存储中的所有实体的定义内所定义的属性的清单。以此方式,使得服务器计算设备能够调用将允许外部业务数据被获取的外部业务数据系统API。在示例实施例中,列清单的属性包括, 例如,完全定义相应的实体的视图组的“LobSysten^nstance”、“EntityNamespace”、“实体名称”,以及 “SpecificFinder” 名称。在操作815中,服务器计算设备分析属性的清单,以确定,例如,存储在本地数据存储中的所有实体的定义内所定义的“Updater”方法参数。在示例实施例中,对于表单中的每一个字段值,设置相关联的“Updater”参数。在操作825中,服务器计算设备执行 “Updater”方法以更新相应的外部数据存储中的外部业务数据。图9示出了用于删除实体的特定实例的示例方法900的流程图。在操作910中, 服务器计算设备访问本地数据存储并执行对存储在本地数据存储中的所有实体的定义内所定义的属性的清单。服务器计算设备分析所获得的属性的清单,例如,表示诸如主键之类的特定实体的标识的实体“标识符”属性,以使得相应的实体可被标识。在操作915中,服务器计算设备分析在操作910中获得的属性的清单,以便例如使得服务器计算设备能够调用将允许外部业务数据被获取的外部业务数据系统API。在示例实施例中,列清单的属性包括,例如,完全定义相应的实体的视图组的 “LobSystemInstance,,、“EntityNamespace”、“实体名称,,,以及"SpecificFinder,,名称。在操作920中,服务器计算设备执行“Deleter”方法。此处所描述的示例实施例可被实现为联网的计算系统环境中的计算设备中的逻辑操作。逻辑操作可被实现为(i)在计算设备上运行的计算机实现的指令、步骤或程序模块的序列;以及,(ii)在计算设备内运行的互相连接的逻辑或硬件模块。例如,在不偏离本公开的范围的情况下,逻辑操作可被实现为软件、固件、模拟/ 数字电路,和/或其任何组合中的算法。软件、固件,或计算机指令的类似的序列可以被编码和存储在计算机可读存储介质上,也可以被编码在载波信号内,供在计算设备之间传输。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种计算设备(110),包括:处理单元(205);连接到所述处理单元O05)的系统存储器010),所述系统存储器(210)包括指令,当由所述处理单元(20 执行所述指令时,使得所述处理单元O05)创建访问和操纵驻留在内部数据存储(120)和外部数据存储(130)上的数据的业务数据目录模块(305),其中,所述业务数据目录模块(30 接收对数据的请求,确定所述数据是驻留在所述内部数据存储(120)上还是所述外部数据存储(130)上,并访问驻留在所述外部数据存储(130)上的所述数据;以及,创建供应从所述外部数据存储(130)访问的数据的外部数据供应模块(310),其中,所述外部数据供应模块(310)映射来自所述外部数据存储(130)的外部数据供呈现在客户机计算设备(105)上;其中,用户可以以访问和操纵来自所述内部数据存储(120)的数据的相同的方式来访问和操纵来自所述外部数据存储(130)的所述数据。
2.如权利要求1所述的计算设备,其特征在于,还包括包括所述外部数据的所述外部数据存储(130),所述外部数据包括外部业务系统(125)的实体、与所述外部业务系统 (125)的所述实体相关联的方法、以及所述方法所使用的参数。
3.如权利要求1所述的计算设备,其特征在于,所述业务数据目录模块(30 还包括参数模块G05),所述参数模块(40 包括对于多个不同的外部数据存储(130)的连接参数和定义。
4.如权利要求3所述的计算设备,其特征在于,所述连接参数包括对于内部数据存储 (120)和所述外部数据存储(130)的定义。
5.如权利要求1所述的计算设备,其特征在于,所述业务数据目录模块(305)还包括实体模块010),所述实体模块(410)创建封装一组与业务对象有关的所定义的属性的所述业务对象的定义。
6.如权利要求5所述的计算设备,其特征在于,所述实体模块(410)包含表示标量类型的数据成员。
7.如权利要求1所述的计算设备,其特征在于,所述外部数据供应模块(310)还包括模式生成模块(505),所述模式生成模块(50 访问实体的定义并执行其中所定义的属性的清单。
8.如权利要求1所述的计算设备,其特征在于,所述外部数据供应模块(310)还包括表单和视图生成模块(510),所述表单和视图生成模模块(510)生成表单和视图以供通过图形用户界面向所述客户机计算设备(110)的所述用户呈现。
9.如权利要求8所述的计算设备,其特征在于,其中所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容。
10.如权利要求9所述的计算设备,其特征在于,所述允许的操作包括创建器方法;具体查找器方法;更新器方法;以及删除器方法。
11.如权利要求1所述的计算设备,其特征在于,所述业务数据目录模块(30 使用对所述外部数据存储(130)专用的一个或多个API调用从所述外部数据存储(130)获取数据。
12.一种用于获取业务数据的方法,所述方法包括 接收对来自数据存储(120、130)的数据的请求;确定所述数据是驻留在内部数据存储(120)上还是外部数据存储(130)上; 当所述数据驻留在所述外部数据存储(130)上时,访问所述外部数据存储(130)上的外部数据;映射来自所述外部数据存储(130)的所述外部数据;以及以与来自所述内部数据存储(120)的内部数据的相同的方式向用户呈现来自所述外部数据存储(130)的所述外部数据。
13.如权利要求12所述的方法,其特征在于,还包括生成所述视图和表单,以使得所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容。
14.如权利要求12所述的方法,其特征在于,还包括使用对所述外部数据存储(130)专用的一个或多个API调用来访问来自所述外部数据存储(130)的数据。
15.一种具有计算机可执行指令的计算机可读存储介质,当由计算设备(110)执行所述指令时,所述指令使得所述计算设备(110)执行下列步骤,包括创建封装一组与业务对象有关的所定义的属性的业务对象的定义; 访问实体的定义并执行在其中定义的属性的清单; 接收对来自数据存储(120、130)的数据的请求;确定所述数据是驻留在内部数据存储(120)上还是外部数据存储(130)上; 当所述数据驻留在所述外部数据存储(130)上时,使用对所述外部数据存储(130)专用的一个或多个API调用来访问所述外部数据存储(130)上的外部数据; 映射来自所述外部数据存储(130)的所述外部数据;生成用于向客户机计算设备(10 的用户呈现的表单和视图,其中,所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容;以与来自所述内部数据存储(120)的内部数据的相同的方式在所述视图或表单中的一个中向用户呈现来自所述外部数据存储(130)的所述外部数据;以及,允许所述用户以操纵来自所述内部数据存储(120)的所述内部数据的相同的方式来操纵所述外部数据存储(130)。
全文摘要
一种计算设备包括指令,当由处理单元执行指令时,这些指令使得处理单元创建访问和操纵驻留在内部数据存储和外部数据存储上的数据的业务数据目录模块,其中,业务数据目录模块接收对数据的请求,确定数据是驻留在内部数据存储中还是外部数据存储上,并访问驻留在外部数据存储上的数据,以及,创建供应从外部数据存储所访问的数据的外部数据供应模块,其中,外部数据供应模块映射来自外部数据存储的外部数据供呈现在客户机计算设备上。用户可以以访问和操纵来自内部数据存储的数据的相同的方式来访问和操纵来自外部数据存储的数据。
文档编号G06F9/06GK102378975SQ201080016200
公开日2012年3月14日 申请日期2010年3月26日 优先权日2009年3月31日
发明者C·F·约翰逊, E·仇, H·M·克劳三世, J·坎贝尔, M·纳兹如丁, P·K·哈伍德, T·豪根 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1