CN103034699A - 向外部系统提供文档储存库事件的通知 - Google Patents

向外部系统提供文档储存库事件的通知 Download PDF

Info

Publication number
CN103034699A
CN103034699A CN2012105177422A CN201210517742A CN103034699A CN 103034699 A CN103034699 A CN 103034699A CN 2012105177422 A CN2012105177422 A CN 2012105177422A CN 201210517742 A CN201210517742 A CN 201210517742A CN 103034699 A CN103034699 A CN 103034699A
Authority
CN
China
Prior art keywords
event
remote events
receiver
notice
storage vault
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.)
Granted
Application number
CN2012105177422A
Other languages
English (en)
Other versions
CN103034699B (zh
Inventor
R·M·霍华德
J·C·常
朱韶峰
N·科哈芮斯瓦兰
E·艾登
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 CN103034699A publication Critical patent/CN103034699A/zh
Application granted granted Critical
Publication of CN103034699B publication Critical patent/CN103034699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及向外部系统提供文档储存库事件的通知。远程事件接收器可向文档储存库计算系统注册,以接收在文档储存库发生的事件的通知。该远程事件接收器可注册以同步地接收通知,由此该远程事件接收器可向事件发生之前的通知提供响应,或异步地接收通知,由此该远程事件接收器不提供响应。同步远程事件接收器还可响应于通知规定应该取消所述事件或规定应该被改变的特性。远程事件接收器可以是接收事件发生前的通知的事件前接收器或接收事件后的通知的事件后接收器。当在文档储存库将发生事件时,向事件前远程事件接收器提供通知。一旦事件已发生,则向事件后远程事件接收器提供通知。

Description

向外部系统提供文档储存库事件的通知
技术领域
本发明涉及向外部系统提供文档储存库事件的通知。
背景技术
文档储存库对于组织内的生产率和协作来说经常是重要的中枢。结果,通常需要将诸如业务线(“LOB”)系统之类的其它外部系统与文档储存库中存储的资源进行集成。
一些方案允许组织将来自外部系统的数据合并到它们的文档储存库中,从而允许它们更容易地将在外部系统存储的数据合并到储存库中。其它方案展示万维网(“web”或“Web”(网))服务,该万维网服务允许外部系统从文档储存库检索信息以在所述外部系统内使用。然而,这些能力中的任何一个都不可能对外部系统直接告知在文档储存库内发生的事件,诸如对文档或列表所作的变化。这使得难以合并在由外部系统管理的业务处理中的文档储存库内保持的数据或文档。
一些文档储存库系统支持响应于特定事件的发生而允许自定义第三方代码被执行的功能。该功能通常通过允许文档储存库管理者将自定义代码部署到运行该文档储存库的实际服务器来启用。然而,这样做可使在许多情况下的管理变得困难或惊人地昂贵。另外,在主机和/或多承租人文档储存库中,该方法可更加具有挑战性,这是因为,必须防止自定义代码对主机系统进行昂贵或损坏性的操作,或必须防止自定义代码访问多承租文档储存库的其它承租人的数据。
解决这些问题的一种方法是在“沙箱”中运行自定义代码,该“沙箱”将自定义代码限制在安全且隔离的执行环境。然而,在许多情况下,这种限制不仅防止了代码执行昂贵或恶意的操作,还妨碍了代码执行一些对于实现自定义代码的期望目标为必需的操作。结果,可能难以或不可能以允许自定义代码在这种沙箱内有效执行的方式来实现自定义代码。本文中所做出的公开正是针对这些以及其他考虑事项而呈现的。
发明内容
本文描述了用于向其它外部系统提供文档储存库系统内发生的事件的通知的概念和技术。通过对本文所揭示的技术的实现,在文档储存库内发生的事件的通知可被提供给外部系统,而不需要向运行该文档储存库的服务器部署自定义第三方代码,也不需要在沙箱中执行自定义代码。
根据本文所提出的一方面,提供一种文档储存库计算系统,其包括用于向远程事件接收器提供事件的通知的功能。在该文档储存库计算系统外部的计算机系统(诸如由第三方拥有、操作或管理的计算机系统)上执行该远程事件接收器。
为了接收事件的通知,所述远程事件接收器向所述文档储存库计算系统注册。该远程事件接收器可声明性地注册,诸如通过使用可扩展标记语言(“XML”)文档来注册,该文档规定了关于每个远程事件服务器的细节以及它们想要为其注册的通知类型,或可通过所述文档储存库计算系统所展示的对象模型来编程方式地注册。其它机制也可用于针对通知对远程事件接收器进行注册。
该远程事件接收器可注册以接收与相关于文档储存库的内容和/或该文档储存库的结构而发生的事件有关的通知。例如,远程事件接收器可针对以下(并非限制于以下)事件的通知进行注册:文档储存库中文档的创建、更新和删除;该储存库中项目或文档的登出、登入、取消登出;在该储存库中的项目上附加文件或从该项目移除附件;移动该储存库中的项目或文档;添加、更新或移除该文档储存库中的元数据字段;添加或移除该文档储存库中的列表和库;以及在该文档储存库内添加或移除更大的容器,诸如网站和站点集合。该远程事件接收器还可注册以接收关于文档储存库的内容、结构或操作发生的其它类型事件的通知。
根据不同的实施例,所述远程事件接收器可注册以同步或异步地接收通知。针对同步通知进行注册的远程事件接收器在本文中可被称为“同步远程事件接收器”。针对异步通知进行注册的远程事件接收器在本文中可被称为“异步远程事件接收器”。所述文档储存库计算系统将向同步远程事件接收器发送通知,并随后在向下一个远程事件接收器提供通知之前等待响应。以此方式,同步远程事件接收器以串行的形式被有效地呼叫。所述文档储存库计算系统不等待来自异步远程事件接收器的响应。以此方式,异步远程事件接收器可以并行的形式被呼叫。
远程事件接收器还可注册以在事件发生前或事件发生后接收关于事件的通知。针对事件发生前的事件通知进行注册的远程事件接收器在本文中可被称为“事件前远程事件接收器”。针对事件发生后的通知进行注册的远程事件接收器在本文中可被称为“事件后远程事件接收器”。
在一个实施例中,每个远程事件接收器还具有相关联的序列号。该序列号指示关于相同事件注册的远程事件接收器应该接收事件的通知的顺序。在文档储存库计算系统上执行的本地事件接收器也可具有相关联的序列号且可以序列顺序与远程事件接收器进行呼叫。
当文档储存库计算系统确定将发生事件,该文档储存库计算系统确定是否已注册了事件前远程事件接收器以接收事件的通知。如果有,则文档储存库计算系统向事件前远程事件接收器产生呼叫。该呼叫包括根据预先定义的模式格式化的数据并提供要发生事件的通知。该呼叫还可包括与事件相关联的特性,诸如定义事件之前在文档储存库中项目各方面的“之前”特性,和/或包括定义在事件已完成之后的项目各方面的特性的“之后”特性。该呼叫可实现为web服务呼叫或以其它方式实现。
如果有任何事件前远程事件接收器已针对同步通知进行注册,则文档储存库计算系统在呼叫下一个远程事件接收器之前等待来自远程事件接收器的响应(诸如web服务响应)。在该响应中,同步事件前远程事件接收器可指示应取消所述事件,此情况下删除事件而不提供额外通知,或可修改与该事件相关联的之后特性。如果同步事件前远程事件接收器不提供响应,则文档储存库计算系统可能根据实施例取消或继续所述事件。一旦所有的事件前远程事件接收器已被通知了所述事件,则与该事件相关联的所有特性将保持且该事件完成。
一旦该事件完成了,则文档储存库计算系统确定是否有任何事件后远程事件接收器已被注册。如果有,则文档储存库计算系统以序列号顺序向事件后远程事件接收器产生呼叫。同步事件后远程事件接收器不被允许取消事件,也不被允许修改与事件相关联的之后特性,因为该事件已经发生了且该之后特性已经被提交了。
本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在使用本发明内容来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图说明
图1是一网络示意图,其示出了在本文所公开的不同实施例中所使用的文档储存库计算系统和第三方计算系统;
图2是一数据结构图,其示出了本文所公开的数个机制的各个方面,通过所述机制,在第三方计算系统上执行的远程事件接收器可注册以接收在文档储存库系统内发生的事件的通知;
图3是一数据结构图,其示出了在本文公开的实施例中使用的远程事件特性数据结构;
图4是一数据结构图,其示出了在本文公开的实施例中使用的远程事件结果数据结构;
图5A-5B是流程图,其示出了本文所公开的一个例程的各个方面,该例程根据本文所公开的一个实施例向一个或多个远程事件接收器提供储存库事件的通知;
图6是一流程图,其示出了根据本文所公开的一个实施例的一个例程的各个方面,该例程用于注册远程事件接收器以及用于在远程事件接收器处理储存库事件的通知;以及
图7是一计算机体系结构图,其示出了用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构。
具体实施方式
以下详细的描述涉及用于向外部系统提供在文档储存库内发生的事件的通知的概念和技术。如上面所简要讨论地,通过使用本文所公开的技术,在文档储存库系统内发生的事件的通知可被提供给外部系统,而不需要在文档储存库系统上执行第三方代码。关于这些特征和其他特征的更多细节将在以下参考图1-7来提供。
尽管在结合计算机系统上的操作系统和多种程序的执行而执行的程序模块的一般上下文中呈现了本文中所描述的主题,但本领域技术人员将认识到,其他实现可结合其他类型的程序模块来执行。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构、以及其他类型的结构。另外,本领域技术人员将理解,可用其他计算机系统配置来实施本文中所描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。
在以下详细描述中,参考形成详细描述的一部分并为例示具体实施例或示例而示出的附图。现在参考附图,将描述用于向外部系统提供文档储存库系统内发生的事件的通知的计算系统和方法的各方面,其中贯穿若干附图中相同的标号表示相同的元素。
图1是一网络示意图,其示出了在本文所公开的不同实施例中所使用的文档储存库计算系统102和第三方计算系统108。具体地,图1示出了环境100,其包括文档储存库计算系统102。文档储存库系统102是被配置为执行文档储存库应用程序104的一个或多个计算系统。文档储存库应用程序104提供用于创建并使用文档储存库的功能。如本领域中所公知地,文档储存库提供用于在该文档储存库计算系统102的各用户之间存储、访问及共享文档和可能的其他类型的项目的功能。在这个方面,文档储存库应用程序104可提供功能用于允许文档储存库计算系统102的用户创建、更新及删除在文档储存库中的文档和其它类型的项目。
用户还可被允许从文档储存库应用程序104提供的文档储存库对项目或文档进行登出、登入或取消登出。用户还可被允许对文档储存库中的项目附加文件或从文档储存库中的项目移除附件、移动文档储存库中的项目或文档、以及添加、更新或移除文档储存库中的元数据字段。用户还可添加或移除文档储存库中的列表或库,并且添加或移除更大的容器,诸如由文档储存库应用程序104提供的网站和站点集合。
如本文中将更详细描述地,文档储存库应用程序104被配置为提供正如上面所描述的多种类型事件的通知。文档储存库应用程序104还可提供在文档储存库计算系统102发生的、关于文档储存库应用程序104所提供的文档储存库的其它类型事件的通知。
根据各个实施例,文档储存库应用程序104被配置为向远程事件接收器106提供事件的通知。远程事件接收器106是在文档储存库计算系统102外部的计算系统(诸如第三方计算系统108)上执行的软件元件。第三方计算系统108可由除操作文档储存库计算系统102的实体以外的实体拥有、操作或控制。
为了提供如本文所描述的通知,文档储存库计算系统102可通过一个或多个网络114连接至第三方计算系统108。所述网络可以是局域网、广域网或其它类型的可在文档储存库计算系统102和第三方计算系统108之间进行数据通信的网络。应该理解,虽然图1仅示出了单独一个网络114,但可利用许多这样的网络来在文档储存库计算系统102和第三方计算系统108之间创建合适的数据通信。
为了接收在文档储存库计算系统102发生的事件的通知,每个远程事件接收器106必须向文档储存库应用程序104注册。在一个实施例中,执行远程事件接收器注册模块110,以向文档储存库应用程序104注册远程事件接收器106。根据各个实施例,远程事件接收器106可声明性地注册,诸如通过使用XML文档来注册,该文档规定了关于远程事件接收器106和其想要为之注册的通知的类型的细节。在其它实施例中,远程事件接收器注册模块110通过文档储存库应用程序104展示的对象模型来编程方式地注册远程事件接收器106。
根据各个实施例,远程事件接收器106可注册以接收与相关于文档储存库计算系统102提供的文档储存库的内容和/或文档储存库的结构所发生的事件有关的通知。如上面所讨论地,远程事件接收器106可针对以下(并非限制于以下)事件的通知进行注册:文档储存库中文档的创建、更新和删除;该储存库中项目或文档的登出、登入、取消登出;在该储存库中的项目上附加文件或从该项目移除附件;移动该储存库中的项目或文档;添加、更新或移除该文档储存库中的元数据字段;添加或移除该文档储存库中的列表和库;以及在该文档储存库内添加或移除更大的容器,诸如网站和站点集合。远程事件接收器106还可注册以接收关于文档储存库的内容、结构或操作所发生的其它类型事件的通知。
同样如上面所简要描述地,远程事件接收器106可注册以同步或异步地接收通知。如将在下文中更详细描述地,在文档储存库计算系统102内执行的远程事件接收器呼叫器112将向同步远程事件接收器106发送通知,并随后在向另一个远程事件接收器提供通知之前等待响应。如果远程事件接收器106针对异步通知进行注册,则远程事件接收器呼叫器112在呼叫另一个远程事件接收器之前将不会等待来自远程事件接收器106的响应。
远程事件接收器106还可注册以接收事件发生前或事件发生后的通知。同步事件前远程事件接收器也可被允许取消事件的发生或改变与该事件相关联的特性。关于此功能的更多细节将在以下提供。
当远程事件接收器106向文档储存库计算系统102注册时,还规定了序列号。如上面所简要讨论地,该序列号指示针对相同事件的通知进行注册的远程事件接收器106应该接收通知的顺序。虽然在图1中未示出,可在文档储存库计算系统102上执行本地事件接收器。该本地事件接收器还可包括序列号,利用该序列号与远程事件接收器106彼此按序地执行本地事件接收器。将在以下参考图2提供关于远程事件接收器106向文档储存库计算系统102注册的附加细节。
一旦远程事件接收器106已向文档储存库计算系统102针对事件的通知进行了注册,则远程事件接收器106有资格开始接收通知。当文档储存库计算系统102确定将要发生事件,文档储存库计算系统102确定是否已注册了事件前远程事件接收器106以接收事件的通知。如果有,则远程事件接收器呼叫器112向注册的事件前远程事件接收器106产生呼叫。在一个实施例中,该呼叫为至远程事件接收器106的Web服务呼叫116,其包括远程事件特性118。远程事件特性118定义与事件相关联的各种特性,诸如定义事件之前在文档储存库中项目或文档的各方面的之前特性,和/或包括定义在事件已完成之后的项目或文档的各方面的特性的之后特性。关于远程事件特性118的更多细节将在以下参考图3来提供。
在一个实施例中,利用简单对象访问协议(“SOAP”)来实现Web服务呼叫116。然而,应该理解,也可利用其它类型的Web服务呼叫。还应该理解,在其它实施例中,可利用其它类型的网络消息和协议来向远程事件接收器106提供远程事件特性118。
如果远程事件接收器106已针对异步通知进行了注册,则远程事件接收器呼叫器112将等待来自远程事件接收器106的Web服务响应120。在远程事件接收器呼叫器112等待Web服务响应120的同时,没有额外的远程事件接收器106将被呼叫。
如图1中所示,Web服务响应120包括远程事件结果122。远程事件结果122是根据预先定义的模式格式化的数据,其向文档储存库计算系统102指示事件应该被允许继续还是应该被取消。另外,远程事件结果122可指示与事件相关联的应被修改的特性。例如,远程事件结果122可规定事件的改变的之后特性,该特性应该由文档储存库计算系统102所保持。
如果同步事件前远程事件接收器106不提供响应120,则根据本文所公开的各个实施例,文档储存库计算系统102可选择取消或继续所述事件。关于远程事件结果122的更多细节将在以下参考图4来提供。
一旦所有注册的事件前远程事件接收器106已被呼叫,则与该事件相关联的之后特性(包括由同步远程事件接收器106修改的任何特性)被保持,且允许该事件完成。一旦该事件完成,则文档储存库计算系统102确定是否有任何事件后远程事件接收器已被注册。如果有,则远程事件接收器呼叫器112以序列号的顺序向事件后远程事件接收器106产生呼叫。如上面所简要提到地,同步事件后远程事件接收器不被允许取消事件,也不被允许修改与事件相关联的之后特性,因为该事件已经完成了。关于参考图1如上所述的过程的其他细节将在以下参考图2-6来提供。
图2是一数据结构图,其示出了本文所公开的数个机制的各个方面,通过所述机制,在第三方计算系统108上执行的远程事件接收器106可注册以接收在文档储存库系统102内发生的事件的通知。例如,根据本文所公开的各个实施例,文档储存库计算系统102可提供声明性的用于注册远程事件接收器106的对象模型、Web服务和基于应用编程界面的机制。在图2中示出了这些机制中的若干个。
应该理解,不管用于注册远程事件接收器106的机制如何,在注册时都提供某个信息。例如,根据各个实施例,提供关于如下的信息:每个远程事件接收器106想要被通知的事件、当事件发生时要被呼叫的远程事件接收器106的网络地址、注册的范围(诸如特定对象实例的身份)或远程事件接收器106想要为之接收事件的文档储存库内的范围、应该同步还是异步提供通知的指示、以及当针对同一个事件注册多个接收器时指示远程事件接收器106想要接收所述事件的优先权。
根据一个实施例,在远程事件接收器注册XML文件202中提供如上所述的信息,该远程事件接收器注册XML文件202可被声明性地定义并被提供给文档储存库应用程序104。在其它实施例中,该信息由远程事件接收器注册模块110通过文档储存库应用程序104所提供的事件接收器注册对象模型206来提供。也可利用其它的机制来向文档储存库应用程序104提供上述的信息,以便针对通知对远程事件接收器106进行注册。
图2中所示的用于声明性地注册一个实施例中的远程事件接收器106的远程事件接收器注册XML202包括数个元素204A-204F。元素204A被用于规定正被注册的远程事件接收器106的名称。元素204B被用于规定正被注册的远程事件接收器106的类型。如上面所简要讨论地,事件类型元素204B可被用于针对在事件发生之前的通知进行注册或针对在事件发生之后的通知进行注册。
例如,事件类型元素204B的值“项目更新中”注册远程事件接收器106,从而接收恰在更新文档储存库中的项目之前的通知。类似地,值“项目已更新”注册远程事件接收器106,从而接收在项目已在文档储存库中更新之后的通知。可为事件类型元素204B规定类似的值,从而关于在文档储存库中添加、更新、删除、登入、登出和取消登出项目之前或之后的通知注册远程事件接收器106。也可为事件类型元素204B规定值,以接收在为项目添加或删除附件之前或之后和/或当移动文档储存库中的文件时的通知。
也可为事件类型元素204B规定值,以接收在添加、更新或删除列表事件之前或之后、或在添加或删除列表之前或之后的通知。也可为事件类型元素204B规定值,以接收在删除、移动或添加站点或Web之前或之后的通知。应该理解,上述事件类型元素204B的值仅仅是示例性的,还可为事件类型元素204B规定其它的值以接收其它类型事件的通知。
如上面所讨论地,远程事件接收器106可针对文档储存库计算系统102内发生的事件的同步或异步通知进行注册。利用同步类型元素204C来规定远程事件接收器106应该被同步通知还是异步通知。还如上所述地,远程事件接收器106可以序列号的顺序被呼叫。可在序列号元素204D中规定特定远程事件接收器106的序列号。
利用远程事件接收器地址元素204E来规定当由事件类型元素204B规定的事件发生时将被呼叫的远程事件接收器106的网络地址。可使用统一资源定位符(“URL”)、实际网络地址或以另一种方式来规定该网络地址。
利用范围元素204F来规定将要被提供通知的注册的范围。例如,在一个实施例中,利用范围元素204F来规定远程事件接收器106想要为之接收通知的文档储存库内的特定对象实例或范围。
应该理解,上述远程事件接收器注册XML202的内容仅仅是示例性的,在远程事件接收器106的注册期间也可向文档储存库应用程序104提供其它数据。还应理解,还可利用除本文所述机制以外的其它机制来向文档储存库应用程序104注册远程事件接收器106。
图3是一数据结构图,其示出了在本文公开的实施例中使用的远程事件特性数据结构118的配置。如上面参考图1所简要描述地,文档储存库计算系统102被配置为通过对远程事件接收器106进行Web服务呼叫116来向远程事件接收器106通知事件的发生。还如上面所简要讨论地,Web服务呼叫116包括本文所公开的一个实施例中的远程事件特性118。图3示出了用于本文所公开的一个实施例中的远程事件特性118的一个实例模式。
如图3中所示,远程事件特性118包括事件类型元素302A。远程事件特性118还将根据已发生或将要发生的事件的类型包括项目事件特性302B、列表事件特性302C或Web事件特性302D中的一个。当事件相关于项目将提供项目事件特性302B,当事件相关于列表将提供列表事件特性302C,以及当事件相关于Web将提供Web事件特性302D。
事件类型元素302A规定了已发生事件的类型。例如,可提供值310A用于指示在前事件已发生,或可提供值310B用于指示在后事件已发生。例如,诸如前文所述的那些关于事件类型元素204B的值可在元素302A中被规定。
项目事件特性302B可包括之前特性320A和之后特性320B。如上面所简要讨论地,之前特性320A定义在已进行通知的事件之前在文档储存库中的项目的各个方面。例如,之前特性320A可规定在对文档进行修改之前与文档相关联的特性。
之后特性320B定义在事件已完成之后的项目的各个方面。例如,之后特性320B可规定在对文档的修改已发生之后与文档相关联的特性将是什么。如以下将更详细描述地,同步事件前远程事件接收器106可规定一组修改的之后特性320B并向文档储存库应用程序104返回该特性。
列表标识符元素320C标识已为之产生通知的项目为其成员的列表。列表项目标识符元素320D标识已接收通知的项目。列表标题元素320E提供已为之产生通知的项目所在的列表的标题。以下参考表1提供项目事件特性元素302B的一个示例性模式。应该理解,该模式仅仅是示例性的,还可利用其它的数据结构。
Figure BDA00002529052300111
表1
在一个实施例中,列表事件特性元素302C包括列表标识符330A、列表标题330B和字段名称330C。列表标识符330A包括标识已接收通知的列表的数据。列表标题330B标识已接收通知的列表的标题。字段名称330C标识由已被修改的列表标识符330A标识的列表的字段。以下参考表2提供列表事件特性元素302C的一个示例性模式。
Figure BDA00002529052300121
表2
Web事件特性元素302D提供Web的前一URL340A、Web的新URL340B和Web的相对URL340C。以下参考表3提供Web事件特性320D的一个示例性模式。
Figure BDA00002529052300122
表3
应当理解,图3中示出的数据结构、元素和值仅仅是示例性的。可利用包括比上述更多或更少元素的其它数据模式、数据结构和数据类型。关于这一点,应该理解,可向具有Web服务呼叫116的远程事件接收器106提供其它类型和配置的数据,该Web服务呼叫116用于指示事件已在文档储存库应用程序104发生。
图4是一数据结构图,其示出了在本文公开的实施例中使用的远程事件结果数据结构112的配置。如上面参考图1所简要描述地,同步远程事件接收器106可响应于Web服务呼叫116而向文档储存库计算系统102发送Web服务响应120。根据一个实现方式,Web服务响应102包括远程事件结果122。图4示出了本文所公开的一个实施例中的远程事件结果122的一个配置。
如图4中所示,远程事件结果122可包括改变特性元素402A、错误消息402B、重定向URL402C、和状态元素402D。状态元素402D包括一个值,该值向文档储存库计算系统102指示如何进行作为Web服务呼叫116主题的事件。具体地,状态元素402D可包括继续值410A,该值指示事件应该被允许继续。状态元素402D可包括取消无错误值410B,该值取消事件但不会向文档储存库计算系统102的用户提供错误。或者,状态元素402D可包括取消带错误值410C,该值取消事件但也向用户提供错误消息。该错误消息由错误消息元素402B规定。状态元素402D还可包括取消带重定向值410D,该值使事件被取消并将用户重定向至由重定向URL402D规定的URL。
如上面所简要讨论地,远程事件结果122还可包括改变特性元素402A。利用改变特性元素402A来规定由远程事件接收器106改变的一个或多个特性。例如,远程事件接收器106可修改如上所述的在项目事件特性元素302B中规定的一个或多个之后特性320B。如将在下文作更详细描述地,当文档储存库计算系统102接收包括填充改变特性元素402A的远程事件结果122时,文档储存库计算系统102在呼叫下一个远程事件接收器106之前或若没有额外的远程事件接收器106保持被呼叫则在执行事件之前用改变的值修改之后特性320B。关于使用改变特性元素402A的其它细节,将在下文中参考图5A-5B来提供。
图5A和5B是流程图,其示出了本文所公开的一个例程500的各个方面,该例程根据本文所公开的一个实施例向一个或多个远程事件接收器106提供储存库事件的通知。应当理解,参考图5A和5B以及其它附图在本文描述的逻辑操作被实现为(1)计算机实现的动作的序列或运行于计算系统上的程序模块,和/或(2)计算系统内的互连机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处所描述的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑,以及其任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按与本文所描述的那些操作不同的次序来执行。
例程500在操作502开始,其中文档储存库应用程序104确定储存库事件将要发生。例如,文档储存库应用程序104可从用户接收对文档、项目、列表、字段、Web、站点或其它维持在文档储存库中的元素进行添加、更新、修改或者与之交互的请求。在执行所请求的动作之前,文档储存库应用程序104执行操作504-530,这在以下作更详细的描述。
从操作502,例程500行进到操作504,在该操作中文档储存库应用程序104确定是否有事件前远程事件接收器106已被注册。如果没有,则例程500从操作504行进至操作530,如下所述。然而,如果一个或多个事件前远程事件接收器106已被注册,则例程500从操作504行进至操作506。
在操作506,文档储存库应用程序104指令远程事件接收器呼叫器112呼叫具有最低序列号的事件前接收器106。响应于接收这种请求,例程500行进到操作508,在操作508中远程事件接收器呼叫器112确定要被呼叫的远程事件接收器106是否为同步远程事件接收器106。如上所述,可利用远程事件接收器注册XML202的同步类型元素204C来规定,远程事件接收器106用于同步地接收通知。
如果要被呼叫的远程事件接收器106不是同步远程事件接收器106,则例程500从操作508行进至操作526,如下所述。如果要被呼叫的远程事件接收器106是同步远程事件接收器106,则例程500从操作508行进至操作510。
在操作510,远程事件接收器呼叫器110确定是否已响应于Web服务呼叫116从远程事件接收器106接收了Web服务响应120。如果没有响应120已被接收,则例程500行进至操作512,在操作512中远程事件接收器呼叫器122确定Web服务呼叫116是否已失败或已超时。关于这一点,由于在不接收响应120的情况下进行Web服务呼叫116,所以可对远程事件接收器呼叫器112编程以使其在已经历特定时间段之后超时。
如果Web服务呼叫116没有失败或超时,则例程500行进返回至操作510。然而,如果Web服务呼叫116已失败或超时,则例程500从操作512行进至操作516。在操作516记录错误,使得文档储存库计算系统102或第三方计算系统108的管理者能确定为何远程事件接收器106无法被呼叫。如下文所讨论地,失败或超时的呼叫可被重试或存储在耐久队列中,用于稍后处理。
从操作516,例程500行进至操作518,在操作518中取消作为Web服务呼叫116主题的事件。在其它实施例中,即使到远程事件接收器的Web服务呼叫116无法完成,事件也被允许进行。从操作518,例程500行进至操作520,在操作520例程500结束。
如果在操作510远程事件接收器呼叫器112确定从远程事件接收器106接收了Web服务响应,则例程500从操作510行进至操作514。在操作514,远程事件接收器呼叫器112检查远程事件结果122,以确定远程事件接收器106是否在状态元素402D中规定了应该取消该事件。如果规定了,则例程500从操作514行进至操作518,在操作518中取消作为Web服务呼叫116主题的事件。如果远程事件接收器106没有指示应该取消所述事件,则例程500从操作514行进至操作522。
在操作522,远程事件接收器呼叫器112确定,远程事件接收器106是否在远程事件结果122中提供了改变的特性402A。如果提供了,则例程500从操作522行进至操作524,在操作524中,事件的之后特性320B用改变特性402A规定的改变特性值来更新。例程500随后从操作524行进至操作526。
在操作526,远程事件接收器呼叫器112确定额外的事件前接收器106是否保持被呼叫。如果保持被呼叫,则例程500从操作526行进至操作528,在操作528中,远程事件接收器呼叫器112呼叫具有次最高序列号的下一个远程事件接收器106。从操作528,例程500行进返回至操作508,在操作508对于下一个事件前接收器106重复如上所述的操作。如果没有额外的事件前接收器106保持被呼叫,则例程500从操作526行进至操作530。
在操作530,文档储存库应用程序104将之后特性320B从事件提交给文档储存库,包括任何由远程事件接收器106规定的改变特性402A。例程500随后行进至操作532,在操作532文档储存库应用程序104执行储存库事件532。例如,在如上所述的实例中,如果用户已请求添加、更新或删除项目或列表,则文档储存库应用程序104执行所请求的动作。从操作532,例程500行进至操作534。
在操作534,文档储存库应用程序104确定是否任何事件后接收器106已针对事件的通知进行了注册。如果不是,则例程500从操作534行进至操作560,在操作560例程500结束。如果已经注册了事件后接收器106,则例程500从操作534行进至操作536。
在操作536,文档储存库应用程序104指令远程事件接收器呼叫器112呼叫具有最低序列号的事件前远程事件接收器106。响应于这样的请求,远程事件接收器呼叫器112呼叫事件后接收器。例程500随后行进至操作538。
在操作538,远程事件接收器呼叫器112确定,被呼叫的远程事件接收器106是否为同步事件后远程事件接收器106。如果不是,则例程500从操作538行进至操作546,如下所述。如果被呼叫的远程事件接收器106是同步接收器,则例程500从操作538行进至操作540。
在操作540,远程事件接收器呼叫器112确定是否已响应于Web服务呼叫116从被呼叫的接收器106接收了Web服务响应120。如果没有接收,则例程500从操作540行进至操作542,在操作542中远程事件接收器呼叫器112确定Web服务呼叫是否已失败或已超时。如果Web服务呼叫116没有失败或超时,则例程500行进返回至操作540。
如果Web服务呼叫116已超时,则例程500行进至操作544,在操作544记录错误。例程500随后行进至操作546。应该理解,因为事件已经发生,所以对事件后远程事件接收器106的Web服务呼叫116的失败将不会引起事件被取消。还应理解,由于事件已经完成,所以事件后远程事件接收器无法修改事件的之后特性320B。
如果在操作540远程事件接收器呼叫器112确定已从被呼叫的远程事件接收器106接收了响应120,则例程500从操作540行进至操作546。在操作546,文档储存库应用程序104确定是否有更多的事件后接收器106保持被呼叫。如果有,则例程500行进至操作548,在操作548中,远程事件接收器呼叫器112呼叫具有次最高序列号的下一个事件后接收器。例程500随后从操作548行进至操作538,如上所述。如果没有额外的事件后接收器106保持被呼叫,则例程500从操作546行进至操作560,在操作560例程500结束。
图6是一流程图,其示出了根据本文所公开的一个实施例的一个例程600的各个方面,该例程600用于注册远程事件接收器106以及用于在远程事件接收器106处理储存库事件的通知。例程600在操作602开始,在操作602远程事件接收器106针对储存库事件的通知进行注册。可以如上参考图1和2所述的方式来执行注册。一旦远程事件接收器106已针对储存库事件的通知进行了注册,则远程事件接收器106有资格接收这种通知。
在操作604,远程事件接收器106接收Web服务呼叫116。Web服务呼叫116是响应于对远程事件接收器106已注册类型的事件的检测由文档储存库应用程序104产生的。如上面所讨论地,Web服务呼叫116包括如以上参考图3所述的远程事件特性118。
响应于接收Web服务呼叫116,例程600从操作604行进至操作606,在操作606中远程事件接收器106基于所接收的远程事件特性118来执行处理。可通过远程事件接收器106本身来执行该处理。可替换地或组合地,可通过在第三方计算系统108上执行的其它处理模块124来执行处理。例程600随后从操作606行进至操作608。
在操作608,远程事件接收器106构造远程事件结果122。如上所述,远程事件结果122提供数据,用于指示事件应该被允许继续还是取消。远程事件结果122还可包括改变特性402A,该改变特性402A应被应用于与事件相关联的之后特性320B。一旦远程事件结果122已在操作608被构造,则例程600从操作608行进至操作610。
在操作610,远程事件接收器106向文档储存库计算系统102发送包括远程事件结果122的Web服务响应120。Web服务响应120由远程事件接收器呼叫器112或文档储存库应用程序104接收并以如上所述的方式处理。从操作610,例程600行进至操作612,在操作612例程600结束。
应该理解,在一个实施例中,远程事件接收器呼叫器112还被配置为向远程事件接收器106提供带有Web服务呼叫116的认证令牌(未示出)。远程事件接收器106可利用认证令牌来执行对文档储存库应用程序104的回叫操作。通过回叫操作,远程事件接收器106可从文档储存库应用程序104获得关于事件的额外信息。应当理解,认证令牌还可以其它方式且在其它时间提供给远程事件接收器106,其它时间诸如当远程事件接收器106向文档储存库应用程序104注册时。
还应理解,在如上所述的实施例中,远程事件接收器呼叫器112被配置为对非响应的远程事件接收器106不重试Web服务呼叫116。然而,在其它实施例中,远程事件接收器呼叫器112可以被配置为对非响应接收器106重试Web服务呼叫116。
图7是一计算机体系结构图,其示出了用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构。图7中示出的计算机体系结构示出了传统台式计算机、膝上计算机,或服务器计算机,并可被用来执行以上描述的用于提供本文公开的功能的各种软件组件。
图7中所示的计算机体系结构包括中央处理单元702(“CPU”)、包括随机存取存储器714(“RAM”)和只读存储器(“ROM”)716的系统存储器708、以及将存储器耦合至CPU 702的系统总线704。包含诸如在启动期间有助于在计算机700内的元件之间传输信息的基本例程的基本输入/输出系统(“BIOS”)被存储在ROM 716中。计算机700还包括用于存储操作系统718、应用程序和其他程序模块的大容量存储设备710,这将在以下更为详细地描述。
大容量存储设备710通过连接到总线704的大容量存储控制器(未示出)连接到CPU 702。大容量存储设备710及其相关联的计算机可读存储介质为计算机700提供非易失性的存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动等大容量存储设备,但本领域的技术人员应当理解,计算机可读存储介质可以是可由计算机700访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但并不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光或其他光学存储,磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用来存储所需信息并可由计算机700访问的任何其他非瞬态介质。
应当理解,本文公开的计算机可读介质也包括通信介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接连线连接)以及无线介质(诸如声学、射频、红外和其它无线介质)。上述中任一组合也应包括在计算机可读介质的范围之内。计算机可读存储介质不包括通信介质。
根据各实施例,计算机700可以使用通过诸如网络114之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机700可以通过连接至总线704的网络接口单元706来连接到网络114。应当理解,网络接口单元706还可以被用来连接到其他类型的网络和远程计算机系统。计算机700还可以包括用于接收和处理来自数个其他设备的输入的输入/输出控制器712,这些设备包括键盘、鼠标或者电子指示笔(未在图7中示出)。类似地,输入/输出控制器可以提供至显示屏、打印机或其他类型的输出设备(也未在图7中示出)的输出。
如前简述的那样,数个程序模块和数据文件可以存储在计算机700的大容量存储设备710和RAM 714内,包括适于控制联网的台式计算机、膝上型计算机或服务器计算机的操作的操作系统704。大容量存储设备710和RAM 714还可以存储一个或多个程序模块。具体地,大容量存储设备710和RAM 714可存储用于提供以上描述的功能的一个或多个软件组件,诸如远程事件接收器呼叫器112、远程事件接收器106、或者另一类型的程序或服务。大容量存储设备710和RAM 714还可存储其他程序模块和数据。
一般而言,软件应用或模块在被加载到CPU 702中并被执行时,可将CPU702和整个计算机700从通用计算系统转换成被定制成执行此处呈现的功能的专用计算系统。CPU 702可由任意数量的晶体管或其他分立电路元件(它们可单独地或共同地呈现任意数量的状态)构建。更具体地说,CPU 702可以响应软件或模块内包含的可执行指令,作为一个或多个有限状态机来操作。这些计算机可执行指令可以通过指定CPU 702如何在多个状态之间转变来转换CPU702,从而在物理上转换构成CPU 702的晶体管或其他分立的硬件元件。
将软件或模块编码在大容量存储设备上还可转换大容量存储设备或相关联的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这些因素的示例包括但不限于:用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储还是次级存储等等。例如,如果计算机可读存储介质是按照基于半导体的存储器实现的,则当软件被编码到其中时,软件或模块可以转换半导体存储器的物理状态。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立的电路元件的状态。
作为另一个示例,计算机可读存储介质可以使用磁性或光学技术来实现。在这样的实现方式中,当软件被编码到磁性或光学介质中时,软件或模块可以转换磁性或光学介质的物理状态。这些转换可包括更改给定磁性介质内的特定位置的磁性特征。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在不背离本说明书的范围和精神的情况下,物理介质的其他转换也是可能的,其中所提供的上述示例只是便于该讨论。
基于前述内容,应当理解,在本文中已公开了用于向外部系统提供在文档储存库系统内发生的事件的通知的技术。虽然已经以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文提出的主题,但是将理解,在所附权利要求书中所限定的本发明不一定限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作、以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (10)

1.一种用于提供在文档储存库内发生的事件的通知的计算机实现的方法,该方法包括执行以下计算机实现的操作:
确定在文档储存库计算系统(102)内将发生事件;
响应于确定将发生事件,确定是否一个或多个远程事件接收器(106)已针对所述事件发生之前的事件的通知进行了注册;
响应于确定一个或多个远程事件接收器(106)已经针对所述事件发生之前的事件通知进行了注册,向已针对所述事件发生之前的事件通知进行注册的所述远程事件接收器(106)产生web服务呼叫(116),该web服务呼叫(116)提供将发生所述事件的通知;
确定所述事件已发生;
响应于确定所述事件已发生,确定是否一个或多个远程事件接收器(106)已经针对所述事件发生之后的事件通知进行了注册;以及
响应于确定一个或多个远程事件接收器(106)已经针对所述事件发生之后的事件通知进行了注册,向已针对所述事件发生之后的事件通知进行注册的所述远程事件接收器(106)产生web服务呼叫(116),该web服务呼叫(116)提供所述事件已发生的通知。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述一个或多个远程事件接收器中的每一个都具有相关联的序列号,且其中以序列号的顺序对所述远程事件接收器进行所述web服务呼叫。
3.如权利要求2所述的计算机实现的方法,其特征在于,所述一个或多个远程事件接收器中的每一个都向所述文档储存库计算系统注册,以同步或异步地接收所述通知。
4.如权利要求3所述的计算机实现的方法,其特征在于,所述一个或多个远程事件接收器中的每一个都被进一步向所述文档储存库计算系统注册,以在所述事件发生之前或在所述事件发生之后接收所述通知。
5.如权利要求4所述的计算机实现的方法,其特征在于,还包括:
对于每一个已注册以同步地和在所述事件发生之前接收通知的远程事件接收器,在对下一个远程事件接收器产生通知之前确定是否已响应于对所述远程事件接收器的web服务呼叫而从所述远程事件接收器接收web服务响应;
响应于从所述远程事件接收器接收web服务响应,确定所述web服务响应是否指示所述事件应被取消;以及
响应于确定所述事件应被取消,取消所述事件并且不向任何额外的远程事件接收器提供所述事件的通知。
6.一种其上存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由计算机执行时致使所述计算机:
注册事件前远程事件接收器(106),以在事件发生之前接收在文档储存库计算系统(102)所发生的事件的通知;
注册事件后远程事件接收器(106),以在事件发生之后接收在所述文档储存库计算系统(102)所发生的所述事件的通知;
确定所述事件将发生;
响应于确定所述事件将发生,向所述事件前远程事件接收器(106)产生web服务呼叫(116)以提供所述事件将发生的通知;
确定所述事件已经发生;以及
响应于确定所述事件已经发生,向所述事件后远程事件接收器(106)产生web服务呼叫(116)以提供所述事件已经发生的通知。
7.如权利要求6所述的计算机可读存储介质,其特征在于,所述web服务呼叫包括与所述事件相关联的之前特性和之后特性。
8.如权利要求7所述的计算机可读存储介质,其特征在于,所述事件前远程事件接收器包括同步的事件前远程事件接收器。
9.一种文档储存库计算系统,被配置为提供在该文档储存库计算系统内发生的事件的通知,所述文档储存库计算系统包括:
一个或多个计算机系统,其被配置为执行远程事件接收器呼叫器,该远程事件接收器呼叫器被配置为向一个或多个注册的同步或异步远程事件接收器提供在所述文档储存库计算系统发生的事件的通知,所述远程事件接收器在所述文档储存库计算系统外部的计算机系统上执行。
10.如权利要求9所述的系统,其特征在于,所述远程事件接收器包括事件前远程事件接收器和事件后接收器。
CN201210517742.2A 2011-12-06 2012-12-05 向外部系统提供文档储存库事件的通知 Active CN103034699B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/311,550 2011-12-06
US13/311,550 US8621072B2 (en) 2011-12-06 2011-12-06 Providing notification of document repository events to external systems

Publications (2)

Publication Number Publication Date
CN103034699A true CN103034699A (zh) 2013-04-10
CN103034699B CN103034699B (zh) 2016-07-06

Family

ID=48021593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210517742.2A Active CN103034699B (zh) 2011-12-06 2012-12-05 向外部系统提供文档储存库事件的通知

Country Status (4)

Country Link
US (1) US8621072B2 (zh)
EP (1) EP2788893A4 (zh)
CN (1) CN103034699B (zh)
WO (1) WO2013085738A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933932A (zh) * 2015-12-31 2017-07-07 华为软件技术有限公司 数据处理方法、装置及应用服务器
CN107251066A (zh) * 2015-02-19 2017-10-13 微软技术许可有限责任公司 个性化提醒
CN110968438A (zh) * 2019-11-29 2020-04-07 江苏满运软件科技有限公司 事件消息异步通知方法、装置、电子设备、存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190018953A1 (en) * 2017-07-12 2019-01-17 Open Text Corporation Methods and systems for tenant aware behavior injection in content metadata service
US11461153B2 (en) 2021-02-03 2022-10-04 The Toronto-Dominion Bank System and method for monitoring events in process management systems
US11455200B2 (en) 2021-02-03 2022-09-27 The Toronto-Dominion Bank System and method for executing a notification service

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165998A1 (en) * 2001-05-03 2002-11-07 Sun Microsystems, Inc., A Delaware Corporation Method and apparatus for meta object facility repository event notification
CN1474271A (zh) * 2002-06-25 2004-02-11 微软公司 向程序提交消息的系统和方法
CN1527556A (zh) * 2002-12-24 2004-09-08 �Ҵ���˾ 用于事件服务声明、注册、以及通知的方法和设备
US20050160098A1 (en) * 2002-01-08 2005-07-21 Bottomline Technologies (De) Inc. Secure transport gateway for message queuing and transport over and open network
US20070038979A1 (en) * 2005-07-26 2007-02-15 Tolga Oral Method and system for transparently controlling the behavior of service methods in a service oriented architecture
US20110029670A1 (en) * 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US20110047127A1 (en) * 2002-05-22 2011-02-24 Scott George M Application network communication method and apparatus
US20110239228A1 (en) * 2007-10-25 2011-09-29 International Business Machines Corporation Processing Event Notifications with an Event Sink

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689867B2 (ja) * 2001-04-23 2011-05-25 日本電気株式会社 サーバシステム,クライアントシステムおよび差分更新システムならびに差分更新プログラム
BR0210589A (pt) * 2001-06-22 2005-04-26 Nosa Omoigui Sistema e método para a recuperação, o gerenciamento, a entrega e a apresentação do conhecimento
US7207008B1 (en) * 2001-09-12 2007-04-17 Bellsouth Intellectual Property Corp. Method, system, apparatus, and computer-readable medium for interactive notification of events
US20030097345A1 (en) 2001-10-18 2003-05-22 Mitch Upton System and method for invoking business functionality for a workflow
US6946715B2 (en) * 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US8027349B2 (en) * 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US20070022194A1 (en) * 2003-09-25 2007-01-25 Brown David W Database event driven motion systems
WO2005048086A2 (en) * 2003-11-17 2005-05-26 Roy-G-Biv Corporation Command processing systems and methods
US7668873B2 (en) 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7650609B2 (en) 2005-07-05 2010-01-19 Sap Ag Multi-environment document management system access
US20080085502A1 (en) 2006-10-04 2008-04-10 Ecollege.Com Web service api for student information and course management systems
US8259152B2 (en) * 2006-12-29 2012-09-04 Glowpoint, Inc. Video call distributor
JP5383087B2 (ja) * 2008-05-15 2014-01-08 キヤノン株式会社 画像処理システム、画像処理方法、画像処理装置およびその制御方法、ならびにプログラム
US8082224B2 (en) * 2008-07-16 2011-12-20 Business Objects S.A. Systems and methods to provide business information via a push model
US20100094839A1 (en) 2008-10-14 2010-04-15 Brach Ricci S Coordinated notification
US8195792B2 (en) 2009-01-16 2012-06-05 Microsoft Corporation Interfacing distinct services for providing web based document manipulation access
US8428561B1 (en) * 2009-03-27 2013-04-23 T-Mobile Usa, Inc. Event notification and organization utilizing a communication network
US8701127B2 (en) 2010-01-15 2014-04-15 Microsoft Corporation Web services access to content items stored by collaboration systems
US8464281B2 (en) * 2010-08-18 2013-06-11 Sas Institute, Inc. Techniques to remotely access object events

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165998A1 (en) * 2001-05-03 2002-11-07 Sun Microsystems, Inc., A Delaware Corporation Method and apparatus for meta object facility repository event notification
US20050160098A1 (en) * 2002-01-08 2005-07-21 Bottomline Technologies (De) Inc. Secure transport gateway for message queuing and transport over and open network
US20110047127A1 (en) * 2002-05-22 2011-02-24 Scott George M Application network communication method and apparatus
CN1474271A (zh) * 2002-06-25 2004-02-11 微软公司 向程序提交消息的系统和方法
CN1527556A (zh) * 2002-12-24 2004-09-08 �Ҵ���˾ 用于事件服务声明、注册、以及通知的方法和设备
US20070038979A1 (en) * 2005-07-26 2007-02-15 Tolga Oral Method and system for transparently controlling the behavior of service methods in a service oriented architecture
US20110239228A1 (en) * 2007-10-25 2011-09-29 International Business Machines Corporation Processing Event Notifications with an Event Sink
US20110029670A1 (en) * 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107251066A (zh) * 2015-02-19 2017-10-13 微软技术许可有限责任公司 个性化提醒
CN106933932A (zh) * 2015-12-31 2017-07-07 华为软件技术有限公司 数据处理方法、装置及应用服务器
CN110968438A (zh) * 2019-11-29 2020-04-07 江苏满运软件科技有限公司 事件消息异步通知方法、装置、电子设备、存储介质
CN110968438B (zh) * 2019-11-29 2022-09-02 江苏满运软件科技有限公司 事件消息异步通知方法、装置、电子设备、存储介质

Also Published As

Publication number Publication date
US8621072B2 (en) 2013-12-31
EP2788893A4 (en) 2016-05-18
CN103034699B (zh) 2016-07-06
US20130145014A1 (en) 2013-06-06
EP2788893A1 (en) 2014-10-15
WO2013085738A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
CN103034699A (zh) 向外部系统提供文档储存库事件的通知
NL2016564B1 (en) Method and apparatus for managing remote devices and accessing remote device information.
US9253265B2 (en) Hot pluggable extensions for access management system
CN102713886A (zh) 跨越多个计算设备的漫游应用设置
US20140143395A1 (en) Machine-to-Machine Rules Management Methods and Systems
CN109716331A (zh) 符合应用程序数据共享和决策服务平台模式的应用程序部署
CN103890726A (zh) 应用程序安装系统
CN102439898A (zh) 基于模型的多层验证
US20140122645A1 (en) Method and system for automatic agnostic provisioning of a computing device
US11468437B2 (en) Method and system for license server synchronization
US10896263B2 (en) Method and system for securely controlling access to data
CN102937940A (zh) 连接设备的双向扩展
JP2022525551A (ja) データレコードのコピーの分散型台帳システムへの誤伝送の防止
WO2021048810A1 (en) System, method, and computer program for transferring subscriber identity module (sim) information for sim card or esim activation
CN101138215B (zh) 在与操作系统无关的环境中的异步网络堆栈操作的方法和装置
US9973579B2 (en) Method and system for remote management of access to appliances
EP3007470B1 (en) Performance improvement method in instance hosting environment and service system therefor
US11159575B2 (en) Remote management of a user device
CN113590355A (zh) 工作流回调消息的实现方法及消息网关系统
US11379561B2 (en) License usage management
US10728323B2 (en) Method and apparatus for operating infrastructure layer in cloud computing architecture
WO2022152484A1 (en) Methods and apparatuses for obtaining a key set from a network repository function
CN105765945A (zh) 利用物理显示屏的移动设备配置
JP2019053337A (ja) 予約代行システム、予約代行方法および予約代行プログラム
US20230114076A1 (en) Automated update management in third-party update networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant