CN102378975B - 将协作功能扩展到外部数据 - Google Patents

将协作功能扩展到外部数据 Download PDF

Info

Publication number
CN102378975B
CN102378975B CN201080016200.6A CN201080016200A CN102378975B CN 102378975 B CN102378975 B CN 102378975B CN 201080016200 A CN201080016200 A CN 201080016200A CN 102378975 B CN102378975 B CN 102378975B
Authority
CN
China
Prior art keywords
external data
data
data storage
entity
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080016200.6A
Other languages
English (en)
Other versions
CN102378975A (zh
Inventor
J·坎贝尔
E·仇
H·M·克劳三世
P·K·哈伍德
T·豪根
C·F·约翰逊
M·纳兹如丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102378975A publication Critical patent/CN102378975A/zh
Application granted granted Critical
Publication of CN102378975B publication Critical patent/CN102378975B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种计算设备包括指令,当由处理单元执行指令时,这些指令使得处理单元:创建访问和操纵驻留在内部数据存储和外部数据存储上的数据的业务数据目录模块,其中,业务数据目录模块接收对数据的请求,确定数据是驻留在内部数据存储中还是外部数据存储上,并访问驻留在外部数据存储上的数据,以及,创建供应从外部数据存储所访问的数据的外部数据供应模块,其中,外部数据供应模块映射来自外部数据存储的外部数据供呈现在客户机计算设备上。用户可以以访问和操纵来自内部数据存储的数据的相同的方式来访问和操纵来自外部数据存储的数据。

Description

将协作功能扩展到外部数据
背景
在现代企业计算系统实现中,业务数据可以跨多个数据存储分布。例如,用户可以要求访问多个“业务线”数据存储以获得有关业务活动的知识,如有关顾客的信息及其他业务相关的数据。这些“业务线”数据存储可以跨系统分布,也可以位于系统的外部。
利用这样的数据系统及其他业务进程的用户可能需要在日常的操作过程中频繁地跨多个外部业务系统导航。从管理角度和用户角度两者,在外部业务系统之间操纵和从外部数据存储获取内容会是复杂而昂贵的。
发明内容
一方面,一种计算设备包括处理单元,以及连接到该处理单元的系统存储器,系统存储器包括指令,当由处理单元执行时,指令使得处理单元:创建访问和操纵驻留在内部数据存储和外部数据存储上的数据的业务数据目录模块,其中,业务数据目录模块接收对数据的请求,确定数据是驻留在内部数据存储中还是外部数据存储中,并访问驻留在外部数据存储上的数据;以及,创建供应从外部数据存储访问的数据的外部数据供应模块,其中,外部数据供应模块映射来自外部数据存储的外部数据供呈现在客户机计算设备上。用户可以以访问和操纵来自内部数据存储的数据的相同的方式来访问和操纵来自外部数据存储的数据。
在另一方面,一种用于获得业务数据的方法包括:接收对来自数据存储的数据的请求;确定数据是驻留在内部数据存储上还是外部数据存储上;当数据驻留在外部数据存储上时,访问外部数据存储上的外部数据;映射来自外部数据存储的外部数据;以及,以与来自内部数据存储的内部数据的相同的方式向用户呈现来自外部数据存储的外部数据。
在又一方面,一种具有计算机可执行指令的计算机可读存储介质,当由计算设备执行指令时,这些指令使得计算设备执行下列步骤,包括:创建封装一组与业务对象有关的所定义的属性的业务对象的定义;访问实体的定义并执行其中定义的属性的清单;接收对来自数据存储的数据的请求;确定数据是驻留在内部数据存储上还是外部数据存储上;当数据驻留在外部数据存储上时,使用专用于外部数据存储的一个或多个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)。另外,还示出了第一通信网络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)在计算设备内运行的互相连接的逻辑或硬件模块。
例如,在不偏离本公开的范围的情况下,逻辑操作可被实现为软件、固件、模拟/数字电路,和/或其任何组合中的算法。软件、固件,或计算机指令的类似的序列可以被编码和存储在计算机可读存储介质上,也可以被编码在载波信号内,供在计算设备之间传输。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种用于获取业务数据的方法,包括:
创建访问和操纵驻留在内部数据存储(120)和外部数据存储(130)上的数据的业务数据目录模块(305),其中,所述业务数据目录模块(305)接收对数据的请求,确定所述数据是驻留在所述内部数据存储(120)上还是所述外部数据存储(130)上,并使用专用于所述外部数据存储的一个或多个API调用来访问驻留在所述外部数据存储(130)上的所述数据,并创建封装一组与业务对象有关的所定义的属性的业务对象的定义,所述一组所定义的属性包括:表示特定实体的永久性标识的标识符属性、包含用于过滤从所述外部数据存储返回的数据成员的准则的过滤器描述符属性、包含作为对与特定实体有关的统一资源定位符的引用的动作属性、包含对在其上定义了关联的至少一个实体的引用的关系属性、包含用来设置访问权限的方法的访问属性;以及
创建供应从所述外部数据存储(130)访问的数据的外部数据供应模块(310),其中,所述外部数据供应模块(310)映射来自所述外部数据存储(130)的外部数据供呈现在客户机计算设备(105)上,并生成用于向所述客户机计算设备的用户呈现的表单和视图,其中所述视图和表单包含和与外部数据存储相关联的外部业务系统的API中具体化的允许的操作一致的内容,所述允许的操作包括:生成允许用户创建包括要存储在所述外部数据存储中的数据的新实体实例的菜单项的创建器方法、生成允许用户查看与实体示例相关联的数据的菜单项的具体查找器方法、生成允许用户更新实体示例的至少一个属性的菜单项的更新器方法、生成允许用户删除实体实例的菜单项的删除器方法;
其中,用户可以以访问和操纵来自所述内部数据存储(120)的数据的相同的方式来访问和操纵来自所述外部数据存储(130)的所述数据。
2.如权利要求1所述的方法,其特征在于,所述外部数据存储(130)还包括包括外部业务系统(125)的实体、与所述外部业务系统(125)的所述实体相关联的方法、以及所述方法所使用的参数的所述外部数据。
3.如权利要求1所述的方法,其特征在于,所述业务数据目录模块(305)还包括参数模块(405),所述参数模块(405)包括对于多个不同的外部数据存储(130)的连接参数和定义。
4.如权利要求3所述的方法,其特征在于,所述连接参数包括对于内部数据存储(120)和所述外部数据存储(130)的定义。
5.如权利要求1所述的方法,其特征在于,所述业务数据目录模块(305)还包括实体模块(410),所述实体模块(410)创建封装一组与业务对象有关的所定义的属性的所述业务对象的定义。
6.如权利要求5所述的方法,其特征在于,所述实体模块(410)包含表示标量类型的数据成员。
7.如权利要求1所述的方法,其特征在于,所述外部数据供应模块(310)还包括模式生成模块(505),所述模式生成模块(505)访问实体的定义并执行其中所定义的属性的清单。
8.如权利要求1所述的方法,其特征在于,所述外部数据供应模块(310)还包括表单和视图生成模块(510),所述表单和视图生成模模块(510)生成表单和视图以供通过图形用户界面向所述客户机计算设备(110)的所述用户呈现。
9.如权利要求8所述的方法,其特征在于,其中所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容。
10.如权利要求9所述的方法,其特征在于,所述允许的操作包括:创建器方法、具体查找器方法、更新器方法,以及删除器方法。
11.如权利要求1所述的方法,其特征在于,所述业务数据目录模块(305)使用对所述外部数据存储(130)专用的一个或多个API调用从所述外部数据存储(130)获取数据。
12.一种用于获取业务数据的方法,所述方法包括:
创建封装一组与业务对象有关的所定义的属性的业务对象的定义,所述一组所定义的属性包括:表示特定实体的永久性标识的标识符属性、包含用于过滤从所述外部数据存储返回的数据成员的准则的过滤器描述符属性、包含作为对与特定实体有关的统一资源定位符的引用的动作属性、包含对在其上定义了关联的至少一个实体的引用的关系属性、包含用来设置访问权限的方法的访问属性;
访问实体的定义并执行其中定义的属性的清单;
接收对来自数据存储(120、130)的数据的请求;
确定所述数据是驻留在内部数据存储(120)上还是外部数据存储(130)上;
当所述数据驻留在所述外部数据存储(130)上时,使用专用于所述外部数据存储的一个或多个API调用来访问所述外部数据存储(130)上的外部数据;
映射来自所述外部数据存储(130)的所述外部数据;
生成用于向用户呈现的表单和视图,其中所述视图和表单包含和与外部数据存储相关联的外部业务系统的API中具体化的允许的操作一致的内容,所述允许的操作包括:生成允许用户创建包括要存储在所述外部数据存储中的数据的新实体实例的菜单项的创建器方法、生成允许用户查看与实体示例相关联的数据的菜单项的具体查找器方法、生成允许用户更新实体示例的至少一个属性的菜单项的更新器方法、生成允许用户删除实体实例的菜单项的删除器方法;
以与来自所述内部数据存储(120)的内部数据的相同的方式向用户呈现来自所述外部数据存储(130)的所述外部数据;以及
允许所述用户以操纵来自所述内部数据存储的所述内部数据的相同的方式来操纵所述外部数据存储。
13.如权利要求12所述的方法,其特征在于,还包括生成所述视图和表单,以使得所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容。
14.如权利要求12所述的方法,其特征在于,还包括使用对所述外部数据存储(130)专用的一个或多个API调用来访问来自所述外部数据存储(130)的数据。
15.一种用于获取业务数据的系统,所述系统包括:
用于创建封装一组与业务对象有关的所定义的属性的业务对象的定义的装置,所述一组所定义的属性包括:表示特定实体的永久性标识的标识符属性、包含用于过滤从所述外部数据存储返回的数据成员的准则的过滤器描述符属性、包含作为对与特定实体有关的统一资源定位符的引用的动作属性、包含对在其上定义了关联的至少一个实体的引用的关系属性、包含用来设置访问权限的方法的访问属性;
用于访问实体的定义并执行在其中定义的属性的清单的装置;
用于接收对来自数据存储(120、130)的数据的请求的装置;
用于确定所述数据是驻留在内部数据存储(120)上还是外部数据存储(130)上的装置;
用于当所述数据驻留在所述外部数据存储(130)上时,使用对所述外部数据存储(130)专用的一个或多个API调用来访问所述外部数据存储(130)上的外部数据的装置;
用于映射来自所述外部数据存储(130)的所述外部数据的装置;
用于生成用于向用户呈现的表单和视图的装置,其中,所述视图和表单包含和与所述外部数据存储(130)相关联的外部业务系统(125)的API中具体化的允许的操作一致的内容,所述允许的操作包括:生成允许用户创建包括要存储在所述外部数据存储中的数据的新实体实例的菜单项的创建器方法、生成允许用户查看与实体示例相关联的数据的菜单项的具体查找器方法、生成允许用户更新实体示例的至少一个属性的菜单项的更新器方法、生成允许用户删除实体实例的菜单项的删除器方法;
用于以与来自所述内部数据存储(120)的内部数据的相同的方式向用户呈现来自所述外部数据存储(130)的所述外部数据的装置;以及,
用于允许所述用户以操纵来自所述内部数据存储(120)的所述内部数据的相同的方式来操纵所述外部数据存储(130)的装置。
CN201080016200.6A 2009-03-31 2010-03-26 将协作功能扩展到外部数据 Expired - Fee Related CN102378975B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/415,499 2009-03-31
US12/415,499 US8341189B2 (en) 2009-03-31 2009-03-31 Extending collaboration capabilities to external data
PCT/US2010/028937 WO2010117690A2 (en) 2009-03-31 2010-03-26 Extending collaboration capabilities to external data

Publications (2)

Publication Number Publication Date
CN102378975A CN102378975A (zh) 2012-03-14
CN102378975B true CN102378975B (zh) 2015-05-13

Family

ID=42785549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080016200.6A Expired - Fee Related CN102378975B (zh) 2009-03-31 2010-03-26 将协作功能扩展到外部数据

Country Status (10)

Country Link
US (1) US8341189B2 (zh)
EP (1) EP2414955B1 (zh)
JP (1) JP5536190B2 (zh)
KR (1) KR101665152B1 (zh)
CN (1) CN102378975B (zh)
BR (1) BRPI1009487A2 (zh)
CA (1) CA2753706C (zh)
RU (1) RU2546322C2 (zh)
SG (1) SG174147A1 (zh)
WO (1) WO2010117690A2 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11775745B2 (en) 2017-07-11 2023-10-03 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfore
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11810074B2 (en) 2018-12-18 2023-11-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11831457B2 (en) 2018-06-08 2023-11-28 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11847613B2 (en) 2020-02-14 2023-12-19 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11902344B2 (en) 2020-12-02 2024-02-13 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298841B2 (en) * 2009-11-23 2016-03-29 Ims Health Incorporated Method and system for adding combination fields to sharepoint (TM)
US10810222B2 (en) 2014-11-24 2020-10-20 Asana, Inc. Continuously scrollable calendar user interface
US10776796B2 (en) * 2017-05-25 2020-09-15 Walmart Apollo, Llc Systems and methods for matching data from an external catalog with data in an internal catalog
JP7462420B2 (ja) 2017-06-22 2024-04-05 ジェイピーモルガン・チェース・バンク,ナショナル・アソシエーション 銀行間情報ネットワークを実装するためのシステムおよび方法
US10623359B1 (en) 2018-02-28 2020-04-14 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11138021B1 (en) 2018-04-02 2021-10-05 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US10613735B1 (en) 2018-04-04 2020-04-07 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
US10437983B1 (en) 2018-05-11 2019-10-08 Cigent Technology, Inc. Method and system for improved data control and access
US10616151B1 (en) 2018-10-17 2020-04-07 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US10956845B1 (en) 2018-12-06 2021-03-23 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US10684870B1 (en) 2019-01-08 2020-06-16 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11204683B1 (en) 2019-01-09 2021-12-21 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US11341445B1 (en) 2019-11-14 2022-05-24 Asana, Inc. Systems and methods to measure and visualize threshold of user workload
US11763259B1 (en) 2020-02-20 2023-09-19 Asana, Inc. Systems and methods to generate units of work in a collaboration environment
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US11997425B1 (en) 2022-02-17 2024-05-28 Asana, Inc. Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment
US12051045B1 (en) 2022-04-28 2024-07-30 Asana, Inc. Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127108A (zh) * 2006-08-15 2008-02-20 阿里巴巴公司 一种经一个计算机系统访问一个信息源的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020880B2 (en) * 1997-01-08 2006-03-28 International Business Machines Corporation Modular application collaborator for providing inter-operability between applications and monitoring errors to trigger execution of required compensating actions to undo interrupted transaction
US7039597B1 (en) * 1998-06-05 2006-05-02 I2 Technologies Us, Inc. Method and system for managing collaboration within and between enterprises
US20030004829A1 (en) * 2001-04-09 2003-01-02 Forethought Financial Services, Inc. Multi-provider funeral plan web site and administration thereof
US7536697B2 (en) * 2001-06-19 2009-05-19 Accenture Global Services Gmbh Integrating enterprise support systems
US7139798B2 (en) * 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
US20030225778A1 (en) * 2002-05-28 2003-12-04 Craig Fisher System and methods for generating a customer specific catalog from a base catalog
US20040128347A1 (en) * 2002-12-31 2004-07-01 Jeffrey Mason System and method for providing content access at remote portal environments
US20060036954A1 (en) * 2004-05-25 2006-02-16 International Business Machines Corporation Web services based portlet catalog
US20060036998A1 (en) * 2004-08-11 2006-02-16 Analytic Solutions.Com, Inc. System and methods for rapid buildout of applications
RU47116U1 (ru) * 2005-04-06 2005-08-10 Оао Акб "Автобанк-Никойл" Система поддержки распределенного документооборота
US20070100845A1 (en) * 2005-10-31 2007-05-03 Juergen Sattler Customer relationship management integration system and method
US20070250784A1 (en) * 2006-03-14 2007-10-25 Workstone Llc Methods and apparatus to combine data from multiple computer systems for display in a computerized organizer
US20080071642A1 (en) * 2006-09-15 2008-03-20 Leiba Lior System and method for connecting external product catalog data to business applications
US8019632B2 (en) * 2006-10-16 2011-09-13 Accenture Global Services Limited System and method of integrating enterprise applications
US7676755B2 (en) * 2007-04-06 2010-03-09 Business Objects Software Ltd. Apparatus and method for linking objects created in a rapid application development environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127108A (zh) * 2006-08-15 2008-02-20 阿里巴巴公司 一种经一个计算机系统访问一个信息源的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775745B2 (en) 2017-07-11 2023-10-03 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfore
US11831457B2 (en) 2018-06-08 2023-11-28 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US11810074B2 (en) 2018-12-18 2023-11-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US12073363B2 (en) 2018-12-18 2024-08-27 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11847613B2 (en) 2020-02-14 2023-12-19 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11902344B2 (en) 2020-12-02 2024-02-13 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment

Also Published As

Publication number Publication date
WO2010117690A3 (en) 2011-01-13
US8341189B2 (en) 2012-12-25
SG174147A1 (en) 2011-10-28
CA2753706A1 (en) 2010-10-14
EP2414955A4 (en) 2014-05-21
EP2414955A2 (en) 2012-02-08
US20100250609A1 (en) 2010-09-30
CN102378975A (zh) 2012-03-14
CA2753706C (en) 2016-08-30
KR101665152B1 (ko) 2016-10-11
EP2414955B1 (en) 2020-07-01
JP5536190B2 (ja) 2014-07-02
KR20120002579A (ko) 2012-01-06
RU2011139716A (ru) 2013-04-20
WO2010117690A2 (en) 2010-10-14
JP2012522319A (ja) 2012-09-20
RU2546322C2 (ru) 2015-04-10
BRPI1009487A2 (pt) 2018-02-14

Similar Documents

Publication Publication Date Title
CN102378975B (zh) 将协作功能扩展到外部数据
KR100994638B1 (ko) 데이터베이스 오브젝트 스크립트 생성 방법 및 시스템
JP5389902B2 (ja) ウェブサイト及びそのコンテンツの作成及び管理のためのオブジェクト指向のシステム
US8214409B2 (en) Adapter architecture for mobile data system
US7810107B2 (en) Dynamic portal registration of generic data source
CN100550012C (zh) 统一导航的系统和方法
CA2667142C (en) Method and apparatus for creating a configurable browser-based forms application
JP2006512695A (ja) モバイルデータとソフトウェアのアップデートシステムおよび方法
US10706033B2 (en) Content management system and method for managing ad-hoc collections of content
US20140059517A1 (en) Method and system for facilitating rapid development of end-to-end software applications
JP2006190279A (ja) メタデータ駆動型ビジネス・ロジック(metadatadrivenbusinesslogic)処理のための方法および装置
KR20060050040A (ko) 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법
US20120166983A1 (en) Integrated metadata and nested authorizations in a user interface framework
US10255564B2 (en) Context specific resource editors
US12045562B1 (en) Dynamically generating shared spreadsheets according to user references in spreadsheet data
Zehoo Oracle Application Express 4 Recipes
US20230222421A1 (en) System and method for dynamic objects and uses for same, including dynamic case model instances in a case management system
JP2007334578A (ja) 業務システムのデータ操作装置及び業務システムのデータ操作方法
Hodel Integration with Third-Party Tools
AU2022395818A1 (en) Reconfigurable declarative generation of business data systems from a business ontology, instance data, annotations and taxonomy
WO2004079484A2 (en) Non-hierarchical database

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150717

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150513

Termination date: 20210326