專利名稱:用于面向服務的電子郵件客戶端應用的系統(tǒng)和方法
技術領域:
本發(fā)明一般涉及面向服務的應用,尤其涉及面向服務的電子郵 件客戶端應用的系統(tǒng)和方法。
背景技術:
面向服務的架構(SOA)是用于定義服務生產商與消費者之間 的關系的架構設計手段。在面向服務的架構環(huán)境中,不同的消費者 可以不需要知道可用服務的底層平臺實現就可以訪問獨立的服務。 面向服務的架構引入了新興的計算標準,該標準允許將軟件組件或 系統(tǒng)作為松散耦合的服務來展現和消費。這種技術給出了擴展傳統(tǒng) 電子郵件系統(tǒng)的能力和主要功能的可能性。特別地,面向服務的架 構技術提供了擴展傳統(tǒng)電子郵件客戶端功能的能力。
傳統(tǒng)的電子郵件系統(tǒng)主要用于人與人的通信。傳統(tǒng)的電子郵件 系統(tǒng)不支持人機服務應用。在模仿人機服務應用的應用中,電子郵 件系統(tǒng)通常與自定義的應用編程接口 (API)(具有與特定服務提供 相捆綁的有限的功能)進行對接。盡管現有的標準,諸如簡單對象 訪問協(xié)議(SOAP)和簡單郵件傳輸協(xié)議(SMTP)為人機通信提供 了基礎結構,但是傳統(tǒng)的電子郵件系統(tǒng)并不能利用這些標準以及其 他標準來促進人機軟件服務。
發(fā)明內容
描述了系統(tǒng)的實施例。在一個實施例中,該系統(tǒng)是用于促進面 向服務的電子郵件客戶端應用的系統(tǒng)。該系統(tǒng)的實施例包括服務注 冊表、耦合至電子郵件客戶端的服務地址簿,以及耦合至服務地址 簿的電子郵件編輯器。服務注冊表包括服務信息。服務信息描述了
7如何調用網絡服務。服務地址簿包括鏈接到針對服務注冊表中網絡 服務的服務信息的網絡服務條目。電子郵件編輯器產生具有自定義 輸入區(qū)的用戶輸入表格,其中該自定義輸入區(qū)對應于針對網絡服務 的服務信息。
在某些實施例中,該系統(tǒng)還包括耦合至電子郵件客戶端的電子 郵件服務器,以及耦合在電子郵件服務器和與該服務注冊表中的網 絡服務相對應的網絡服務端點之間的適配器。電子郵件服務器從電 子郵件客戶端接收服務請求。適配器從電子郵件客戶端接收服務請 求,并將服務請求傳送給網絡服務端點。在某些實施例中,適配器 還被配置用于從網絡服務端點接收同步回復,并將該同步回復傳送 給電子郵件服務器,以便傳送給該電子郵件客戶端。適配器可以是
簡單郵件傳輸協(xié)議(SMTP)適配器或者其他類型的電子郵件適配器。 在某些實施例中,系統(tǒng)提供異步服務請求。
在某些實施例中,系統(tǒng)還包括耦合至電子郵件編輯器的服務數 據轉換器。該服務數據轉換器將來自于電子郵件編輯器的服務請求 轉換成與針對網絡服務的服務信息兼容的消息格式。在某些實施例 中,系統(tǒng)還包括耦合至電子郵件編輯器的用戶界面控制器。用戶界 面控制器產生用于在顯示設備上進行顯示的圖形用戶界面。該圖形 用戶界面指導用戶依照具有自定義輸入區(qū)的用戶輸入表格來提供輸 入,其中該自定義輸入區(qū)對應于針對網絡服務的服務信息。在某些 實施例中,系統(tǒng)還包括耦合至電子郵件編輯器的服務分析器。服務 分析器分析針對網絡服務的服務信息,并確定與針對網絡服務的服 務信息相對應的自定義輸入區(qū)。在某些實施例中,系統(tǒng)還包括耦合 至服務地址簿的服務注冊表緩存。服務注冊表緩存將來自于服務注 冊表的服務信息的映像存儲在服務地址簿中。服務地址簿可以在電 子郵件客戶端本地。在某些實施例中,電子郵件編輯器產生具有自 由文本輸入區(qū)的用戶輸入表格,該自由文本輸入區(qū)允許與針對服務 注冊表中網絡服務的服務請求相對應的自由文本輸入。還對系統(tǒng)的 其他實施例進行了描述。一個實施例中,該方法包括獲取對 針對網絡服務的調用過程進行描述的服務信息。服務信息包括與針 對網絡服務的自定義輸入區(qū)相對應的元數據。該方法還包括產生自 定義用戶界面,該自定義用戶界面用于促進依照針對網絡服務的自 定義輸入區(qū)的用戶輸入。該方法還包括使用電子郵件協(xié)議、基于用 戶輸入來調用針對網絡服務的服務請求。還描述了方法的其他實施
還描述了設備的實施例。在一個實施例中,設備是計算機程序 產品,該計算機程序產品包括用于存儲計算機可讀程序的計算機可 用存儲介質,當該程序在計算機上執(zhí)行時,使得計算機執(zhí)行操作。 在 一 個實施例中,操作包括將電子郵件客戶端中地址簿的網絡地址 條目鏈接至來自于服務注冊表的服務信息的操作。服務信息對應于
作,其中該自定義輸入區(qū)對應于針對網絡服務的服務信息;以及通 過電子郵件、依照經由用戶輸入表格的自定義輸入區(qū)輸入的用戶輸 入來調用針對網絡服務的服務請求的操作。
在另 一 實施例中,該設備是促進作為網絡服務消費者的電子郵 件客戶端的設備。設備的實施例包括用于把來自于服務注冊表的服 務端點映射到電子郵件地址簿的裝置,以及用于基于服務端點的服 務描述自動產生自定義電子郵件地址編輯器界面的裝置。自定義電 子郵件編輯器界面包括用于自定義數據的用戶輸入的自定義輸入
區(qū),該自定義數據由服務描述規(guī)定。該設備還包括用于自動將自定 義數據轉換成與服務描述兼容的消息格式的裝置,以及用于通過電 子郵件協(xié)議調用針對服務端點的服務請求的裝置。還描述了設備的 其他實施例。
根據以下通過示例性方式給出的結合附圖的本發(fā)明原理的詳細
圖1示出了異步的、面向服務的電子郵件客戶端應用的一個實
施例示意圖。
圖2示出了用于在面向服務的電子郵件客戶端應用中使用的網 絡服務映射架構的一個實施例示意圖。
圖3示出了同步的、面向服務的電子郵件客戶端應用的一個實
施例示意圖。
子郵件編輯器(composer)界面的一個實施例示意圖。
圖5示出了圖4的具有自由文本輸入區(qū)的電子郵件編輯器界面
的另一實施例示意圖。
圖6示出了面向服務的電子郵件系統(tǒng)的一個實施例示意圖。
圖7示出了面向服務的電子郵件方法的一個實施例的流程示意圖。
圖8示出了面向服務的電子郵件方法的另一實施例的流程示意圖。
圖9示出了圖8的面向服務的電子郵件方法的配置操作流程示
圖IO示出了客戶端計算機的一個實施例示意圖,在該客戶端計 算機上可以實現圖6的面向服務的電子郵件客戶端。
貫穿說明書,類似的附圖標記可以用于標識類似的元件。
具體實施例方式
在以下描述中,提供了各種實施例的具體細節(jié)。然而,某些實 施例可以在具有少于所有這些具體細節(jié)的情況下實施。在其他實例 中,為了簡潔和清楚起見,對某些方法、過程、組件、結構和/或功 能的描述的詳細程度以能夠實現本發(fā)明各種實施例為準。
盡管在此描述了很多實施例,但是所描述的至少某些實施例填 補了在不知道所請求服務的具體細節(jié)的前提下電子郵件客戶端系統(tǒng) 可以如何感知服務以及如何允許電子郵件客戶端系統(tǒng)的用戶請求異種服務之間的空白。所描述的某些實施例包括三種技術組件,即, 服務地址簿、映射的服務注冊表和電子郵件客戶端。系統(tǒng)的服務地 址簿組件將服務注冊表信息存儲在電子郵件客戶端中。服務注冊表 包含關于特定服務的信息(例如,元數據)。用戶從服務地址簿中 查找服務,之后該服務地址簿連接至映射的服務注冊表并將關于所 請求的服務的信息返回電子郵件客戶端。所返回的信息包含如何調 用該服務以及到哪里調用該服務的具體細節(jié)。
一旦獲得了服務描述信息,電子郵件客戶端便分析該服務信息, 并且調用或產生電子郵件編輯器。電子郵件編輯器知道服務消息的 格式以及適當的輸入表格。而且,所產生的電子郵件編輯器可以將 用戶提供的輸入轉換成所請求的服務的服務提供商能夠接受的消息 格式。以下還具體參照相應的附圖,描述了其他實施例。
圖1示出了異步的、面向服務的電子郵件客戶端應用100的一 個實施例示意圖。所示出的異步的、面向服務的電子郵件客戶端應
用100包括電子郵件客戶端102、電子郵件服務器104和網絡服務 106。電子郵件客戶端102通過通信信道108耦合至電子郵件服務器 104。類似地,電子郵件服務器104通過通信信道IIO耦合至網絡服 務106。通信信道108和IIO表示在相應的組件之間建立任何類型的 直接通信路徑或者網絡化的通信路徑的有線通信信道和/或無線通信 信道的任何組合,其中這些信道。
電子郵件客戶端102包括服務請求器112,以調用服務請求。服 務請求由服務請求器112通過電子郵件協(xié)議(諸如,簡單郵件傳輸 協(xié)議(SMTP)或者其他類型的電子郵件協(xié)議)傳送給電子郵件服務 器104。電子郵件服務器104隨后將該服務請求從電子郵件客戶端 102轉發(fā)給相應的網絡服務106。在一個實施例中,與網絡服務106 相關聯(lián)的適配器114 (例如,SMTP適配器)接收來自電子郵件服務 器104的服務請求。由于在此示例中的服務請求是異步的服務請求, 所以適配器114將服務請求傳送至網絡服務106,卻不一定提供從網 絡服務106到電子郵件客戶端102的響應;如果提供響應,則可以
ii在稍后進行傳送。
應當注意,所描述的異步的、面向服務的電子郵件客戶端應用 100并不是用于限制所實現的電子郵件客戶端102、電子郵件服務器
104或網絡服務106的類型。電子郵件客戶端102可以是任何類型的 電子郵件客戶端,以及電子郵件服務器104可以是任何類型的電子 郵件服務器。在其他實施例中,電子郵件客戶端102的功能和電子 郵件服務器104的功能可以合并在單個硬件實現和/或軟件接口中。 另外,異步的、面向服務的電子郵件客戶端應用100的某些實施例 可以結合基于互聯(lián)網的電子郵件系統(tǒng)實現。
而且,適配器114可以是任何類型的標準電子郵件適配器。由 于服務請求器112調用適合于所請求的網絡服務106的服務請求, 所以適配器114不一定必須具有促進電子郵件客戶端102與網絡服 務106之間的接口的任何自定義的軟件代碼或者其他自定義的設計 元件。盡管本說明書頻繁地提及示例性SMTP適配器,但是在此描 述的其他實施例仍可以利用其它類型的電子郵件適配器114。類似 地,SMTP或者其它類型的電子郵件協(xié)議可以在此處描述的各種實施 例中實現。
絡服務映射架構120的一個實施例示意圖。例如,網絡服務映射架 構120可以在圖1的異步的、面向服務的電子郵件客戶端應用100 中使用。網絡服務映射架構120的其他實施例可以在其他面向服務 的電子郵件客戶端應用中實現。
所示出的網絡服務映射架構120包括電子郵件客戶端102和服 務注冊表122。在一個實施例中,電子郵件客戶端102通過通信信道 124 (代表各種有線的通信信道和/或無線的通信信道)耦合至服務注 冊表122。
通常,服務注冊表122包括針對一個或多個網絡服務106的服 務描述126或者服務信息。具體地,服務注冊表122的服務信息包 括這樣的元數據,其指示針對一個或多個網絡服務106的調用過程。網絡服務106與一個或多個網絡服務端點相互關聯(lián),這在圖6中示 出,并在下文中進行更具體描述。在此,服務信息表示如何調用特 定的網絡服務106以及去哪調用。在一個實施例中,服務注冊表122 存儲在遠離電子郵件客戶端102的電子數據存儲設備(未示出)中。
電子郵件客戶端102耦合至服務注冊表122以調用針對至少一 個網絡服務端點的網絡服務106的服務請求。更具體地,電子郵件 客戶端102使用電子郵件協(xié)議調用服務請求。為了促進該服務請求 的調用,電子郵件客戶端102包括地址簿128。地址簿128包括一個 或多個網絡服務條目130,這些條目鏈接至針對服務注冊表122中的 網絡服務106的服務信息。在一個實施例中,網絡服務條目130看 起來像地址簿128中的聯(lián)系人。然而,網絡服務條目130鏈接至服 務注冊表122中相應的服務描述126,而不是鏈接至用于傳統(tǒng)電子郵 件收件人的電子郵件地址。盡管如此,地址簿128可以在同一數據 結構中存儲電子郵件地址和網絡服務條目130 二者??蛇x地,網絡 服務條目130可以存儲在與電子郵件客戶端102使用的電子郵件地 址分離的數據結構中。
另外,電子郵件客戶端102可以包括服務注冊表緩存132。該服 務注冊表緩存132將來自于服務注冊表122的服務描述126或服務 信息的映像存儲在服務地址簿128中??蛇x地,服務注冊表緩存132 耦合至地址簿128。雖然圖2中示出的服務地址簿128位于電子郵件 客戶端102本地,但是其他實施例可以包括與電子郵件客戶端102 相遠離的地址簿128。
圖3示出了同步的、面向服務的電子郵件客戶端應用140的一 個實施例示意圖。在很多方面,所示出的同步的、面向服務的電子 郵件客戶端應用140基本上類似于圖1中異步的、面向服務的電子 郵件客戶端應用100。因此,不再針對同步的、面向服務的電子郵件 客戶端應用140描述類似的結構組件和/或功能。
與圖1中異步的、面向服務的電子郵件客戶端應用100相反, 圖3中同步的、面向服務的電子郵件客戶端應用140促進從網絡服務106到電子郵件客戶端102的同步回復通信。具體地,適配器114 使用諸如SMTP的電子郵件協(xié)議、通過回復通信信道142,向電子郵 件服務器104發(fā)送回復有效載荷。電子郵件服務器104隨后使用電 子郵件協(xié)議、通過回復通信信道144,將該回復有效載荷指引到電子 郵件客戶端102。雖然將回復通信信道142與144示出為與通信信道 108和110不同的通信信道,但是同步的、面向服務的電子郵件客戶 端應用140的某些實施例可以針對發(fā)往網絡服務106的服務請求通 信和發(fā)往電子郵件客戶端102的回復有效載荷二者,使用同樣的通 信信道108和110。
子郵件編輯器界面150的一個實施例示意圖。例如,電子郵件編輯 器界面150可以結合圖1中異步的、面向服務的電子客戶端應用100 或者結合圖3中同步的、面向服務的電子郵件客戶端應用140實現。 雖然將電子郵件編輯器界面150示出并描述為圖形用戶界面(GUI), 但是電子郵件編輯器界面150的某些實施例可以用其他形式替代 GUI來實現。
通常,電子郵件編輯器界面150促進與所請求的網絡服務106 相關的輸入。具體地,電子郵件編輯器界面150允許用戶根據與所 請求的網絡服務106相對應的服務描述126來輸入特定于所請求的 網絡服務106的數據。
在所示實施例中,電子郵件編輯器界面150包括標題欄152和 菜單欄154。該標題欄152和菜單欄154與傳統(tǒng)的標題欄和菜單欄作 用相似。電子郵件編輯器界面150還包括"發(fā)送"按鈕156、"收件 人,,按鈕158,以及"收件人"地址輸入區(qū)160。發(fā)送按鈕156與傳 統(tǒng)的發(fā)送按鈕類似地操作,以便將電子郵件消息從電子郵件客戶端 102發(fā)送至電子郵件服務器104。"收件人"按鈕158允許用戶訪問 地址簿128,例如通過打開單獨的窗口來顯示地址簿條目(包括網絡 服務條目130)。可選地,類似于使用與目標收件人相對應的電子郵 件地址為傳統(tǒng)的電子郵件消息添加地址,用戶可以手動將網絡服務電子郵件地址輸入到"收件人"地址輸入區(qū)160。
所示電子郵件編輯器界面150還包括自定義輸入區(qū)162。在所描 述的示例中,自定義輸入區(qū)162是用于股票報價的"符號"區(qū)。作 為示例,用戶可以在自定義輸入區(qū)中輸入股票的股票代號,并將網 絡服務請求發(fā)送到股票報價網絡服務(例如,"股票報價服務" request@stckquote.com ),以便請求具有與該股票代碼相對應的當前 或最近股票價格的同步電子郵件回復。
電子郵件編輯器界面150還可以包括"主題"標識符164。在某 些實施例中,主題標識符164根據針對所請求的網絡服務106的服 務描述126自動地填充。其他實施例可以省略主題標識符164。
在某些實施例中,電子郵件編輯器界面150還包括按鈕166,以 允許用戶輸入自由文本從而調用針對所請求的網絡服務106的服務 請求。當選擇了自由文本按鈕166時,它會提供自由文本輸入區(qū), 以允許用戶(例如,人工操作員、自動化的計算機程序等)根據針 對所請求的網絡服務106的服務描述126提供自由文本輸入(例如, 可擴展標記語言(XML)代碼或者其它類型的編程代碼)。
圖5示出了圖4中的具有自由文本輸入區(qū)168的電子郵件編輯 器150的另一實施例示意圖。在可選實施例中,電子郵件編輯器界 面150可以省略自由文本按鈕166并且自動地才是供自由文本輸入區(qū) 168。在另一實施例中,自由文本輸入區(qū)168可以在不經由電子郵件 編輯器界面150做出任何類型選擇的情況下填充。
圖6示出了面向服務的電子郵件系統(tǒng)180的一個實施例示意圖。 通常,面向服務的電子郵件系統(tǒng)180協(xié)助面向服務的電子郵件客戶 端應用。雖然在此示出并描述了面向服務的電子郵件系統(tǒng)180的某 些組件,但是其他實施例可以實現與圖6中所示面向服務的電子郵 件系統(tǒng)180相比更少的組件或者更多的組件,以及提供更多的功能 或者更少的功能。
所示面向服務的電子郵件系統(tǒng)180包括電子郵件客戶端102、電 子郵件服務器104、適配器114、服務注冊表122和具有多個服務端
15點184的服務網絡182。如上所述,電子郵件客戶端102通過通信信 道108 (也可能還通過通信信道144)耦合至電子郵件服務器。電子 郵件服務器104通過通信信道110 (也可能還通過通信信道142)耦 合至適配器114,并且該適配器114通過通信信道188耦合至服務網 絡182。類似地,如上所述,電子郵件客戶端102通過通信信道124 耦合至服務注冊表122,以及該服務注冊表122通過通信信道190 耦合至服務網絡182。通信信道的任意一個或者全部可以代表在面向 服務的電子郵件系統(tǒng)180的相應組件之間建立任何類型的直接通信 路徑或者網絡化的通信路徑的有線通信信道和/或無線通信信道的任 意組合。
如上所述,電子郵件服務器104從電子郵件客戶端102接收服 務請求,并且將該服務請求傳送給適配器114。使用諸如SMTP或者 其他類型的電子郵件協(xié)議來調用該服務請求。適配器114從電子郵 件客戶端102接收服務請求,并將該請求傳送給服務網絡182中相 應的網絡服務端點184 。服務請求可以是同步服務請求(針對該請求, 產生回復有效載荷并將該回復有效載荷返回給電子郵件客戶端102) 或者異步服務請求(針對該請求,不期望或不產生回復有效載荷)。 對于同步服務請求,適配器114從網絡服務端點184接收同步回復, 并將該同步回復傳送給電子郵件服務器104。電子郵件服務器104 繼而將該同步回復傳送給電子郵件客戶端102。同步服務請求的示例 是針對股票價格報價的請求,該請求將返回股票當前價格。異步請 求的示例是更新用戶帳戶信息的請求。在這種情況下,在經由電子 郵件客戶端102把更新過的帳戶信息提交給相應的服務端點184之 后,用戶可以不需要來自相應的服務端點184的任何類型的響應。
電子郵件客戶端102包括服務地址簿128、服務分析器192、電 子郵件編輯器產生器194和電子郵件服務請求器112。電子郵件客戶 端102還包括協(xié)議處理機196、用戶接口 (UI)控制器198和服務數 據轉換器200。電子郵件客戶端102的其他實施例可以包括更少的組 件或更多的組件和/或實現更多的功能或更少的功能。在一個實施例中,電子郵件編輯器產生器194(或者簡單稱為電 子郵件編輯器)產生具有自定義輸入區(qū)162的用戶輸入表格,其中 自定義輸入區(qū)162對應于針對網絡服務106的服務描述126或服務 信息。在某些實施例中,電子郵件編輯器194產生具有自由文本輸 入區(qū)168的用戶輸入表格,該自由文本輸入區(qū)允許與針對服務注冊 表122中的網絡服務106的服務請求相對應的自由文本輸入。自由 文本輸入區(qū)168可以與自定義輸入區(qū)162相同或者不同。
在一個實施例中,服務數據轉換器200將來自于電子郵件編輯 器194的服務請求轉換成與針對網絡服務106的服務描述126或服 務信息兼容的消息格式。另外,服務數據轉換器200可以將回復有 效載荷從與服務描述126兼容的消息格式轉換成與電子郵件客戶端 102兼容的格式,以便向用戶顯示。
在一個實施例中,用戶接口控制器196產生用于在顯示設備上 進行顯示的GUI(例如,圖4的GUI150)。 GUI指導用戶根據具有 自定義輸入區(qū)162的用戶輸入表格來提供輸入,其中自定義輸入區(qū) 162對應于針對網絡服務106的服務描述126或服務信息。在一個實 施例中,服務分析器192分析針對網絡服務106的服務信息,并且 確定與針對網絡服務106的服務信息相對應的自定義輸入區(qū)162。
在一個實施例中,協(xié)議處理才幾196管理一個或多個電子郵件協(xié) 議,并且協(xié)助發(fā)出的電子郵件消息以符合至少 一個電子郵件協(xié)議。 在一個實施例中,電子郵件服務請求器112經由電子郵件協(xié)議調用 服務請求。該服務請求包括與針對網絡服務106的服務信息兼容的 消息格式的用戶輸入。
圖7示出了面向服務的電子郵件方法210的一個實施例的示意 性流程圖。為了便于說明,參考圖6的面向服務的電子郵件系統(tǒng)180 來描述面向服務的電子郵件方法210。然而,面向服務的電子郵件方
在一個實施例中,面向服務的電子郵件方法210包括獲取212 對針對網絡服務106的調用過程進行描述的服務信息。該服務信息包括與針對網絡服務106的自定義輸入區(qū)162相對應的元數據。在 一個實施例中,服務地址簿128訪問服務描述126,以獲取服務信息。 電子郵件客戶端102隨后產生214自定義用戶界面150,以促進根據 針對網絡服務106的自定義輸入區(qū)162的用戶輸入。在一個實施例 中,電子郵件客戶端102可以實現服務分析器192、電子郵件編輯器 產生器194和/或用戶接口控制器198,以便產生自定義用戶界面150。 在電子郵件服務請求器112收到與自定義用戶界面150的自定義輸 入區(qū)162相對應的用戶輸入后,該電子郵件服務請求器112使用電 子郵件協(xié)議、基于該用戶輸入來調用216針對網絡服務106的服務 請求。隨后,所描述的面向服務的電子郵件方法210結束。
在另一實施例中,面向服務的電子郵件方法210可以包括一個 或多個附加的操作,以實現在此描述的面向服務的電子郵件系統(tǒng)18 0 和其他實施例的功能。例如,面向服務的電子郵件方法210的實施
例包括將網絡服務條目130存儲在電子郵件客戶端102的地址簿128 中。該網絡服務條目130包括用于調用針對網絡服務106的服務請 求的服務請求電子郵件地址。在此實施例中,產生自定義用戶界面 150包括提供電子郵件地址輸入區(qū)160,以用于用戶輸入與網絡服 務106相對應的服務請求電子郵件地址。在另一實施例中,面向服 務的電子郵件方法210包括產生具有自由文本輸入區(qū)168的自定 義用戶界面150,其中該自由文本輸入區(qū)168用于自定義數據(其是 依照針對網絡服務106的自定義輸入區(qū)162的)的自由文本輸入。
圖8示出了面向服務的電子郵件方法220的另一實施例的示意 性流程圖。為了便于說明,參考圖6的面向服務的電子郵件系統(tǒng)180 來描述面向服務的電子郵件方法220。然而,面向服務的電子郵件方
在一個實施例中,面向服務的電子郵件方法220包括將服務 注冊表122映射222到電子郵件客戶端102的服務地址簿128。隨后, 電子郵件客戶端102接收224經由服務地址簿128查找服務的用戶 請求。在一個實施例中,用戶可以選擇電子郵件編輯器界面150中的"收件人,,按鈕158來發(fā)起在服務地址簿128中針對網絡服務條 目130的查找操作??蛇x地,用戶可以在電子郵件編輯器界面150 的電子郵件地址輸入區(qū)160中鍵入服務請求電子郵件地址。
在電子郵件客戶端102接收到在服務地址簿128中查找網絡服 務的用戶請求后,該電子郵件客戶端102確定226該服務是否位于 該服務地址簿128中。如果該服務沒有位于該服務地址簿128中, 則該電子郵件客戶端102可以配置228該服務地址簿128。配置操作 228的示例在圖9中示出,并在下文中進行更具體描述。否則,如果 該服務位于該服務地址簿128中,則電子郵件客戶端102連接230 至服務注冊表122。具體地,電子郵件客戶端102使用服務地址簿 128中的網絡服務條目130(指向服務注冊表122中的服務描述126) 來檢索與所請求的網絡服務106相對應的服務信息。服務分析器192 隨后分析234該服務信息(例如,針對所請求的網絡服務106的元 數據)來確定如何調用相應的網絡服務106。電子郵件編輯器產生器 194隨后根據該服務信息產生236適合于該網絡服務106的電子郵件 編輯器。電子郵件編輯器可以由用戶接口控制器198圖形化地實現 為電子郵件編輯器界面150。
用戶可以使用該電子郵件編輯器界面150來輸入針對服務請求 的信息。用戶接口控制器接收238針對該服務請求的用戶輸入,并 且服務數據轉換器200將用戶信息轉換240成針對所請求的網絡服 務106可接受的消息格式。電子郵件服務請求器122使用此經過轉 換的數據來使用電子郵件協(xié)議調用242服務請求。
如上所述,服務請求可以是同步的服務請求。如果確定244該 服務請求是同步的服務請求,則在收到來自于相應的網絡服務端點 184的回復有效載荷后,該服務數據轉換器200將該服務響應(即, 回復有效載荷)轉換246成與該電子郵件客戶端102兼容的本地消 息格式。所描述的面向服務電子郵件方法200隨后結束。
圖9示出了圖8中面向服務的電子郵件方法220的配置操作228 的示意性流程圖。為了便于說明,參考圖6的面向服務的電子郵件系統(tǒng)180和面向服務的電子郵件方法220來描述該配置操作228。然 而,可以利用其他的面向服務的電子郵件系統(tǒng)和方法來實現配置操 作228的某些實施例。
在一個實施例中,電子郵件客戶端102接收248說明服務注冊 信息的用戶輸入。換言之,用戶可以經由電子郵件客戶端102輸入 服務信息。電子郵件客戶端102隨后確定250從該用戶接收的服務 注冊信息是否已經存在于電子郵件客戶端102本地的服務注冊表緩 存132中。如果該服務注冊信息沒有存在于該服務注冊表緩存132 中,則該電子郵件客戶端102把從該用戶接收的服務注冊信息存儲 252到服務注冊表緩存132中。在配置完本地地址簿128之后,或者 如果該服務注冊信息已經存在于該服務注冊表緩存132中,則電子 郵件客戶端102鏈接254到服務注冊表122,并且在本地地址簿128 中創(chuàng)建該服務注冊信息的映像。所描述的配置操作228隨后結束。
圖10示出了客戶端計算機260的一個實施例示意圖,在該客戶 端計算機上可以實現圖6的面向服務的電子郵件客戶端180。盡管在 此針對特定組件和功能示出并描述了所繪的客戶端計算機260,但是 客戶端計算機260的其他實施例可以在具有更少或者更多組件,或 者更少或者更多功能的情況下實現。另外,在一個或多個方面,客 戶端計算機260的某些實施例可以包括用另一種方式布置的類似組 件來提供類似功能。
示出的客戶端計算機260包括處理器262、顯示設備264和電子 存儲器設備266。在一個實施例中,處理器262是中央處理單元 (CPU)。在其他實施例中,處理器262是圖形處理單元(GPU) 或者其他類型的處理設備,諸如通用處理器、專用處理器或者微處 理器。通常,處理器262執(zhí)行一個或多個指令來向客戶端計算機260 提供可操作的功能性。這些指令可以存儲在處理器262本地、電子 存儲器設備266中或者另外的數據存儲設備中??蛇x地,這些指令 可以分布在一個或多個設備上,諸如處理器262、電子存儲器設備 266或者另外的數據存儲設備上。
20在某些實施例中,顯示設備264是圖形化顯示器,諸如陰極射 線管(CRT)顯示器、液晶顯示(LCD)顯示器或者其他類型的顯 示設備。顯示設備264例如經由數據總線268耦合至處理器262。在 一個實施例中,顯示設備264被配置用于傳送圖4和圖5中所示的 上述電子郵件編輯器界面150的可視化表示。
電子存儲器設備266還耦合至處理器262。在一個實施例中,電 子存儲器設備266是處理器262內部的本地存儲器。在其他實施例 中,電子存儲器設備266與處理器分離,并且經由一個或多個數據 總線、地址總線和/或控制總線270耦合至處理器262。電子郵件客 戶端102的一個實施例可以至少部分地在電子存儲器設備266上實 現。
作為上述某些實施例的示例,電子郵件客戶端102可以用于實 現面向服務的電子郵件系統(tǒng)180,在該系統(tǒng)中,電子郵件用于請求股 票價格并給出股票報價。許多組織和公司為投資者提供了傳統(tǒng)的電 子服務,以給出特定股票當前價格的報價。這些傳統(tǒng)電子服務中的 大部分都是使用基于網絡瀏覽器的客戶端實現的,該客戶端可用于 輸入股票信息并做出請求。然而,類似的功能可以通過圖6的面向 服務的電子郵件系統(tǒng)18 0或者類似系統(tǒng)和方法來達成。
在一個實施例中,電子郵件客戶端102包括本地服務地址簿128 以存儲針對相應的網絡服務106的服務注冊位置。這可以使用統(tǒng)一 描述、發(fā)現和集成(UDDI)或者其他協(xié)議來實現。服務注冊信息被 映射到本地地址名,諸如"股票報價"。 一旦用戶發(fā)起了電子郵件 會話,則電子郵件客戶端102便允許用戶將服務名稱(例如,"股 票報價,,)鍵入到電子郵件編輯器界面150的"收件人"地址輸入 區(qū)160中。
隨后,電子郵件客戶端102自動地在本地地址簿128中搜索針 對服務注冊映像的條目。 一旦電子郵件客戶端102找到了服務注冊 表122,則電子郵件客戶端102便訪問該服務注冊表122,并將具體 信息取回到該電子郵件客戶端102 。服務信息可以用網絡服務描述語言(WSDL)或者其他格式(其包含描述服務端點地址和消息格式信 息的元數據)來表示?;趶姆兆员聿檎耀@取的信息,電子郵 件客戶端102對WSDL文件進行語法分析,并且調用內部代碼產生 器來動態(tài)創(chuàng)建具有諸如股票報價輸入區(qū)的自定義輸入區(qū)162的電子 郵件編輯器。用戶可以使用該自定義輸入區(qū)162來鍵入針對服務請 求的適當信息。
一旦完成輸入,電子郵件編輯器理解該輸入格式,并且自動地將 輸入數據轉換成服務可識別的消息。示例性格式包括SOAP標準中 的XML格式。隨后,當用戶點擊發(fā)送按鈕156時,電子郵件客戶端 102觸發(fā)股票報價服務的調用??蛇x地,用戶還可以指定回復選項為 同步的或異步的。在此股票報價服務的示例中,同步響應表示實時 報價,而異步響應表示延遲的報價。
從上述描述可以理解,在此描述的實施例可以實現面向服務的 電子郵件環(huán)境中的很多功能。某些實施例將傳統(tǒng)電子郵件系統(tǒng)的能 力擴展到面向服務的和支持服務的。這允許電子郵件客戶端通過諸 如SMTP的電子郵件協(xié)議調用服務。某些實施例將來自于各種服務 注冊表的服務端點映射到電子郵件客戶端的電子郵件地址簿。這允 許電子郵件客戶端從服務注冊表取回服務信息。某些實施例基于服 務描述自動產生電子郵件編輯器或編輯裝置。某些實施例自動地將 電子郵件主體轉換成服務可識別的消息格式。某些實施例識別服務 調用協(xié)議并完成該服務請求。
因此,可以實現用于促進作為網絡服務消費者的電子郵件客戶 端的設備實施例。在一個實施例中,該設備包括用于將來自于服務 注冊表的服務端點映射到電子郵件地址簿的裝置,和用于基于服務 端點的服務描述來自動生成自定義電子郵件編輯器界面的裝置。自
定義數據的自定義輸入區(qū)。該設備還包括用于自動地將該自定義數 據轉換成與服務描述兼容的消息格式的裝置,和用于通過電子郵件 協(xié)議調用針對服務端點的服務請求的裝置。在另一實施例中,該設備還包括用于經由 一種類型的電子郵件適配器向作為網絡服務消費 者的電子郵件客戶端提供異類網絡服務的裝置。
還應當注意用于在此描述的方法和/或系統(tǒng)的至少某些操作可 以使用存儲在由計算機執(zhí)行的計算機可用存儲介質上的軟件指令實 現。作為示例,計算機程序產品的實施例包括用于存儲計算機可讀 程序的計算機可用存儲介質,當這些程序在計算機上執(zhí)行時,使得 計算機執(zhí)行以下操作,包括將電子郵件客戶端中地址簿的網絡地 址條目鏈接至來自于服務注冊表的服務信息的操作。服務信息對應 于網絡服務。操作還包括這樣的操作用于產生具有自定義輸入區(qū) (對應于針對網絡服務的服務信息)的用戶輸入表格的操作,以及 用于通過電子郵件消息(其依照經由用戶輸入表格的自定義輸入區(qū) 的用戶輸入)調用針對網絡服務的服務請求的操作。
計算機程序產品的另 一實施例包括用于將來自服務注冊表的服 務信息的映像存儲在耦合至電子郵件客戶端中的地址簿的服務注冊 表緩存中的操作。在另一實施例中,這些操作包括分析針對網絡服 務的服務信息以及確定與針對網絡服務的服務信息相對應的自定義 輸入區(qū)的操作。在另一實施例中,這些操作包括用于產生在顯示設 備上顯示的圖形用戶界面的操作。圖形用戶界面指導用戶依照具有 自定義輸入區(qū)(對應于針對網絡服務的服務信息)的用戶輸入表格 提供輸入。在另一實施例中,這些操作包括用于將帶有來自用戶輸 入表格的用戶輸入的服務請求轉換成與針對網絡服務的服務信息兼 容的消息格式。在另一實施例中,這些操作包括用于產生具有自由 文本輸入區(qū)的用戶輸入表格,該自由文本輸入區(qū)允許與針對服務注 冊表中的網絡服務的服務請求相對應的自由文本輸入。計算才幾程序 產品的其他實施例包括用于實現此處描述的附加功能的操作。
本發(fā)明的實施例可以采用完全硬件實施例、完全軟件實施例, 或者包含硬件元件和軟件元件二者的實施例的形式。在 一 個實施例 中,本發(fā)明以軟件實現,其中軟件包括但不限于固件、常駐軟件、 微代碼等。讀存儲介質訪問的計算機程序產品的形式,其中這些存儲介質提供 了用于由計算機或者任何指令執(zhí)行系統(tǒng)使用或結合使用的程序代 碼。出于此描述的目的,計算機可用或者計算機可讀存儲介質可以 是能夠存儲由指令執(zhí)行系統(tǒng)、裝置或設備使用或結合使用的程序的
任何裝置。
計算機可用或者計算機可讀存儲介質可以是電子的、磁的、光 的、電磁的、紅外的或者半導體的系統(tǒng)(或者裝置或設備),或者
磁帶、可移除計算機軟磁盤、隨機訪問存儲器(RAM)、只讀存儲 器(ROM)、剛性磁盤和光盤。光盤的當前示例包括具有只讀存 儲器的壓縮盤(CD-ROM)、具有讀/寫的壓縮盤(CD-R/W)以及數 字視頻盤(DVD)。
適用于存儲和/或執(zhí)行程序代碼的數據處理系統(tǒng)實施例包括直接 或通過系統(tǒng)總線(數據總線、地址總線和/或控制總線)耦合至存儲 元件的至少一個處理器。存儲元件可以包括在程序代碼實際執(zhí)行 期間使用的本地存儲器、大容量存儲器和緩存(其提供至少某些程 序代碼的臨時存儲,以便減少在執(zhí)行期間必須從大容量存儲器取回 代碼的次數)。
輸入/輸出設備或者I/O設備(包括但不限于鍵盤、顯示器、指 示設備等)可以直接地或者通過中間的I/O控制器而間接地耦合至系 統(tǒng)。另外,網絡適配器還可以通過中間的專用網絡或者^^共網絡耦 合至其他數據處理系統(tǒng)、遠程打印機或者存儲設備。調制解調器、 線纜調制解調器和以太網卡僅僅是當前可用的網絡適配器的一些類 型。
盡管以特定順序示出并描述了此處方法的操作,但是每個方法 的操作順序可以調整,以使得某些操作可以以相反的順序執(zhí)行,或 者使某些操作可以至少部分地與其他操作并發(fā)執(zhí)行。在另 一 實施例 中,不同操作的指令或子操作可以以間斷的方式和/或交替的方式實現。
盡管描述并說明了本發(fā)明的具體實施例,但是本發(fā)明并不限于 此描述和說明的具體形式或者布置。本發(fā)明的范圍意在由所附權利 要求及其等同物定義。
權利要求
1. 一種用于面向服務的電子郵件客戶端應用的方法,包括將電子郵件客戶端中地址簿的網絡地址條目鏈接至服務注冊表的服務信息,其中所述服務信息對應于網絡服務;產生具有自定義輸入區(qū)的用戶輸入表格,其中該自定義輸入區(qū)對應于針對所述網絡服務的所述服務信息;以及根據用戶輸入表格的自定義輸入區(qū)中的用戶輸入,經由電子郵件消息來調用針對所述網絡服務的服務請求。
2. 根據權利要求1所述的方法,進一步包括將來自于所述服 務注冊表的所述服務信息的映像存儲在耦合至所述電子郵件客戶端 中所述地址簿的服務注冊表緩存中。
3. 根據權利要求1所述的方法,進一步包括分析針對所述網 絡服務的服務信息,以及確定與針對所述網絡服務的服務信息相對 應的自定義輸入區(qū)。
4. 根據權利要求3所述的方法,進一步包括產生用于在顯示 設備上進行顯示的圖形用戶界面,其中所述圖形用戶界面被配置用 于指導用戶依照具有所述自定義輸入區(qū)的所述用戶輸入表格來提供 輸入,其中所述自定義輸入區(qū)對應于針對所述網絡服務的服務信息。
5. 根據權利要求4所述的方法,進一步包括將具有所述用戶 輸入的服務請求從所述用戶輸入形式轉換成與針對所述網絡服務的 服務信息兼容的消息格式。
6. 根據權利要求1所述的方法,進一步包括產生具有自由文 本輸入區(qū)的所述用戶輸入表格,其中該自由文本輸入區(qū)允許與針對 所述服務注冊表中所述網絡服務的服務請求相對應的自由文本輸 入。
7. —種用于促進面向服務的電子郵件客戶端應用的系統(tǒng),所述 系統(tǒng)包括包括服務信息的服務注冊表,其中所述服務信息描述如何調用網絡服務;耦合至電子郵件客戶端的服務地址簿,所述服務地址簿包括鏈接 至針對所述服務注冊表中的所述網絡服務的所述服務信息的網絡服 務條目;以及耦合至所述服務地址簿的電子郵件編輯器,所述電子郵件編輯器 用于產生具有自定義輸入區(qū)的用戶輸入表格,其中該自定義輸入區(qū) 對應于針對所述網絡服務的服務信息。
8. 根據權利要求7所述的系統(tǒng),進一步包括 耦合至所述電子郵件客戶端的電子郵件服務器,所述電子郵件服務器用于從所述電子郵件客戶端接收服務請求;以及耦合在所述電子郵件服務器與和所述服務注冊表中的所述網絡 服務相對應的網絡服務端點之間的適配器,所述適配器用于從所述 電子郵件客戶端接收所述服務請求,以及用于將所述服務請求傳送 至所述網絡服務端點。
9. 根據權利要求8所述的系統(tǒng),其中所述適配器進一步被配置 用于從所述網絡服務端點接收同步回復,并將所述同步回復傳送至 所述電子郵件服務器以便傳送至所述電子郵件客戶端。
10. 根據權利要求8所述的系統(tǒng),其中所述適配器包括簡單郵件 傳輸協(xié)議(SMTP)適配器。
11. 根據權利要求8所述的系統(tǒng),其中所述服務請求包括異步服 務請求。
12. 根據權利要求7所述的系統(tǒng),進一步包括耦合至所述電子 郵件編輯器的服務數據轉換器,所述服務數據轉換器用于將來自于 所述電子郵件編輯器的服務請求轉換成與針對所述網絡服務的服務 信息兼容的消息格式。
13. 根據權利要求7所述的系統(tǒng),進一步包括耦合至所述電子 郵件編輯器的用戶接口控制器,所述用戶接口控制器用于產生在顯 示設備上顯示的圖形用戶界面,其中所述圖形用戶界面被配置用于 指導用戶依照具有所述自定義輸入區(qū)的所述用戶輸入表格來提供輸入,其中所述自定義輸入區(qū)對應于針對所述網絡服務的服務信息。
14. 根據權利要求13所述的系統(tǒng),進一步包括耦合至所述電 子郵件編輯器的服務分析器,所述服務分析器用于分析針對所述網絡服務的服務信息,以及用于確定與針對所述網絡服務的服務信息 相對應的自定義輸入區(qū)。
15. 根據權利要求7所述的系統(tǒng),進一步包括耦合至所述服務 地址簿的服務注冊表緩存,所述服務注冊表緩存用于將來自于所述 服務注冊表的所述服務信息的映像存儲在所述服務地址簿中,其中 所述服務地址簿在所述電子郵件客戶端的本地。
16. 根據權利要求7所述的系統(tǒng),其中所述電子郵件編輯器被進 一步配置用于產生具有自由文本輸入區(qū)的所述用戶輸入表格,其中 所述自由文本輸入區(qū)允許與針對所述服務注冊表中所述網絡服務的 服務請求相對應的自由文本輸入。
17. —種系統(tǒng),包括服務網絡中的多個服務端點,其中每個服務端點都被配置用于提 供網絡服務;耦合至所述服務網絡的服務注冊表,所述服務注冊表用于存儲對 與所述多個服務端點相對應的網絡服務的調用過程進行描述的服務 信息;以及耦合至所述服務注冊表的電子郵件客戶端,所述電子郵件客戶端 用于通過電子郵件協(xié)議調用針對所述多個服務端點的至少 一個服務 端點的網絡服務的服務請求。
18. 根據權利要求17所述的系統(tǒng),進一步包括耦合至所述電子 郵件客戶端的地址簿,所述地址簿用于存儲多個網絡服務條目,其 中所述多個網絡服務條目對應于所述多個服務端點。
19. 根據權利要求17所述的系統(tǒng),進一步包括 耦合在所述電子郵件客戶端和所述服務網絡之間的電子郵件服務器,所述電子郵件服務器用于從所述電子郵件客戶端接收所述服 務i青求;以及耦合在所述電子郵件服務器和所述服務網絡之間的簡單郵件傳輸協(xié)議(SMTP)適配器,所述SMTP適配器用于使用所述電子郵件 協(xié)議從所述電子郵件服務器接收所述服務請求,以及將所述服務請 求傳送至與所述服務請求中指示的網絡服務相對應的服務端點。
20. 根據權利要求17所述的系統(tǒng),進一步包括 耦合至所述電子郵件客戶端的所述地址簿的服務分析器,所述服務分析器用于分析針對所述網絡服務的服務信息,以及確定對應于 針對所述網絡服務的服務信息的自定義輸入區(qū);耦合至所述服務分析器的電子郵件編輯器,所述電子郵件編輯器 用于產生具有所述自定義輸入區(qū)的用戶輸入表格,其中所述自定義 輸入區(qū)對應于針對所述網絡服務的服務信息;耦合至所述電子郵件編輯器的用戶接口控制器,所述用戶接口控 制器用于產生在顯示設備上進行顯示的圖形用戶界面,其中所述圖 形用戶界面被配置用于指導用戶依照具有所述自定義輸入區(qū)的所述 用戶輸入表格來提供輸入,其中所述自定義輸入區(qū)對應于針對所述 網絡服務的服務信息;耦合至所述用戶接口控制器的服務數據轉換器,所述服務數據轉 換器用于將來自于所述用戶接口控制器的服務請求轉換成與針對所 述網絡服務的服務信息兼容的消息格式;以及耦合至所述服務數據轉換器的電子郵件服務請求器,所述電子郵 件服務請求器用于經由所述電子郵件協(xié)議調用所述服務請求,其中 所述服務請求包括與針對所述網絡服務的服務信息兼容的消息格式 的用戶輸入。
21. —種方法,包4舌獲取對針對網絡服務的調用過程進行描述的服務信息,其中所述 服務信息包括與針對所述網絡服務的自定義輸入區(qū)相對應的元數 據;產生自定義用戶接口 ,該自定義用戶接口用于促進依照針對所述 網絡服務的所述自定義輸入區(qū)的用戶輸入;以及使用電子郵件協(xié)議、基于所述用戶輸入來調用針對所述網絡服務 的服務請求。
22. 根據權利要求21所述的方法,進一步包括將網絡服務條目 存儲在電子郵件客戶端的地址簿中,所述網絡服務條目包括用于調 用針對所述網絡服務的服務請求的服務請求電子郵件地址,其中產 生所述自定義用戶接口進一步包括提供用于用戶輸入所述服務請 求電子郵件地址的電子郵件地址輸入區(qū),其中所述服務請求電子郵 件地址與所述網絡服務相對應。
23. 根據權利要求21所述的方法,其中產生所述自定義用戶接區(qū)進行自定義數據的自由文本輸入的自由文本輸入區(qū)。
24. —種用于促進作為網絡服務消費者的電子郵件客戶端的設 備,所述設備包括用于將服務端點從服務注冊表映射到電子郵件地址簿的裝置; 用于基于所述服務端點的服務描述自動產生自定義電子郵件編戶輸入由所述服務描述規(guī)定的自定義數據的自定義輸入區(qū);用于自動將所述自定義數據轉換成與所述服務描述兼容的消息格式的裝置;以及用于通過電子郵件協(xié)議調用針對所述服務端點的服務請求的裝
25. 根據權利要求24所述的裝置,進一步包括用于通過一種 電子郵件適配器為作為所述網絡服務消費者的電子郵件客戶端提供 異類網絡服務的裝置。
26. —種包含程序的計算機可讀介質,當所述程序被執(zhí)行時,執(zhí) 行用于實現依照權利要求1-6中任一方法的步驟的操作。
全文摘要
一種用于促進面向服務的電子郵件客戶端應用的系統(tǒng)。該系統(tǒng)包括服務注冊表、耦合至電子郵件客戶端的服務地址簿,以及耦合至服務地址簿的電子郵件編輯器。服務注冊表包括服務信息。服務信息描述了如何調用網絡服務。服務地址簿包括連接到針對服務注冊表中網絡服務的服務信息的網絡服務條目。電子郵件編輯器產生具有自定義輸入區(qū)的用戶輸入表格,其中所述自定義輸入區(qū)對應于針對網絡服務的服務信息。
文檔編號H04L12/58GK101447951SQ200810165819
公開日2009年6月3日 申請日期2008年9月23日 優(yōu)先權日2007年11月28日
發(fā)明者P·C·巴爾斯, R·巴爾西亞, 剛 陳 申請人:國際商業(yè)機器公司