CN1829224A - 使用遵从MAPI的邮件应用程序的Web服务处理 - Google Patents

使用遵从MAPI的邮件应用程序的Web服务处理 Download PDF

Info

Publication number
CN1829224A
CN1829224A CNA2006100037285A CN200610003728A CN1829224A CN 1829224 A CN1829224 A CN 1829224A CN A2006100037285 A CNA2006100037285 A CN A2006100037285A CN 200610003728 A CN200610003728 A CN 200610003728A CN 1829224 A CN1829224 A CN 1829224A
Authority
CN
China
Prior art keywords
web service
message
mail
email message
mapi
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.)
Pending
Application number
CNA2006100037285A
Other languages
English (en)
Inventor
S·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 Corp
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 CN1829224A publication Critical patent/CN1829224A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • 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
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明经由邮件传输机制提供Web服务。具体地,本发明使用MAPI(消息通信应用程序接口)邮件应用程序来发送Web服务,以支持离线通信和服务请求的延长的处理时间,而不必为这样的消息交换创建额外的基础架构。自定义分层传输机制被配置成:标识将通过邮件传输机制来发送Web服务消息;使用MAPI应用程序来生成邮件消息;以及在邮件消息中包含Web服务消息和其它标识符。该消息然后被发送给MAPI应用程序的发件箱用于之后传递给端点。在接收邮件消息之后,端点可以提取Web服务消息并相应地处理它。也提供了用于由类似进程请求NPDL(网络协议描述语言)数据结构(例如,WSDL文档)的其它示例实施例。

Description

使用遵从MAPI的邮件应用程序的Web服务处理
技术领域
本发明一般涉及在Web服务和其它分布式系统中使用的绑定机制。更具体而言,本发明经由使用遵从MAPI(消息通信应用程序接口)的邮件应用程序的邮件消息传输机制提供Web服务,以支持离线通信并在不必为这样的消息交换创建额外的基础架构的情况下延长了服务请求的处理时间。
背景技术
计算机系统和相关技术影响了社会的方方面面。实际上,计算机系统处理信息的能力改变人们生活和工作的方式。计算机系统现在通常执行大量任务(例如,文字处理、调度、数据库管理等),这些任务在计算机系统出现之前都是手动操作的。最近,计算机系统被彼此耦合来形成计算机网络,在计算机网络上,计算机系统可电子地通信以共享数据。Web服务是推动此类计算机系统之间的通信的驱动力,并彻底改变了人们构建和使用软件的方式。
Web服务使得应用程序能共享数据,并更强大地能够调动来自其它应用程序的能力,而不必关心这些应用程序是如何被构建的、它们运行在什么操作系统或平台上以及使用什么设备来访问它们。通过包括SOAP(简单开放访问协议)、XML(可扩展标记语言)、UDDI(通用描述发现集成)、WSDL(Web服务描述语言)等行业标准协议经由因特网来调用Web服务。尽管Web服务仍旧彼此独立,但它们可以松散地链接成执行特定任务的协作组。
通常,Web服务网络上的电子通信包括请求对服务器计算机系统(下文中被称为“服务器”、“服务”或“Web服务”)的网络服务(例如,Web服务)的访问的客户计算机系统(下文中被称为“客户机”)。从而,客户机向服务发送对其系统资源的特定访问的请求,其中如果该客户机被授权和确认,那么服务使用提供所需信息的响应消息来响应。当然,客户机和服务之间有其它消息通信模式可用,包括简单的单一消息以及更复杂的多消息交换,如例如通知、请求—响应、发布—订阅模式、轮询、踢—推(kick-push)、排队等。而且,这些类型的通信由客户机和服务双方在分布式系统(例如,Web服务)的契约中定义的各种要求和能力来管理。
契约是服务(或客户机)行为的可见方面的表达。契约由机器可读语言和人类语言的混合来表示。除了显然可能提供额外精确性之外,机器可读语言使得能够使用工具来构造部分服务实现、自动化服务部署、交换监察/确认消息、管理服务以及允许大量其它网络相关的功能。然而,由于机器可读语言在表达力方面的限制,人类语言仍旧是契约的重要组成部分,主要用于描述消息和消息交换模式语义。
网络协议描述语言(例如,WSDL)提供用于以公共或标准语言描述契约(例如,Web服务契约)的总包装或规范。这样的规范使得开发员和开发员工具易于创建和解释契约。这些网络协议描述语言(下文中被称为“NPDL”)具有广泛的工具套件,这很大程度地说明了其流行度。直到最近,这些NPDL将契约绑定至单个传输或绑定机制,它描述如何封装或格式化消息(例如,SOAP信封)以及使用什么传输机制来将消息与服务(例如,HTTP(超文本传输协议))交换。
当前,Web服务实现使用HTTP作为其主要的传输机制,这部分是由于其普遍存在的特性。尽管HTTP作为一种用于Web服务的传输机制在流行度上有所增长,但是HTTP也具有某些被广泛认识到的限制。例如,HTTP是请求—响应样式的传输,它支持同步样式的事务。然而,此种类型的消息交换模式向异步通信提出了挑战。例如,Web服务客户机必须保持连接活跃以从Web服务获取任何响应。这使得长期运行的事务(例如,花费几天来处理的抵押应用程序)难以在没有创建客户机持续向服务器轮询更新的机制的情况下使用HTTP来实现。
HTTP的另一个问题是,它是基于连接的协议。从而,消息交换模式中的每一端点(即,客户机和服务)必须存活且活动来完成HTTP请求—响应。在不太可能如此的情况下(例如,客户机试图在某个远程位置处连接至Web服务),消息可能被认为是不可传递的,且系统将因HTTP协议不支持消息的高速缓存和存储而失败。
在Web服务环境中使用HTTP的另一个问题是,HTTP的使用需要额外的基础架构。例如,为主存网站,使用HTTP的Web服务需要基础架构及设置。为支持被主存的Web服务,每一计算设备需要能接受传入的HTTP请求,这要求为每一计算机安装Web服务器或等效功能。这引入了新的管理和安全问题,作为结果也可能成为某些环境中的挑战,例如,不熟悉配置Web服务器的临时性的一个或多个计算机用户。
以上限制已生成关于可支持Web服务的替换传输机制的想法和实现。从而,各种Web服务引擎允许开发员编写或扩展绑定或绑定机制以包括多个封装和传输协议。例如,开发员可以定制传输机制以包括以下的一个或多个:FTP(文件传送协议)、SMTP(简单消息传送协议)、TCP(传输控制协议)、UDP(用户数据报协议)等。尽管这些绑定扩展允许利用其它传输机制的有利特征,但是它们不解决以上标识的HTTP的缺陷。
例如,当使用SMTP绑定时,生成标准邮件消息,其中消息的主体包括Web服务消息,然后将其通过电线传输给其它端点。尽管使用SMTP传输可具有优于HTTP的有利特征,然而以这种方式使用SMTP仍旧要求每一端点通过SMTP传输连接。另外,在邮件消息内生成并封装Web服务消息需要额外的基础架构,再次导致上述管理和安全问题。
从而,存在对这样一种基于Web的服务基础架构的需求,它允许扩展的异步通信,支持离线或无连接间隔并利用现有基础架构以在Web服务环境中交换消息。
发明内容
当前的Web服务绑定机制中以上标识的缺陷和缺点通过本发明的示例性实施例得以克服。例如,本发明经由利用遵从MAPI(消息通信应用程序接口)的邮件应用程序的邮件传输提供Web服务,以支持离线通信并延长服务请求的处理时间,而不必为这样的消息交换创建额外的基础架构。另外,本发明通过利用遵从MAPI的邮件应用程序经由邮件传输为Web服务应用程序提供了NPDL(网络协议描述语言)数据结构的分发,以支持离线通信和生成NPDL数据结构,而不必访问Web服务应用程序。
例如,在各实施例中,接收包含标识对用于发送Web服务消息的遵从MAPI的邮件应用程序的使用的寻址方案的Web服务消息,该Web服务消息是通过邮件消息传输机制通信的客户机和Web服务之间的消息交换模式的一部分。然后标识寻址方案内用于将Web服务消息发送给相应的端点的端点邮件地址。之后,生成使用遵从MAPI的邮件应用程序的邮件消息。该邮件消息包括端点邮件地址、Web服务消息和用于为Web服务消息标识Web服务和消息交换类型(例如,请求、响应等)的标识符。之后,将该邮件消息发送给遵从MAPI的邮件应用程序的发件箱,用于之后通过邮件消息传输机制传递给该端点。
在另一示例实施例中,通过邮件消息传输机制接收邮件消息。该消息是在对应于端点Web服务应用程序的遵从MAPI的邮件应用程序的收件箱处接收的。之后,该邮件消息被标识为包含对应于遵从MAPI的邮件应用程序的端点邮件地址、作为客户机与Web服务之间的消息交换模式的一部分的Web服务消息、以及为Web服务消息标识Web服务和消息交换类型的标识符。基于Web服务消息的Web服务和消息交换类型,该Web服务消息被发送给端点Web服务应用程序以供处理。
在其它示例中,通过邮件传输来分发NPDL(例如,WSDL数据结构)。在该示例性实施例中,在与Web服务应用程序相关联的遵从MAPI的邮件应用程序的收件箱处从端点接收邮件消息。该邮件消息然后被标识为请求NPDL数据结构,它是用于描述端点应用程序在与Web服务应用程序交换消息时遵循的一个或多个契约的规范。之后,自动生成NPDL数据结构,而不必访问Web服务应用程序。NPDL数据结构然后被发送给端点。
本发明的其它特征和优点将在随后的描述中描绘,且其中部分可通过阅读该描述而变得明显,或者可以通过实现本发明来领会。本发明的特征和优点可以通过所附权利要求书中特别指出的装置及其组合来实现和获取。通过阅读以下描述和所附权利要求书,本发明的这些和其它特征将是显而易见的,或者也可以通过如之后所述对本发明的实现来领会。
附图说明
为了描述可获取本发明上述及其它优点和特征的方式,将参考在附图中示出的本发明的特定实施例呈现以上简要描述的本发明的更具体描述。要理解,这些附图仅描述本发明的典型实施例,从而不被认为是对其范围的限制,本发明将通过使用附图以额外的特性和细节来描述和解释,附图中:
图1A示出了根据本发明的示例实施例,利用MAPI邮件应用程序用于在客户机和Web服务之间交换消息的分布式系统;
图1B示出了根据本发明的示例实施例,用于使用MAPI邮件应用程序来请求NPDL文档的分布式系统;
图2示出了根据本发明的示例实施例,用于在Web服务引擎和MAPI邮件应用程序之间通信的传输机制内的示例接口分层;
图3示出了根据本发明的示例实施例,用于经由邮件传输提供Web服务的方法的流程图;
图4示出了根据本发明的示例实施例,用于经由邮件传输提供Web服务的方法的另一流程图;
图5示出了根据本发明的示例实施例,用于为邮件传输的Web服务应用程序提供NPDL数据结构的方法的流程图;以及
图6示出了为本发明提供合适的操作环境的示例系统。
具体实施方式
本发明提供用于经由使用遵从MAPI邮件应用程序的邮件传输在客户机和Web服务之间交换Web服务的方法、系统和计算机程序产品。另外,本发明能够通过遵从MAPI的邮件应用程序向请求端点传递NPDL数据结构。本发明的实施例可包括包含以下将更详细讨论的各种计算机硬件的专用或通用计算机。
本发明能够利用遵从MAPI(消息通信应用程序接口)的邮件应用程序以通过邮件传输为Web服务交换消息。遵从MAPI的邮件应用程序的示例包括,MicrosoftOutlook、Microsoft Outlook Exchange、Microsoft Exchange、高通的Eudora以及可以与邮件交换服务器或邮件存储通信的其它类似的电子邮件应用程序。其它示例性实施例也包括使用这些遵从MAPI的邮件应用程序来请求NPDL(网络协议描述语言)数据结构,例如WSDL(Web服务描述语言)文档,这允许客户机和服务开发员在设计时能访问这些文档,而不必访问相应的Web服务应用程序。
以上标识的遵从MAPI的邮件应用程序是惊人地普及的技术,这表现在每天,世界上的无数人使用这些应用程序来交换消息。使用这样的遵从MAPI的邮件应用程序作为应用程序之间交换的Web服务消息的传输机制的能力变得不可思议地强大。例如,考虑之前关于HTTP描述的挑战,可以开始查看,为何遵从MAPI的邮件应用程序的使用相比现有技术有巨大的好处。具体地,此类遵从MAPI的邮件应用程序提供比HTTP或其它类似传输机制更异步的模型。遵从MAPI的邮件应用程序的用户可以发送消息,然后期待几分钟、几小时甚至几天之后的回复。从而,当这应用于Web服务时,MAPI邮件应用程序可以用于发送Web服务请求,然后在几分钟、几小时或几天之后接收响应。使用HTTP或其它传输机制是难以获得此类异步交互样式的,且在某些实例中甚至是不可能的。
而且,MAPI邮件应用程序支持在离线环境中构造邮件消息。例如,如果用户位于远程位置而没有对邮件交换服务器的访问或连接,该用户仍旧可以使用遵从MAPI的邮件应用程序来创建消息,其中这样的消息被存储在此类应用程序的发件箱中。这些消息然后可以在用户下一次与邮件交换服务器连接时被发送。类似的过程可以应用于这样的模型:其中Web服务与遵从MAPI的邮件应用程序结合可用于克服HTTP或其它类似传输协议的这些缺陷。具体地,本发明允许能够构造Web服务消息(例如,请求或响应)的应用程序将Web服务消息作为普通邮件消息存储在MAPI邮件应用程序的发件箱内。从而,本发明支持Web服务消息的离线处理,且当用户下一次连接至网络时,该消息可以被发送至所期望的端点。
本模型的另一优点是无需额外的基础架构。如上所述,支持传入HTTP请求通常需要安装可能导致管理和安全问题的Web服务器。根据此处的示例实施例,MAPI邮件应用程序的使用所需的仅是端点的邮箱。传入邮件Web服务消息可以被发送给该邮箱,而无需任何额外软件或安装的开销。
相比使用SMTP传输以在Web服务环境中的端点之间交换消息的其它现有模型,本发明也具有若干有利特征。例如,根据示例实施例,使用MAPI邮件应用程序提供离线工作的能力,因为此类应用程序支持对发件箱的使用,后者是遵从MAPI的邮件应用程序(而不是协议或传输机制)所专用的。另外,对MAPI邮件应用程序的使用使得配置无重复。例如,当使用本机或当前的SMTP通道时,Web服务客户机和服务仍需要了解关于电子邮件帐户的某些细节。这包括,例如SMTP服务器的位置、POP3服务器的位置、用户名和口令。当使用根据本发明的MAPI邮件应用程序时,所有这些信息都已在应用程序内配置,从而无需重复。
本发明的其它有利特征包括扩展传输机制用于在分布式环境中交换消息。例如,众多MAPI邮件应用程序允许在除SMTP以外的其它传输机制上传输消息。例如,这些MAPI邮件应用程序可以被扩展为使用Hotmail、X.25、DEC All-In-1等来传输消息。给定某些以上标识的好处,以下是遵从MAPI的邮件应用程序如何被用来取得这些所期望的结果的更详细描述。
图1A示出了根据示例实施例,使用MAPI邮件应用程序以在客户机和服务之间交换消息的分布式系统。在以下图1A以及此处描述的其它附图的描述中,偶而会对客户机、服务器或与之相关联的应用程序的邮件地址进行引用。可以认识到,这样的邮件地址通常被绑定至个人或公司,而不是任何特定的机器或应用程序。尽管如此处所述的“邮件地址”一般被绑定至客户机或服务器的个人用户,但当适用时,它也可扩展到应用程序或机器。从而,如此处所用的任何特定邮件地址应被宽泛地解释为绑定至个人、公司、应用程序或机器。
如图1A中所示,客户机105和服务器150被分别安装或包括MAPI邮件应用程序110、155的实例。注意,为简化示意图起见,MAPI邮件应用程序110、155的实例均使用同一邮件交换服务器145来示出;然而,遍及分布式系统100可能使用其它邮件交换服务器145。本发明的唯一必要条件是,客户机105上的MAPI邮件应用程序110的实例具有与服务器150上的MAPI邮件应用程序155的实例交换(发送和接收)邮件消息的能力。
在图1的示例中,客户机105运行Web服务应用程序130,后者是被配置成调用Web服务165的自定义应用程序。类似地,服务器150主存并运行Web服务165。然而,注意到,为本申请的目的,除非以其它方式明确标识,否则术语“Web服务应用程序”应被宽泛地解释为包含客户机的Web服务应用程序130和服务器端Web服务165。此外,客户机的Web服务应用程序130和Web服务165均分别使用客户机端115上和服务器端160上的自定义分层传输机制被绑定至MAPI邮件应用程序110、115。如将在以下更详细描述的,这些分层传输机制115、160均具有若干分层的接口,用于在Web服务应用程序130、165以及其相应的MAPI邮件应用程序110、115之间传递消息。
以下给出客户机105和服务器150之间的请求—响应消息交换模式的简要概述。然而,注意到,其它消息交换模式也可用于本发明。从而,除非明确地要求保护,否则在描述图1A及其它附图的示例实施例时对请求—响应消息交换模式的使用仅为说明性的目的,而不意味着限制或缩小本发明的范围。
在该示例中,客户机的Web服务应用程序130创建Web服务请求120,后者包括(如将在以下更详细描述)指定由服务器150的MAPI邮件应用程序155使用的邮件地址的位置的自定义寻址方案。使用客户机端分层传输机制115,Web服务请求消息120可以通过如以下所述的一个或多个直接API(应用程序接口)来转发给MAPI邮件应用程序110。MAPI邮件应用程序将为请求120创建待发邮件消息135,并将待发邮件消息135置入其(110)发件箱(未示出)中。注意到,尽管待发邮件消息135被发送或存储在发件箱中,但是用于处理发件箱中的邮件消息135的其它进程也可用于本发明。例如,邮件消息135可以在发件箱内直接创建。从而,在发件箱中发送或存储的邮件消息135(以及此处所述的其它邮件消息)应被宽泛地解释为包括在发件箱内放置或创建邮件消息的任何公知的方式。
无论在哪种情况中,待发邮件消息可以包括绑定至Web服务165的MAPI邮件应用程序155的邮件地址、Web服务请求120消息以及用于为Web服务消息(在该示例中即请求120)标识Web服务165和邮件交换类型的标识符。当MAPI邮件应用程序110被连接至适当的邮件交换服务器145时,待发邮件消息135作为传入邮件消息135被发送给服务器150的MAPI邮件应用程序165。通常,该传入邮件消息135将是纯文本的SOAP信封。然而,注意,本发明不限于所交换的邮件消息的任何特定的封装和/或格式化。从而,除非明确地要求保护,否则对用于传送邮件消息135、140的SOAP信封和纯文本的使用仅为说明性的目的,而不意味着限制或缩小本发明的范围。
当传入邮件消息135到达MAPI邮件应用程序155时,它可以被发送至MAPI邮件应用程序155的收件箱。通过传入邮件消息135内的标识符,服务器端分层传输机制160可以将传入邮件消息135标识为包含请求120,并将其递给相应的Web服务165用于处理。注意,尽管该标识符用于将传入邮件消息135标识为包含请求120,但是示例性实施例也提供用于将消息标识为包含请求120的其它方式。例如,可以通过过滤进程标识消息,其中MAPI邮件应用程序155可将传入邮件消息135中的主题标识为请求。在这样的情况下,可以使用由服务器开发员设置的各种规则来将其过滤至特定文件夹。从而,服务器端分层传输机制160在经过滤的文件夹内看到消息之后,可自动假定传入邮件消息135包含请求120,并将其(120)发送至Web服务器165用于处理。从而,如将在以下更详细描述的,对用于标识传入邮件消息135内的请求120(或其它类型的Web服务消息)的术语“标识符”的使用应被宽泛地解释为包括用于将消息标识为包含特定内容的其它公知的方法。
在任何情况下,当将请求消息120成功地传递给Web服务165之后,可以从服务器155的MAPI邮件应用程序155收件箱中删除传入邮件消息135(例如,移至已删除项文件夹)。如果这是仅单向消息交换模式,那么进程将在此结束。然而,在该示例中,Web服务165可以按上述类似的方式发送响应125。
具体地,Web服务165构造响应125,并使用服务器端传输机制160将响应递给MAPI邮件应用程序155。MAPI邮件应用程序155然后构造包含客户机105的邮件地址(或对应于客户机的地址)、Web服务响应125以及用于标识Web服务165和邮件交换类型(即响应125)的标识符的待发邮件消息140。待发邮件消息140然后被存储在服务器150上的发件箱(未示出)中,并当服务器150被连接至邮件交换服务器145时被发送给邮件交换服务器145。当客户机被连接至邮件交换服务器145时,待发邮件消息140作为传入邮件消息140被发给客户机105端上的MAPI邮件应用程序110的实例。客户机端分层传输机制115然后可以将传入邮件消息140识别为包含响应125(类似于以上就服务器150所述的进程),并将其传递回客户机Web服务应用程序130用于处理。
图2示出了用于将Web服务165或Web服务应用程序130绑定至其相应的MAPI邮件应用程序155、110的分层传输机制115、160的更详细示例。如图所示,Web服务引擎225(例如,WSE(Web服务增强))利用自定义分层传输机制230中的各种自定义API 210、215、220。注意,尽管这些API 210、215、220被示为分离的接口,但是它们的功能可以被结合以形成单个应用程序编程接口。从而,除非明确地要求保护,否则对分离的接口及其功能的使用仅用于说明性的目的,而不意味着限制或缩小本发明的范围。
然而,如图所示,自定义分层传输机制230包括三个元素,包括自定义传输接口220、受管MAPI功能215以及扩展的MAPI功能210。自定义传输接口层230实现Web服务引擎225传输所需的各种接口和进程。该层220略述了将使用的通道,以及寻址方案(以下将更详细描述)和为传输处理事件(例如,当新消息到达时做什么)的进程。该自定义传输接口220也支持生成NPDL文档(例如,WSDL文档),使得开发员能够发送邮件消息给Web服务,并请求该NPDL文档用于设计和构建可以与服务共同工作的客户机。以下参考图1B更详细描述用于请求这样的NPDL文档的这一进程和寻址方案。
受管MAPI功能215层用于将Web服务请求从Web服务引擎225形式(通常被称为SOAP信封)转换成邮件消息。该层215的部分功能是正确处理寻址,使得正确处理不明确的邮件地址。该层215可以用受管的(.Net)代码来开发,因此而得名。
可能存在受管层215由于例如各种MAPI邮件应用程序205内的安全模型而不能执行的若干功能。这些功能可以包括,为现有邮件消息获取邮件地址和正文。从而,为克服这一问题,示例性实施例提供了扩展的MAPI功能210层,它被配置成执行与MAPI邮件应用程序105交互的多个功能。该扩展MAPI功能层210可以作为MAPI邮件应用程序205的一部分一起发货。
如前所述,本发明使用了用于标识对用于发送Web服务消息(例如,请求、响应)的遵从MAPI的邮件应用程序的使用的自定义寻址方案。注意,尽管对寻址方案的以下描述利用了用于标识端点邮件地址以及标识将使用遵从MAPI邮件的应用程序来交换Web服务消息的特定形式,但标识这些特征的其它公知方式也可用于本发明。从而,除非明确地要求保护,否则以下寻址方案以及此处所述的其它标识符仅用于说明性的目的,而不意味着限制或缩小本发明的范围。
根据示例性实施例的示例寻址方案类似于典型的URL(统一资源定位器)的建模。例如,URL由若干不同的部分构成,包括传输机制(例如,“http://”)、主机名(例如,“www.companyname.com”)以及所请求的页面(例如,“/biztalk/default.aspx”)。通过HTTP传输机制运行的Web服务遵循类似的约定。例如,给定地址 http://myserver/services/servicel.asmx:,传输机制仍是“http://”,“myserver”是主机名,而“/services/servicel.asmx”标识所请求的Web服务。
本发明的示例性实施例为MAPI邮件应用程序标识符使用类似的寻址方案。例如,soap.mapimailapplicationname://to/sguest@company.com的寻址方案划分如下:“soap.mapimailapplicationname://”定义了所使用的传输机制;“to”为主机名(用于遵循URI命名约定,但通常被设计忽略);而“/sguest@company.com”是Web服务或客户机(取决于这是请求、响应还是其它类型的消息交换)的电子邮件地址。
使用以上格式也允许传输机制以类似于电子邮件可寻址多个收件人的方式来寻址多个服务。这可以通过将地址追加在URL上来执行,例如,soap.mapimailapplication://to/squest@company.com;account@company.com。这将请求寻址到运行在squest@company.com和accounts@company.com两者上的服务。
注意,寻址方案可能不包括Web服务的名称。相反,示例实施例将Web服务的名称(或用于标识服务的其它手段,诸如分配码)和消息交换类型放置在标识符中。该标识符可位于特定的域中,例如邮件消息的主题行。这些标识符的格式可以如下:<服务名称>request,为服务标识请求;和<服务名称>requestresponse,标识对前一请求的响应。注意,尽管使用了特定格式来标识请求和/或响应,但是标识消息交换模式的其它方式也可用于本发明。例如,对于请求,可使用缩写“req”,而对响应可使用缩写“resp”。从而,除非明确地要求保护,否则用于标识消息交换模式和它们在标识符中呈现的格式的以上示例仅是用于说明性的目的,而不意味着限制或缩小本发明的范围。
如前所述,在示例性实施例中,也请求和接收NPDL文档(例如,WSDL文档),用于创建与传递至Web服务165兼容的请求120。可以认识到,这样的NPDL数据结构给出了用于描述客户机Web服务应用程序130在与Web服务应用程序165交换消息时所遵循的一个或多个契约的规范。
图1B示出了根据示例性实施例,允许开发员(未示出)或应用程序请求和接收NPDL数据结构185的分布式系统100。如图所示,开发员或应用程序可使用运行在客户机105上的MAPI邮件应用程序110来创建邮件消息190,它是对Web服务165的NPDL 175的请求。请求190通过邮件交换服务器145被发送至服务器150的MAPI邮件应用程序155收件箱。请求190应该包括用于标识Web服务165以及请求的类型(这是对NPDL文档的请求)的标识符。这样的标识符可被包含在请求190的主题行或某些其它域中。例如,标识符“<服务名称>?WSDL”可以被包含在请求消息190的主题行中,它将消息190标识为对于与Web服务165相对应的NPDL文档的请求。然而,再次注意,标识服务和或对NPDL请求的其它方式也可用于本发明;从而,除非明确地要求保护,否则消息190内的标识符的以上标识的位置和标识符的特定形式仅是用于说明性的目的,而不意味着限制或缩小本发明的范围。
Web服务引擎170可以通过标识符来标识请求邮件消息190,并使用它们来生成NPDL数据结构175,NPDL数据结构175然后可以例如在邮件消息响应185中被发送给客户机。注意,尽管图1B中的NPDL数据结构175是从存储180中检索的,然而其它示例实施例允许Web服务引擎170在进行中动态生成它。还注意,尽管在该示例中,NPDL数据结构在响应邮件消息185中被发送,然而可以使用其它传输机制来发送NPDL数据结构。例如,请求190可以指定使用不同的传输机制和/或将NPDL数据结构发送至不同的地址。从而,除非明确地要求保护,否则如何创建NPDL数据结构和对用于返回NPDL数据结构185的邮件消息的使用仅是为说明性的目的,且不意味着限制或缩小本发明的范围。
注意,因为Web服务引擎170可以动态生成或从存储180中检索或以其它手段获得NPDL 175,而不必访问Web服务165或向其请求NPDL 175,所以本实施例具有若干有利特征。例如,因为Web服务165在该进程期间不被访问,因此Web服务165的资源可用于处理其它请求。用于获取NPDL数据结构的该示例实施例也具有能够在离线环境中请求该数据结构的附加优点,因为MAPI邮件应用程序110用于请求190。具体地,请求190可首先在离线环境中被发送至MAPI邮件应用程序110的发件箱中,然而当至邮件交换服务器145的连接可用时,请求190可以被发送给服务器145、150。
本发明也可按照包含功能性步骤和/或非功能性动作的方法来描述。以下是可在实现本发明时执行的步骤和/或动作的描述。通常,功能性步骤按照实现的结果来描述本发明,而非功能性动作描述用于获得特定结果的更具体动作。尽管,可以按特定的顺序描述或要求保护功能性步骤和/或非功能性动作,但本发明不必限于步骤和/或动作的任何特定的顺序或组合。而且,对权利要求书以及图3-5的流程图的以下描述中所述的步骤和/或动作的使用被用于指示对这样的术语的所期望的特定使用。
图3-5示出了本发明的各个示例性实施例的流程图。对图3-5的以下描述将偶而会参考来自图1A、1B和2中的相应元素。尽管对来自这些附图的特定元素进行参考,但是除非明确地要求保护,否则这些元素仅被用于说明性的目的,而不意味着限制或缩小本发明的范围。
图3示出了通过利用遵从MAPI的邮件应用程序经由邮件传输提供Web服务的方法300的流程图,用于支持离线通信和延长服务请求的处理时间,而无需为这样的消息交换创建额外的基础架构。方法300包括接收Web服务消息的动作305。例如,取决于Web服务消息是请求120还是响应125,客户机端115或者服务器端160分层传输机制可接收该Web服务消息120、125。Web服务消息120、125应该包括标识对遵从MAPI的邮件应用程序110、155的使用的寻址方案,对遵从MAPI的邮件应用程序的使用是用于将Web服务消息120、125作为通过邮件消息传输机制来通信的客户机105和Web服务165之间的消息交换模式的一部分来发送。遵从MAPI的邮件应用程序可以是SMTP、HotmailTM、X.25、DEC All-In-1等之一。
在任何情况下,方法300还包括标识端点邮件地址的动作310。例如,自定义分层传输机制230内的各个层210、215、220可用于标识寻址方案内用于将Web服务消息120、125发送至相应终端105、150的端点邮件地址(客户机105或服务器150的)。方法300也包括使用遵从MAPI的邮件应用程序来生成邮件消息的动作315。例如,MAPI邮件应用程序110、115可用于生成待发邮件消息135、140。邮件消息应包括端点邮件地址、Web服务消息120、125以及用于为Web服务消息120、125标识Web服务165和消息交换类型(例如,请求、响应等)的标识符。
方法300还包括将邮件消息发送给遵从MAPI的邮件应用程序的发件箱的动作320。例如,自定义分层传输机制230可以将邮件消息135、140发送给遵从MAPI的邮件应用程序110、155的发件箱,用于之后通过邮件消息传输机制传递给终端105、150。如前所述,可在自定义分层传输机制230中使用一个或多个API 210、215、220来生成邮件消息135、140,并将邮件消息135、140发送给遵从MAPI的邮件应用程序110、155的发件箱。
在其它示例性实施例中,Web服务消息120、125是来自客户机105的请求消息120,而端点为Web服务165。在该示例性实施例中,邮件消息135被发送给端点165的邮件地址。然后在遵从MAPI的邮件应用程序110的收件箱中接收另一邮件消息140。邮件消息140包括客户机105的邮件地址、对请求120的Web服务响应125、以及用于标识Web服务165和指示邮件消息140包含Web服务响应125的消息交换类型的标识符。之后,Web服务响应126可以被发送给客户机的Web服务应用程序130以供进一步处理。
图4示出了通过利用遵从MAPI的邮件应用程序经由邮件传输提供Web服务的方法400的流程图。在该示例实施例中,方法400包括经由邮件消息传输机制接收邮件消息的动作405。例如,客户机105或者服务器150可以经由邮件消息传输机制在对应于端点105、150的Web服务应用程序130、165的遵从MAPI的邮件应用程序的收件箱中接收邮件135、140。之后,方法400包括标识邮件消息包含端点邮件地址、Web服务消息和标识符的动作410。例如,使用自定义分层传输机制115、160,邮件消息135、140可被标识为包含对应于遵从MAPI的邮件应用程序110、155的端点105、150的邮件地址,作为客户机105和Web服务165之间的消息交换模式的一部分的Web服务消息120、125,以及用于为Web服务消息120、125标识Web服务165和邮件交换类型(例如,请求、响应等)的标识符。
基于Web服务和Web服务消息的邮件交换类型,方法400还包括将Web服务消息发送给端点Web服务应用程序的动作415。例如,使用自定义分层传输机制210、215、220内的各种API,在标识邮件消息包含Web服务消息120、125之后,Web服务消息120、125可被发送给适当的服务应用程序130、165用于处理。
在其它示例性实施例中,方法400中的Web服务120、125是来自客户机105的请求120,而端点是Web服务165。在该实施例中,可以接收另一Web服务消息125,它包含将其它Web服务消息标识为对请求120的响应125的寻址方案。客户机105的邮件地址然后可在寻址方案内被标识,用于将响应消息125发送给客户机105的MAPI邮件应用程序110。然后使用遵从MAPI的邮件应用程序155生成另一邮件消息140,它包含客户机105的邮件地址、响应消息125、以及用于将Web服务165和Web服务消息类型标识为响应125的标识符。邮件消息140然后被发送给MAPI邮件应用程序155的发件箱,用于随后经由邮件消息传输机制传递给客户机105。
图5示出了通过利用MAPI邮件应用程序经由邮件传输为Web服务应用程序提供NPDL的方法500的流程图,用于支持离线通信和生成NPDL数据结构而不必访问Web服务应用程序。方法500包括从端点接收邮件消息的动作505。例如,参考图1B,可以由与Web服务应用程序165相关联的MAPI邮件应用程序155(从客户机105)接收NPDL请求190。此外,方法500包括将邮件消息标识为请求NPDL数据结构的动作510。例如,Web服务引擎170可用于标识NPDL请求190是对NPDL数据结构的请求,NPDL数据结构是用于描述端点105在与Web服务应用程序130、165交换消息时所遵循的一个或多个契约的规范。
方法500还包括自动生成NPDL数据结构的动作515。例如,Web服务引擎170可以从存储180中检索Web服务165的NPDL 175,或者可以自动生成NPDL数据结构175而不必访问Web服务应用程序165。之后,方法500包括将NPDL数据结构发送给客户机的动作520。例如,Web服务引擎170可以通过邮件消息传输机制在响应消息185中发送NPDL数据结构。在该实施例中,可以使用遵从MAPI的邮件应用程序155来生成另一个邮件消息185。邮件消息185包括NPDL数据结构、客户机105的遵从MAPI的邮件应用程序110的邮件地址、以及用于将邮件消息185标识为包含NPDL数据结构的标识符。之后,邮件消息185可以被发送给服务器150的遵从MAPI的邮件应用程序155的发件箱,用于随后传递给客户机105的遵从MAPI的邮件应用程序110。
NPDL可以是WSDL,而NPDL数据结构可以是XML文档。此外,邮件消息190可以通过在邮件消息的主题域中包含标识符而被标识为请求NPDL数据结构175。而且,标识符还可包括Web服务应用程序165的名称。
本发明范围内的实施例也包括用于携带或其上存储计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例,而非限制,这样的计算机可读介质可包括RAM、ROM、EPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备,或可被用于以计算机可执行指令或数据结构的形式携带或存储所期望的程序代码装置且可由通用或专用计算机访问的任何其它介质。当通过网络或另一通信连接(或是硬连线、无线或是硬连线或无线的组合)将信息传送或提供给计算机时,该计算机恰当地将该连接视为计算机可读介质。因此,任何这样的连接被恰当地称为计算机可读介质。以上的组合也应包含在计算机可读机制的范围内。计算机可执行指令包括,例如,使得通用计算机、专用计算机或专用处理设备执行特定的一个或一组功能的指令和数据结构。
图6及以下描述旨在提供可在其中实现本发明的合适的计算环境的简要概括描述。尽管不是必需的,但本发明将在诸如程序模块等由网络环境中的计算机执行的计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。计算机可执行指令、相关联的数据结构和程序模块表示用于执行此处所揭示的方法的步骤的程序代码装置的示例。这样的可执行指令或相关联数据结构的特定顺序表示用于实现在这些步骤中所述的功能的相应动作的示例。
本领域的技术人员可以理解,本发明可以在具有多种类型的计算机系统配置的网络计算环境中实现,这些计算机系统配置包括个人计算机、手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、网络PC、小型机、大型计算机等。本发明也可以在分布式计算环境中实现,其中任务由通过通信网络连接(或者通过硬连线、无线链路或通过硬连线或无线链路的组合)的本地和远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图6,用于实现本发明的示例系统包括常规计算机620形式的通用计算设备,包含处理单元621、系统存储器622和将包括系统存储器在内的各种系统组件耦合至处理单元621的系统总线623。系统总线623可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM)624和随机存取存储器(RAM)625。基本输入/输出系统(BIOS)626包含有助于诸如启动时在计算机620中元件之间传递信息的基本例程,它可被存储在ROM 624中。
计算机620还可以包括用于从磁硬盘639中读取或向其写入的磁硬盘驱动器627,用于从可移动磁盘629中读取或向其写入的磁盘驱动器628,以及用于从诸如CD ROM或其它光学介质等可移动光盘631中读取或向其写入的光盘驱动器630。磁硬盘驱动器627、磁盘驱动器628和光盘驱动器630分别由硬盘驱动器接口632、磁盘驱动器接口633和光盘驱动器接口634连接至系统总线623。驱动器及其相关联的计算机可读介质为计算机620提供了对计算机可执行指令、数据结构、程序模块和其它数据的非易失性存储。尽管此处所示的示例性环境使用磁硬盘639、可移动磁盘629和可移动光盘631,也可以使用用于存储数据的其它类型的计算机可读介质,包括盒式磁带、闪存卡、数字多功能盘、贝努利盒式磁盘、RAM、ROM等。
可以在硬盘639、磁盘629、光盘631、ROM 624或RAM 625上存储包括一个或多个程序模块的程序代码装置,包括操作系统635、一个或多个应用程序模块636、其它程序模块637和程序数据638。用户可以通过键盘640和定点设备642,或诸如麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等其它输入设备(未示出)向计算机620输入命令和信息。这些和其它输入设备通常由耦合至系统总线623的串行端口接口646连接至处理单元621。或者,输入设备可以由诸如并行端口、游戏端口或通用串行总线(USB)等其它接口连接。监视器647或另一显示设备也经由诸如视频适配器648等接口连接至系统总线623。除监视器之外,个人计算机一般包括其它外围输出设备(未示出),诸如扬声器和打印机。
计算机620可使用至一台或多台远程计算机,诸如远程计算机649a和649b的逻辑连接在网络化环境中操作。远程计算机649a和649b各自可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机620描述的许多或所有元件,尽管在图6中只示出存储器存储设备650a和650b以及其相关联的应用程序636a和636b。图6中所示逻辑连接包括此处作为示例而非限制示出的局域网(LAN)651和广域网(WAN)652。这样的网络环境在办公室范围或企业范围计算机网络、内联网和因特网中是常见的。
当在LAN网络环境中使用时,计算机620通过网络接口或适配器653连接至局域网651。当在WAN网络环境中使用时,计算机620通常包括调制解调器654、无线链路或用于通过诸如因特网等广域网652建立通信的其它装置。调制解调器654可以是内置或外置的,它通过串行端口接口646连接至系统总线623。在网络化环境中,相对于计算机620所描述的程序模块或其部分可以存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用通过广域网652建立通信链路的其它手段。
本发明可以用其它具体形式来实施,而不背离其精神或本质特征。所述的实施例在所有方面都被认为仅是说明性的而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述来指示。落入本发明权利要求书的等效技术方案的意义和范围内的所有变化都被包括在其范围内。

Claims (20)

1.一种在分布式环境中的计算系统处的方法,所述方法通过利用遵从MAPI(消息通信应用程序接口)的邮件应用程序经由邮件传输来提供Web服务,以支持离线通信及服务请求的延长的处理时间,而不必为这样的消息交换创建额外的基础架构,所述方法包括以下动作:
接收Web服务消息,所述Web服务消息包括标识对遵从MAPI的邮件应用程序的使用的寻址方案,所述对遵从MAPI的应用程序的使用是将所述Web服务消息作为通过邮件消息传输机制通信的客户机与Web服务之间的消息交换模式的一部分来发送;
在所述寻址方案内标识用于将所述Web服务消息发送给相应端点的端点邮件地址;
使用所述遵从MAPI的邮件应用程序生成邮件消息,所述邮件消息包括端点邮件地址、所述Web服务消息、以及为所述Web服务消息标识Web服务和消息交换类型的标识符;以及
将所述邮件消息发送给所述遵从MAPI的邮件应用程序的发件箱,用于之后经由所述邮件消息传输机制传递给所述端点。
2.如权利要求1所述的方法,其特征在于,所述标识符被包含在所述邮件消息的主题域中。
3.如权利要求1所述的方法,其特征在于,所述邮件消息传输机制是从SMTP、Hotmail、X.25或DEC All-In-1中选取的。
4.如权利要求1所述的方法,其特征在于,所述Web服务消息是来自所述客户机的请求消息,或是来自所述Web服务的响应消息。
5.如权利要求1所述的方法,其特征在于,所述Web服务消息是来自客户机的请求消息,所述端点是Web服务,所述方法还包括:
将所述邮件消息发送给所述端点邮件地址;
在所述遵从MAPI的邮件应用程序的收件箱处接收另一邮件消息,所述另一邮件消息包括所述客户机的邮件地址、对所述请求消息的Web服务响应、以及用于标识所述Web服务的名称和指示所述另一邮件消息包含所述Web服务响应的消息交换类型的标识符;以及
将所述Web服务响应发送给所述客尸机的Web服务应用程序以供进一步处理。
6.如权利要求1所述的方法,其特征在于,所述一个或多个应用程序编程接口也用于生成所述邮件消息,以及将所述邮件消息发送给所述遵从MAPI的邮件应用程序的发件箱。
7.如权利要求1所述的方法,其特征在于,所述遵从MAPI的邮件应用程序是Microsoft Outlook、Outlook Express或Eudora之一。
8.一种在分布式环境中的计算系统处的方法,所述通过利用遵从MAPI(消息通信应用程序接口)的邮件应用程序经由邮件传输机制来提供Web服务,以支持离线通信及服务请求的延长的处理时间,而不必为这样的消息交换创建额外的基础架构,所述方法包括以下动作:
经由邮件消息传输机制在对应于端点Web服务应用程序的遵从MAPI的邮件应用程序的收件箱处接收邮件消息;
标识所述邮件消息包含对应于所述遵从MAPI的邮件应用程序的端点邮件地址、作为客户机与Web服务之间的消息交换模式的一部分的Web服务消息、以及为所述Web服务消息标识Web服务和消息交换类型的标识符;以及
基于所述Web服务消息的Web服务和消息交换类型,将所述Web服务消息发送给所述端点Web服务应用程序以供处理。
9.如权利要求8所述的方法,其特征在于,还包括以下动作:
一旦所述Web服务消息被发送给所述Web服务应用程序之后,即删除邮件消息以保存存储器资源。
10.如权利要求8所述的方法,其特征在于,所述标识符被包含在所述邮件消息的主题域中。
11.如权利要求8所述的方法,其特征在于,所述邮件消息传输机制是从SMTP、Hotmail、X.25或DEC All-In-1中选取的。
12.如权利要求8所述的方法,其特征在于,所述Web服务消息是来自所述客户机的请求消息,或是来自所述Web服务的响应消息。
13.如权利要求8所述的方法,其特征在于,所述Web服务消息是来自客户机的请求消息,所述端点是Web服务,所述方法还包括:
接收另一Web服务消息,所述另一Web服务消息包含将所述另一Web服务消息标识为对所述请求消息的响应消息的另一寻址方案;
在所述另一寻址方案内标识用于将所述响应消息发送给所述客户机的遵从MAPI的邮件应用程序的客户机的邮件地址;
使用所述遵从MAPI的邮件应用程序生成另一邮件消息,所述邮件消息包含所述客户机的邮件地址、所述响应消息、以及用于标识所述Web服务和所述Web服务消息是响应消息的另一标识符;以及
将所述另一邮件消息发送给所述遵从MAPI的邮件应用程序的发件箱,用于之后经由所述邮件消息传输机制传递给所述客户机。
14.如权利要求13所述的方法,其特征在于,所述一个或多个应用程序编程接口也用于生成所述邮件消息,以及将所述邮件消息发送给所述遵从MAPI的邮件应用程序的发件箱。
15.如权利要求8所述的方法,其特征在于,所述遵从MAPI的邮件应用程序是Microsoft Outlook、Outlook Express或Eudora之一。
16.一种在分布式环境中的计算系统处的方法,所述方法通过利用遵从MAPI(消息通信应用程序接口)的邮件应用程序经由邮件传输机制来为Web服务应用程序分发NPDL(网络协议描述语言),以支持离线通信及生成NPDL数据结构,而不必访问所述Web服务应用程序,所述方法包括以下动作:
在与Web服务应用程序相关联的遵从MAPI的邮件应用程序的发件箱处从端点接收邮件消息;
将所述邮件消息标识为请求NPDL数据结构,所述NPDL数据结构是用于描述端点应用程序在与所述Web服务应用程序交换消息时所遵循的一个或多个契约的规范;
自动生成所述NPDL数据结构而不必访问所述Web服务应用程序;以及
将所述NPDL数据结构发送给所述端点。
17.如权利要求16所述的方法,其特征在于,所述端点应用程序是客户机,所述邮件消息是在与所述Web服务应用程序相关联的服务器处接收的,且其中,所述接收动作包含以下动作:
使用所述遵从MAPI的邮件应用程序生成另一邮件消息,所述另一邮件消息包含所述NPDL数据结构、所述客户机的遵从MAPI的邮件应用程序的邮件地址、以及用于将所述另一邮件消息标识为包含所述NPDL数据结构的标识符;以及
将所述另一邮件消息发送给所述遵从MAPI的邮件应用程序的发件箱,用于之后传递给所述客户机的遵从MAPI的邮件应用程序。
18.如权利要求16所述的方法,其特征在于,所述NPDL是WSDL,且所述NPDL数据结构是XML文档。
19.如权利要求16所述的方法,其特征在于,所述邮件消息由所述邮件消息主题域中的标识符被标识为请求NPDL数据结构。
20.如权利要求19所述的方法,其特征在于,所述主题域中的标识符包括所述Web服务应用程序的名称。
CNA2006100037285A 2005-03-04 2006-02-06 使用遵从MAPI的邮件应用程序的Web服务处理 Pending CN1829224A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/072,384 US7600048B2 (en) 2005-03-04 2005-03-04 Web services processing using MAPI compliant mail applications
US11/072,384 2005-03-04

Publications (1)

Publication Number Publication Date
CN1829224A true CN1829224A (zh) 2006-09-06

Family

ID=36791396

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100037285A Pending CN1829224A (zh) 2005-03-04 2006-02-06 使用遵从MAPI的邮件应用程序的Web服务处理

Country Status (5)

Country Link
US (1) US7600048B2 (zh)
EP (1) EP1699010A3 (zh)
JP (1) JP2006244472A (zh)
KR (1) KR20060096267A (zh)
CN (1) CN1829224A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088401B (zh) * 2009-12-07 2013-08-07 华为技术有限公司 寻址处理方法和系统以及网络接口设备
CN108092878A (zh) * 2017-12-07 2018-05-29 南京富士通南大软件技术有限公司 监测Exchange服务器与Outlook客户端之间通信状态的方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041628A1 (en) * 2004-08-23 2006-02-23 International Business Machines Corporation Electronic routing slips for inter-organizational electronic mail
US8095599B2 (en) * 2005-10-20 2012-01-10 International Business Machines Corporation Mail-based web application and document delivery
US8271602B2 (en) 2006-01-11 2012-09-18 Oracle International Corporation System and method for conversation based on web service addressing
US20070162560A1 (en) * 2006-01-11 2007-07-12 Bea Systems, Inc. System and method for asynchronous request response
US8452853B2 (en) * 2007-03-05 2013-05-28 International Business Machines Corporation Browser with offline web-application architecture
US20080228880A1 (en) * 2007-03-12 2008-09-18 Microsoft Corporation Managed code mapi apis
US8407297B2 (en) * 2007-10-22 2013-03-26 Sap Ag Systems and methods to receive information from a groupware client
US8676902B2 (en) * 2007-11-28 2014-03-18 International Business Machines Corporation System and method for service oriented email client application
US8505038B2 (en) * 2008-01-28 2013-08-06 Blue Coat Systems, Inc. Method and system for enhancing MS exchange (MAPI) end user experiences in a split proxy environment
US8190703B2 (en) * 2008-04-23 2012-05-29 Microsoft Corporation Extensible browser platform for web applications
US9195526B2 (en) * 2008-07-18 2015-11-24 Blackberry Limited Application integration in networked computing devices
US8533275B2 (en) * 2011-08-19 2013-09-10 Microsoft Corporation Synchronizing conversation structures in web-based email systems
US9961125B2 (en) 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
US10440066B2 (en) 2013-11-15 2019-10-08 Microsoft Technology Licensing, Llc Switching of connection protocol
US9699128B1 (en) 2016-05-17 2017-07-04 Google Inc. Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
US10491596B2 (en) * 2017-07-31 2019-11-26 Vmware, Inc. Systems and methods for controlling email access

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923848A (en) * 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US5818447A (en) * 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US5917489A (en) * 1997-01-31 1999-06-29 Microsoft Corporation System and method for creating, editing, and distributing rules for processing electronic messages
US6405225B1 (en) * 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US7373386B2 (en) * 2003-08-11 2008-05-13 Research In Motion Limited System and method for configuring access to electronic mailboxes
US7801999B2 (en) * 2004-12-13 2010-09-21 Microsoft Corporation Binding heterogeneous transports to a message contract

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088401B (zh) * 2009-12-07 2013-08-07 华为技术有限公司 寻址处理方法和系统以及网络接口设备
CN108092878A (zh) * 2017-12-07 2018-05-29 南京富士通南大软件技术有限公司 监测Exchange服务器与Outlook客户端之间通信状态的方法
CN108092878B (zh) * 2017-12-07 2020-07-28 南京富士通南大软件技术有限公司 监测Exchange服务器与Outlook客户端之间通信状态的方法

Also Published As

Publication number Publication date
KR20060096267A (ko) 2006-09-11
US20060200522A1 (en) 2006-09-07
JP2006244472A (ja) 2006-09-14
EP1699010A2 (en) 2006-09-06
US7600048B2 (en) 2009-10-06
EP1699010A3 (en) 2006-12-13

Similar Documents

Publication Publication Date Title
CN1829224A (zh) 使用遵从MAPI的邮件应用程序的Web服务处理
KR100493525B1 (ko) 아바타 메일 제공시스템 및 방법
TWI354475B (en) Dispatching client requests to appropriate server-
CN1863044A (zh) 电子邮件服务器设备及其证书管理方法
CN1608248A (zh) 在分布式计算环境中供应聚合服务
CN1783882A (zh) 灵活地传输类型化的应用程序数据
CN1757218A (zh) 用于发布/预订的消息传送系统和方法
JP2005216309A (ja) インスタントメッセージプロトコルを使用するプリント方法およびシステム
CN1437819A (zh) 用于定制业务调用中的行为和接口的系统
CN1574795A (zh) 为改进客户机服务器通信使用分组压缩缓冲器的系统和方法
CN1928867A (zh) 文档分发系统和方法
CN1816049A (zh) 分布式应用程序的面向对象和面向服务的表示之间的映射
CN101030969A (zh) 用于移动车辆的网络服务的方法和系统
US20090019115A1 (en) Communications server objects for configuration information access
CN1976322A (zh) 一种实现多媒体即时通讯的方法、系统和控制流程
EP1710694A2 (en) Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product
CN111901230A (zh) 一种支持设备接入验证的物联网网关、系统和设备接入验证的方法
CN101044469A (zh) 传输不可知拉模式消息通信服务
CN101035093A (zh) 用于处理消息的方法和系统
JP5593359B2 (ja) 通信制御装置、メッセージ転送方法およびメッセージ転送プログラム
CN1941702A (zh) 一种发布博客文章的方法和系统
WO2007043992A1 (en) Method and system providing asynchronous communications over the internet
US8224771B2 (en) Resource sharing for document production
CN1929463A (zh) 对象请求代理、用于提供资源高效传送的方法和装置
CN1653423A (zh) 交换基础设施系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20060906