在现代企业计算系统实现中,业务数据可以跨多个数据存储分布。例如,用户可以要求访问多个“业务线”数据存储以获得有关业务活动的知识,如有关顾客的信息及其他业务相关的数据。这些“业务线”数据存储可以跨系统分布,也可以位于系统的外部。
利用这样的数据系统及其他业务进程的用户可能需要在日常的操作过程中频繁地跨多个外部业务系统导航。从管理角度和用户角度两者,在外部业务系统之间操纵和从外部数据存储获取内容会是复杂而昂贵的。
具体实施方式
本申请涉及用于将容纳在一个或多个外部数据存储中的数据集成到优选业务软件平台中的系统和方法。如同数据对优选业务软件平台是本地的那样向用户呈现外部地容纳的数据。用户可以根据一个或多个预定义约束对数据执行操作。
此处所描述的示例包括“内部的”数据存储和“外部的”数据存储。“内部的”数据存储是位于系统或企业内并由于例如诸如防火墙之类的安全措施而只可在系统或企业内被访问的存储。“外部的”数据存储是通过例如诸如因特网之类的网络可在系统或企业外部访问的存储。
此处参考美国华盛顿州雷德蒙市的微软公司的SHAREPOINT团队服务门户服务器服务平台描述了下列示例实施例。然而,本公开的概念还适用于其中期望将位于外部的数据集成到软件平台中的其他系统。
图1示出了示例联网的计算系统100,包括容纳在通过业务软件平台来访问的内部和外部数据存储两者中的数据。术语“系统”和“平台”一般是指使得计算机软件能够在可以在联网环境中互连的一个或多个计算设备上执行程序模块、算法、操作以及任务的任何硬件体系结构和/或软件框架。
示例联网的计算系统100包括客户机计算设备105、服务器计算设备110、本地业务系统115、本地数据存储120、多个外部业务系统125a-c(统称为,外部业务系统125),以及外部数据存储130a-c(统称为,外部数据存储130)。另外,还示出了第一通信网络135a和第二通信网络135b(统称为,通信网络135)。示例联网的计算环境100的其他实施例也是可能的。
通信网络135是用于一个或多个计算设备之间的数据传输的双向数据通信路径。在示例实施例中,第一通信网络135a建立用于在客户机计算设备105和服务器计算设备110之间进行数据传输的内部通信路径。第二通信网络135b建立用于在服务器计算设备110和外部业务系统125之间进行数据传输的外部通信路径。
一般而言,通信网络135可以是许多无线或硬连线的WAN、LAN、因特网或其他基于数据包的通信网络中的任何一种,以使得可以在示例环境100的元件之间传输数据。通信网络135的其他实施例也是可能的。
在所示出的示例中,网络135a是相对于业务数据平台140位于内部的网络。网络135a是“内部的”,因为网络135a是LAN、或WAN,它们只可以被位于与业务数据平台140相关联的诸如防火墙之类的安全措施背后的设备105、110及其他设备访问。
网络135b是可被业务数据平台140外部的多个计算设备访问的网络。例如,网络135b可以是因特网或可从业务数据平台140外部访问的另一网络。
如下面所描述的,计算设备105,110可以是通用计算设备。在所示出的示例中,服务器计算设备110是可以实现业务流程的业务服务器。示例业务流程包括数据协作流程、数据管理流程等等。服务器计算设备110可包括一起操作以实现业务流程的多个互连的服务器计算设备。
本地业务系统115是包括提供业务应用的一个或多个业务系统的计算设备。本地业务系统115通常包括对位于下面更详细地描述的诸如本地数据存储120之类的一个或多个数据存储中的数据进行操作的业务逻辑。一个示例本地业务系统是由微软公司所提供的Windows SharePoint Services3.0。本地业务系统115的其他实施例也是可能的。
本地数据存储120是诸如关系数据存储之类的数据存储介质或任何其他类型的永久性数据存储设备。本地数据存储120以预定义格式来存储数据,以使得服务器计算设备110可以查询、修改并管理存储在其上的数据。例如,本地数据存储120可以是诸如结构化查询语言(SQL)数据库之类的启用XML的数据库。在某些实施例中,本地数据存储120可以包括在逻辑上被一起分组成互连的“场”配置的多个数据存储设备。本地数据存储120的其他实施例也是可能的。
如图1中所描绘的,客户机计算设备105、服务器计算设备110、本地业务系统115,以及本地数据存储120在逻辑上被一起分组在业务数据平台140内,以在功能上作为业务软件平台来操作。例如,用户可以与客户机计算设备105上的web浏览器应用进行交互,以利用相应的设备110、115以及本地数据存储120的功能作为进行业务数据管理并与在业务数据平台140内操作的一个或多个其他用户进行协作的工具。
这样的业务数据平台的一个示例实施例是来自微软公司的SHAREPOINT团队服务门户服务器服务平台。在示例实施例中,分别地,平台组件可以被具体化为Office SharePoint Server 2007,而服务组件可以被具体化为Windows SharePoint Services 3.0。业务数据平台140的其他实施例也是可能的。
如上文所描述的,外部业务系统125类似于本地业务系统115,除了在业务数据平台140外面操作以外。每一个相应的外部业务系统125a-c都可包括提供业务应用的一个或多个业务系统。
例如,外部业务系统125a-c中的一个或多个可以是来自美国宾夕法尼亚州Newtown Square的美国SAP公司的企业资源计划(ERP)系统,或另一通用的客户关系管理系统。一般而言,相应的外部业务系统125a-c中的每一个都可以是任何类型的业务线系统,该系统包括带有对位于关系数据存储或任何其他类型的永久性数据存储设备中的数据进行操作的业务逻辑的外部服务或软件系统。
在示例实施例中,相应的外部业务系统125a-c中的每一个都可通信地连接到相应的外部数据存储130a-c。如上文所描述的,外部数据存储130可以被以类似于本地数据存储120的配置的方式来配置,其中,每一个相应的外部数据存储130a-c被格式化,以使得对应的外部业务系统125a-c可以对存储在其上的数据进行操作。外部数据存储130的其他实施例也是可能的。
按如上文参考业务数据平台140的元件所描述的类似的方式,用户可以与客户机计算设备105上的web浏览器应用进行交互,以利用服务器计算设备110、外部业务系统125以及外部数据存储130的功能作为进行业务数据管理并与在业务数据平台140的上下文内操作的一个或多个其他用户进行协作的工具。
尽管外部业务系统125和外部数据存储130位于业务数据平台140的外部,但是,本公开的服务器计算设备110被配置成将外部业务系统125的功能集成到业务数据平台140中。
例如,如下面进一步详细描述的,服务器计算设备110可以被配置成实现其中外部业务数据被带进业务数据平台140的上下文中的映射操作。在此示例中,服务器计算设备110实现用于呈现和对相应的外部业务数据进行操作的多种方法,这些方法类似于用于呈现和对容纳在业务数据平台140内部的业务数据进行操作的方法。以此方式,将外部业务数据如同它对业务数据平台140是本地的(即,内部的)那样呈现给用户和对其操作。
图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、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由服务器计算设备110访问的任何其他介质。任何这样的计算机存储介质都可以是服务器计算设备110的一部分。
服务器计算设备110也可包括输入设备235,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备240,如显示器、扬声器、打印机等等。
服务器计算设备110也可以包含通信连接245,该通信连接245允许通过网络(例如,图1的通信网络135)在联网的分布式计算环境中与诸如外部业务系统125之类的其他计算设备(例如,客户机、服务器、数据库)进行通信。通信连接245是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”是指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例,通信介质包括有线介质,如有线网络或直接线连接,以及如声学、RF、红外及其他无线介质之类的无线介质。
在示例实施例中,如上文所描述的,图1的客户机计算设备105可以用类似于服务器计算设备110的配置的方式来配置。客户机计算设备105也可以包含呈现图形用户界面的web浏览器应用。以此方式,用户可以通过网页与在线内容进行交互。在示例实施例中,web浏览器应用是使用HTTP(超文本传输协议)请求web服务器以供在线内容的客户机程序。这样的web浏览器应用的一个示例是来自微软公司的INTERNETEXPLORER因特网浏览器。
一般而言,示例系统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的来表示。在示例实施例中,每一个相应的外部业务系统125a-c的相应的API定义允许的操作以及对于以其他方式呈现和对驻留在相应的外部数据存储130a-c中的业务数据进行操作的一个或多个预定义约束。
一方面,有关与相应的外部业务系统125a-c相关联的API的信息被包含在存储在可由BDC模块305访问的本地数据存储120中的数据中。另外,与每一个相应的外部业务系统125a-c相关联的其他数据也可以存储在本地数据存储120中,包括BDC模块305用来访问并从外部数据存储130获得数据的构造的各种参数和定义。
例如,此数据可包括与实体、方法有关的数据,与每一个方法相关联的参数以及参数描述符、安全授权信息、过滤信息、以及与相应的外部业务系统125和外部数据存储130中的每一个相关联的参数。另外,本地数据存储120可以包含描述存储在相应的外部数据存储130中的每一个中的数据类型的数据。
示例EDL模块310包括在服务器计算设备110上运行的软件的逻辑模块,服务器计算设备110使得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和相应的外部业务系统125a-c的连接参数和定义。此外,BDC模块305也是可扩展的,因为可以在任何时间定义带有相应的参数和定义的新业务系统。
实体模块410包括创建封装一组与业务对象有关的定义的属性的业务对象(被称为实体)的定义的软件。在示例实施例中,实体和相关联的属性被包含在存储在本地数据存储120中可由实体模块410访问的数据中。
一般而言,实体的实例包含数据成员,这些数据成员可以是表示诸如整数和字符串之类的标量类型的简单类型,或表示诸如地址之类的结构化字段的复杂类型。例如,诸如“顾客”或“雇员”之类的实体实例可包括表格列表数据。在示例实施例中,“顾客”实体实例可包括数据的表格列表,该数据的表格列表包括包含诸如顾客名称、订单、产品以及地址之类的字段的列,其中,表格列表将包括分配给每一个相应的列和行的数据成员。
一方面,实体属性可以包括规定如何访问、修改以及呈现与特定实体有关的字段和相应的数据成员的多个定义。例如,与分配给CRUDQ操作的方法有关的实体属性可以规定允许的CRUDQ操作和相关的功能。例如,如果在实体的属性内定义类型“Creator(创建器)”的方法,则允许创建实体的新实例。此外,如下面进一步详细描述的,可以在逻辑上将CRUDQ操作分组到View Group(视图组),该视图组使得能够供应与实体相关联的相应的视图和表单中的每一个。
所供应的视图和表单将具有与例如分配给视图组内的CRUDQ操作的定义的方法相关联的有关功能。例如,如果在实体的视图组内定义了“Creator”方法,则可以在网页上供应用户可以选择其来创建新实体实例的“New(新)”菜单项。其他示例方法包括对应于视图的类型“Finder(查找器)”或“Specific Finder(具体查找器)”的方法;允许更新特定实体实例的一个或多个属性的类型“Updater(更新器)”的方法;以及,允许删除特定实体实例的类型“Deleter(删除器)”的方法。
如上文所提及的,在某些实施例中,可以将分配给对于相应的视图和表单的CRUDQ操作的方法在逻辑上一起分组成视图组。一般而言,实体可以包含多个视图组。例如,“顾客”实体实例的一个特定视图可以对应于一组列,这些列可包括“名”和“姓”和“公司名称”。在某些实施例中,此特定视图可以只支持查看操作,其中,相关联的视图组将只包含类型“Finder”或“Specific Finder”的方法,如下面进一步详细描述的。
在示例实施例中,其他类型的定义的实体属性也是可能的。例如,可以定义表示诸如主键之类的特定实体的永久性标识的“Identifier(标识符)”属性,以便可以标识相应的实体。此外,可以定义包括用于过滤在调用分配给相应的CRUDQ操作的方法之后返回的数据成员的准则的“FilterDescriptor(过滤器描述符)”属性。几个示例过滤准则包括“PageNumber(页码)”准则、“Wildcard(通配符)”准则、“Comparison(比较)”准则以及其他准则。另外,可以定义“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将列清单:“雇员”实体只具有“SpecificFinder”方法、“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”菜单项,以及创建“NewItem.aspx”网页。当发现“Updater”方法时,这可包括创建“Edit(编辑)”菜单项,以及创建“EditItem.aspx”网页。当发现“Deleter”方法时,这可包括创建“Delete(删除)”菜单项。另外,如下面进一步详细描述的,当发现“Specific Finder”时,这可包括创建“View(视图)”菜单项;而在创建外部数据列表期间,创建新显示表单“DispItem.aspx”,其中,将向“Specific Finder”询问它所返回的字段,所返回的字段将被添加为“DispItem.aspx”显示表单上的字段。
类似地,相对于实体“雇员”,如上文所描述的,FVGR模块510访问模式生成模块505以请求实体“雇员”的属性的清单。在示例实施例中,模式生成模块505执行清单,并返回获得的定义的属性,包括“SpecificFinder”方法、“Updater”方法,以及“Deleter”方法。
随后,FVGR模块510响应于由客户机计算设备105对外部业务数据的请求,供应表单和视图。在示例实施例中,这可包括,以与如上文对于“顾客”实体所描述的类似的方式,对于“Specific Finder”方法、“Updater”方法以及“Deleter”方法,创建视图和表单。然而,在示例实施例中,在“雇员”实体中没有发现“Creator”方法,因此,将不会显示相关联的表单以及任何相关联的链接。
此处所描述的示例包括在web浏览器应用上呈现业务数据。然而,本公开的系统和方法可以适用于任何客户机呈现过程,诸如,例如,呈现对于Windows呈现基础(WPF)的可扩展的应用标记语言(XAML)。
如上文所描述的,平台140允许用户访问、查看以及操纵驻留在内部和外部数据存储两者上的数据。下面将参考图6-8描述这样的操作的示例。
图6示出了用于创建外部数据列表的示例方法600的流程图。在操作605中,在服务器计算设备上实例化业务应用程序。随后,在操作607中,服务器计算设备访问本地数据存储,并执行存储在本地数据存储中的所有实体的定义内定所义的属性的清单。
在操作610中,服务器计算设备分析在操作605中获得的属性的清单,以标识例如容纳了将用于创建外部数据列表的业务数据的相应的外部数据存储的一个或多个参数。
在操作615中,服务器计算设备执行映射过程,其中,外部数据源的数据成员的数据类型被映射到对优选业务数据平台本地的数据类型字段。例如,“顾客”实体实例可以具有“名”和“姓”,“名”和“姓”具有带有类型“字符串”的数据成员。服务器计算设备将把“名”和“姓”数据成员映射到具有对业务数据平台本地的“字符串”类型的数据类型字段。在其中优选业务数据平台是例如SharePoint的各实施例中,操作615可以将“顾客”实体类型的“名”和“姓”数据成员映射到“SPList”字段,该字段这是使得能够在SharePoint的上下文内的视图和表单中呈现外部业务数据的“字符串”数据类型字段。以此方式,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。在示例实施例中,列清单的属性包括,例如,完全定义相应的实体的视图组的“LobSystemInstance”、“EntityNamespace(实体名控件)”、“实体名称”,以及“SpecificFinder(特定查找器)”名称。
在操作710中,对于操作705中的清单中所标识的相应的“Finder(查找器)”方法,“Finder”方法名称存储在视图CAML中,类似于例如如上文所描述的示例方法600的操作630。在操作715中,服务器计算设备调用外部业务数据系统API,以确定对“Finder”的一组过滤器,并基于存储在视图CAML中的值来配置过滤器值。
在操作720中,服务器计算设备执行“Finder”方法以从外部数据源检索外部业务数据。在操作725中,根据视图CAML,对检索到的数据重新排序,将一个或多个分类、过滤和分页应用到检索到的数据。一般而言,将检索到的数据作为数据表加载到存储器中,并使用索引模式来避免需要在表中多次复制数据。在操作730中,向网页呈现以与操作725一致的方式为条件的检索到的数据的网页。在示例实施例中,基于对业务数据平台是本地的数据类型字段来呈现检索到的数据。
图8示出了对于新表单提交的示例方法800的流程图。在操作805中,服务器计算设备从本地数据存储收集表单字段值。在示例实施例中,操作805是通过用户在所呈现的网页编辑表单上选择“OK”以收集HTML表单字段值来实现的。
在操作810中,服务器计算设备访问本地数据存储,并执行存储在本地数据存储中的所有实体的定义内所定义的属性的清单。以此方式,使得服务器计算设备能够调用将允许外部业务数据被获取的外部业务数据系统API。在示例实施例中,列清单的属性包括,例如,完全定义相应的实体的视图组的“LobSystemInstance”、“EntityNamespace”、“实体名称”,以及“SpecificFinder”名称。
在操作815中,服务器计算设备分析属性的清单,以确定,例如,存储在本地数据存储中的所有实体的定义内所定义的“Updater”方法参数。在示例实施例中,对于表单中的每一个字段值,设置相关联的“Updater”参数。在操作825中,服务器计算设备执行“Updater”方法以更新相应的外部数据存储中的外部业务数据。
图9示出了用于删除实体的特定实例的示例方法900的流程图。在操作910中,服务器计算设备访问本地数据存储并执行对存储在本地数据存储中的所有实体的定义内所定义的属性的清单。服务器计算设备分析所获得的属性的清单,例如,表示诸如主键之类的特定实体的标识的实体“标识符”属性,以使得相应的实体可被标识。
在操作915中,服务器计算设备分析在操作910中获得的属性的清单,以便例如使得服务器计算设备能够调用将允许外部业务数据被获取的外部业务数据系统API。在示例实施例中,列清单的属性包括,例如,完全定义相应的实体的视图组的“LobSystemInstance”、“EntityNamespace”、“实体名称”,以及“SpecificFinder”名称。在操作920中,服务器计算设备执行“Deleter”方法。
此处所描述的示例实施例可被实现为联网的计算系统环境中的计算设备中的逻辑操作。逻辑操作可被实现为:(i)在计算设备上运行的计算机实现的指令、步骤或程序模块的序列;以及,(ii)在计算设备内运行的互相连接的逻辑或硬件模块。
例如,在不偏离本公开的范围的情况下,逻辑操作可被实现为软件、固件、模拟/数字电路,和/或其任何组合中的算法。软件、固件,或计算机指令的类似的序列可以被编码和存储在计算机可读存储介质上,也可以被编码在载波信号内,供在计算设备之间传输。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。