TW200421793A - Transmitting and receiving messages through a customizable communication channel and programming model - Google Patents

Transmitting and receiving messages through a customizable communication channel and programming model Download PDF

Info

Publication number
TW200421793A
TW200421793A TW093105451A TW93105451A TW200421793A TW 200421793 A TW200421793 A TW 200421793A TW 093105451 A TW093105451 A TW 093105451A TW 93105451 A TW93105451 A TW 93105451A TW 200421793 A TW200421793 A TW 200421793A
Authority
TW
Taiwan
Prior art keywords
message
service
messaging
layer
channel
Prior art date
Application number
TW093105451A
Other languages
English (en)
Other versions
TWI337485B (en
Inventor
Yann Erik Christensen
Ryan T Sturgell
Erik B Christensen
Jesus Ruiz-Scougall
Alex Dejarnatt
Michael J Marucheck
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 TW200421793A publication Critical patent/TW200421793A/zh
Application granted granted Critical
Publication of TWI337485B publication Critical patent/TWI337485B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D67/00Filing or rasping machines or devices
    • B23D67/12Hand-held or hand-operated filing or rasping devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Description

玖、發明說明: 【發明所屬之技術領域】 本發明係關於傳訊架構’更明確而言,本發明係關於 摘錄一傳訊架構内之處理層的方法、系統及電腦程式產 品’以在無需重新執行現行功能的情況下進行變更或增強。 【先前技術】 隨著現今許多功能強大的電腦網路所提供電腦間的 高度連結性,分散式處理對各種應用而言已變的更具吸引 力。然而’多數用於發展分散式應用的現代架構更能提供 有效及新興通訊技術間的選擇彈性。例如,用於緊密結合 的程式模組、訊息交換#§意及訊息傳送。因此,任一的選 擇通常會支配其他者。 第1 A圖係說明習知一以分散式元件物件模組(Dc〇M) 為主而緊密結合之傳訊架構1 〇 〇 A的範例^ d C Ο Μ係元件 物件模組(COM)的延伸,其可讓元件於一電腦網路内及橫 越電腦網路邊界進行通訊,而COM則被限定在一單一機 器内相互通訊。研發者需使用DCOM接受DCOM程式模組 130A、遠端程序呼叫(RPC)訊息交換語意12〇a以及對應之 RPC網路連接110A以成為套裝作業環境(bundie)。 第1B圖係說明習知另一緊密結合之傳訊架構100B 的範例。與第1A圖所示之DCOM架構類似的是,此其他 的傳訊架構100B包括其他程式模組i3〇B、其他訊息交換 語意120B以及其他電腦網路連結π〇β。應注意的是其他 程式模組130B、其他訊息交換語意120B及其他電腦網路 連結110B的互鎖(interlocking)部分121B與DCOM程式模 組130A、RPC訊息交換語意120A及RPC電腦網路連結 110A的互鎖部分121A並不相同。互鎖部分121A及121B 間的差異說明了習知技術在發展分散式應用的現存及新興 選擇變化上彈性的缺乏。在具備經選擇之DCOM或其他技 術以及其對應的架構下,發展當前應用時將不致犧牲效 益。然而,該等技術變更或增強通常需重頭做起。 因此,解耦程式模組、訊息交換語意以及訊息傳送代 表習知的進展。研發者可由該架構内一層處的特徵選出, 而無需擔心選到其他層的無關事件。此外,研發者可由一 程式模組移至另一程式模組而不需學習新的架構。因為解 耦架構中的變更與增強可讓當前發展效益得以維持,故解 輕該等層將可增強再利用性並促進革新。 【發明内容】 、 本發明係關於用以摘錄一傳訊架構内之處理層的方 法、系統及電腦程式產品,以變更或增強該架冑,同時維 持原有的功忐。在符合本發明之一例示性實施例中(將詳述 於下文),該架構包括三個主要層:-訊息層、-通道廣以 及:服務層。Λ等層之每-者可摘錄功能以使特定執行的 細節可大致隱藏而不為其他層所見。 於一例示性實施例中,係於—訊息層内摘錄訊息傳送 執行,以讓該架構内的其他層可以更適合、更不受訊息傳 送支配的方式與訊息進行互動❶訊息傳送的範例包括具名 導管(named pipes)、傳輸控制協定(TCP)、超文字傳輸協定 (HTTP)、簡單信件傳輪協定(SMTP)等。在訊息層上的通道 層可摘錄訊息交換執行,以讓該架構内的其他層可以更為 適合、更不受一特定訊息交換執行之訊息交換語意支配的 方式發送並接收訊息。訊息交換執行的範例包括資料封 包、對話框、旁白、隊列及類似者。一位於該通道層及訊 息層上之服務層可摘錄該可將訊息交換執行結合至使,用該 架構之使用者編碼執行(例如應用程式)之結合執行。該服 務層(已至少部分描述)係一利用該傳訊架構之程式模組。 各摘錄層可與數個經摘錄執行之程式模組相對應。該 訊息層摘錄可摘錄數個可提供一原子式發送/接收訊息摘 錄之埠。對各經摘錄之執行而言,該架構可包括一代表可 於該架構内執行之摘錄的特定狀況。例如,一通道摘錄之 狀況可結合至一服務狀況或使用者編碼執行以處理該等訊 息°當訊息流經該等狀況及服務代理者時,它們會被搁截 並作進一步處理。該服務層摘錄可摘錄一管理使用者編碼 狀況或服務使用期限的服務儲存執行。 本發明之其他特徵及優點將於下文中詳述,且部分在 參照發明詳述或於實施本發明後更得以彰顯。本發明2特 徵及優點在附加之申請專利範圍所界定之方 ^久結合中更 領會。本發明之此等或其他特徵在參照申請 β兮列範圍及下 述說明後將更為清楚,並可於實施本發明後習得。 【實施方式 本發与 法、系統及 I進行並同 或多個特殊 電腦,如下 第2 < 一高層代 例示性執行 視為一組經 &統)支援汾 包括一訊息 如下3 細節,以使 等程式模組 該架構内之 件被錯誤摘: 式模組而不 變更與增強' 可提昇再利J 底層、 輸。該訊息> 輸時,其等^ 210可摘錄 弓係關於用以摘錄一傳訊架構内之處理層的方 電細程式產品,以使該架構隨後的變更或增強 時維持原有的功能。本發明之實施例可包含一 目的及/或一或多個包括不同電腦硬體之通用 文所將討論者。 圖係說明依據本發明之一例示性傳訊架構2〇〇 表。下文配合第5圖將詳細說明一傳訊架構之 。該架構200可藉由一分層結構(例如該架構可 排序之副系統,其中各副系、统*決於先前的副 -散式程式。例如,於傳訊架構2〇〇中,該主層 層210、一通道層24〇及一服務層27〇。 ‘刑·汁、棚沉奶有,此等層之各者可摘錄某些執行 類似事件能以普通方式對待。胃等摘錄解譯該 、訊息交換語意以及訊息傳送以使研發者可= 一層的特色中選出,無需擔其 丹他層的無關事 錄。因此,研發者可由一程式模組移至另一 需學習新的架構。此摘錄可因為解耦架構中、 可讓當前發展效益得以維持,妙 的 故解耦該等層將 Ή性並促進革新。 訊息層2 1 0可提供端點對端點傳 得遴或訊息傳 ^ 2 1 0可支援傳輸的延展性,以+ & W在執行新的傳 「為該架構内的其他層所利用。也丨1 列如,訊•層 傳輸協定的執行,例如具名道 ° w層 、等管(named 6 pipes)、傳輸控制協定(TCp)、超文字傳輸協定(http)、簡 單信件傳輸協定(SMTP)等。因此簡單而言,訊息層21〇可 對該架構内的其他層提供原子式(at〇mistic)訊息發送/接 收摘錄,以讓其他層可處理訊息,甚而有些不受特定用於 發送或接收訊息之傳輸協定所控制。 訊息層2 1 0在離開及抵達端點時可作訊息的延伸截 取。該延伸截取機構可用於執行如路由(r〇uting)、過濾、 策略管理及警戒等處理。於訊息層21〇之端點的傳輸及有 效處理可藉由程式化或由配置而建立。 通道層240可於訊息層21〇所提供之傳輸摘錄上提供 訊息摘錄。通道係代表該等端點及物件模組(其可摘錄所執 行之處理)間所執行的處理。共同通道的例示包括用於單向 無關傳訊的資料封包通道、用於雙向相關傳訊的對話通 道、用於公佈/訂閱或單向廣播傳訊的旁白通道以及用於單 向隊列傳訊的隊列通道。應用程式或使用者編碼藉由一端 點建立的通道情況(例如内存(in-memory)通道物件)及於該 等狀況下發送訊息的方式使用該等通道。當一訊息抵達其 他端點時,應用程式或使用者編碼會辨識該通道發送端上 所建立的通道並建立一通道狀況以參與呼叫。 服務層270提供通道層24〇及訊息層210上的程式化 模組°應用程式設計師通常會使用服務層的傳訊架構 2〇〇。服務層程式化模組可藉訊息發送機構而彼此區別,訊 息如何發送(例如結構對分類方法呼叫)以及分類系統等。 服務層270可提供一通用機構以結合該程式化模組狀況予 前述通道狀況。該服務層270也提供該等程式化模組選擇 提供予開發者之特徵,諸如狀態及使用期限控制、服務管 理、呼叫截取及同步訊息發送。可開發簡單及複雜的程式 化模組以用於服務層。為利於適當結合及互通,程式化模 組通常會於訊息層傳輸類型及該架構本身内所定義及控制 的類型間定義一固定的關係,特別是對應於應用程式或該 服務層270内的使用者編碼物件之類型。 第3圖係表示一符合本發明之傳訊架構3 0 0之例示性 實施例的方塊圖。一般而言,該傳訊架構3 00係由數個用 於經由所支援之程式模組以結合通道狀況(例如内存通道 摘錄物件)與編碼執行狀況模組所組成。與前述第2及第3 圖之描述類似的是其包括一傳訊層310、一通道層340以 及一服務層370。第3圖之描述可劃分為兩個通用範疇: 傳訊架構本身以及可由該傳訊架構所支援之程式模組。接 下來的討論將由描述傳訊架構開始,且接著會進行一例示 性程式模組的討論。雖然涉及第3圖中所說明的元件可為 單數的’應了解的是各元件的複數態也可呈現於一單一架 構内。 位於各層内之二個管理者均執行許多架構3〇〇所提 供的功能:傳訊層310中的埠312、通道層34〇中的通道 管理者342以及服務層中的服務管理者382。因此,第3 圖之描述最初集中在此三個管理者,接著會對此三個管理 者及其他所說明元件作更詳細的討論。三個管理者的第一 者,即冑312,係於傳輸執行及剩餘的架構間扮演多路復 用代管者(multiplexing broker)的角色。簡單而言,該埠312 及傳訊層3 1 0可提供一原子化訊息發送/接收摘錄予該傳 訊架構300。如先前所提及,此摘錄可幫助其他層緩和判 斷與各個傳輸執行有關之細節的負擔,確切而言,是缓和 與一訊息摘錄互動的其他層有關之細節的負擔,並留下該 等訊息如何傳輸至傳訊層31〇及槔312的細節。 該一個管理者的第二者,即通道層340中的通道管理 者342,係招集並使之與該等訊息有關,可能會儲存及/或 指揮她們並將一高層通道摘錄交付予該服務層37〇,且在 特殊時刻交付予服務管理者382及服務結合者372。此處 與傳訊層310所提供之訊息摘錄類似的是,該通道層34〇 及通道管理者3 42所提供之通道摘錄可幫助其他層緩和需 判斷與各個訊息交換語意有關之細節。其他層可簡單地與 一通道摘錄進行互動,並留下該等訊息如何與通道層34〇 交換(如資料封包、對話框等)。 該二個管理者的第三者,即服務管理者382,係負責 連接服務狀況376(依據該等程式模組之一者執行的分類 狀況)至該通道管理者342所形成的通道狀況344,該通道 管理者可提供一通道摘錄之狀況至對應的服務狀況。該服 務管理者382可經由一服務結合者372(其了解特定通道及 程式模組之細節)將服務狀況376連接至通道狀況344。如 下文所將細述者,該服務結合者372係與服務儲存站378 合作以建立並登記該等狀況。 該服務管理者382及服務結合者372會利用一服務代 ^ϋ〇42ΐ793 理者374將服務狀況376結合至通遒狀況344,下文將會 作進一步細述。一旦建立起該等狀況,該服務儲存站378 會摘錄其耐久性(例如使用期限等)以及來自其餘架構的指 定位置。流進服務狀況之訊息及呼叫可由服務延伸392(以 服務管理者3 82登記)所提供的編碼作截取。服務狀況係經 由該服務狀況上之一介面與該架構進行通訊,稱為一服務 點,其可執行常由一狀況所使用的功能。一狀況之該服務 點當該服務儲存站建立該狀況時會被初始化(或設晉)〇 該服務管理者3 82為一組可用於建立數個通道並存 取該架構内其他元件之介面,且係該架構構成該架構的實 體。當一服務管理者建立時,它會建立服務結合者、服務 儲存站以及於一埠有效的服務類型,並將之連接至該架構 (若一埠可處理多項服務的要求,則僅有單一服務管理者會 聯繫該埠)。雖然習知架構可具有若干服務管理者形式以建 立狀況並管理架構協調,但服務管理者382仍可藉由將此 工作委任予其他適合特定任務之模組來直接地執行任務。 因此,服務管理者382將與架構3〇〇的其他元件同樣支援 高度的延伸性,反之習知架構中的服務管理者傾向建立狀 况並直接管理架構協調,並因為現存的功能可能需要重新 執行以支援新的處理或功能而讓革新變的困難。 該服務結合者372係負責管理通道狀況344、服務狀 況376以及服務儲存站378間的關係。因此,服務結合者 3 72 —般具有對各有效通道及程式模組的特定了解。通道 執行有特性的事件及介面(利用服務結合者3 72以將訊息 10 200421793 移至及移出該通道層340)。 程式化模組可指定該等類型間的映射(mapping),其 中利用該服務結合者以將訊息應用至方法上並將方法呼叫 轉為訊息。由於各通道及程式模組並不同,服務結合者通 常支援各者。因此,對各支援之通道/程式模組對而言,處 理埠通常係與一或多個服務結合者有關。 例示性之程式模組可於一網路服務描述語言 (WSDL)埠類型及該架構運轉時間内的管理類型間被描繪 出來。WSDL係一種可將電.腦網路服務描繪成一組可交換 訊息之端點的XML格式。它提供相當簡單的機構以明確 才曰出不受下方協定(簡單物件存取協定一 s〇Ap、Ηττρ GET/POSτ等)控制之請求的基本格式,或譯碼(多用途網際 郵件擴充協定一 MIME等ρ摘錄操作及訊息係與特定電腦 ’满路協疋與訊息格式相結合以定義一端點。因此,WSDl 服務係端點的集合。應可領會的是第3圖係說明本發明之 例不性實施例’其中該架構包括受控編碼一資料類型(其 被映射至WSDL)。然而,本發明可於不同環境下實施,且 不應被限制於此等受控編碼/資料類型或WSdl埠類型。 如前文所述,服務結合者372於建立一埠的期間係以 服務管理者382進行登記。服務結合者係與一組埠/服務類 型相連結。遍佈服務結合者類型的獨特性係起因於該架構 運轉時間内的受控類型,而該架構運轉時間係執行襲自一 服務結合者所特有的介面類型之服務。對該例示性架構 3 00而言,可開啟一埠的相同步驟也可開啟該服務管理者 11 200421793 故開啟時,服 382及所有於該埠處有效 務結合者其本身會連結至對應之通道管理者 當使用者編碼發出一呼叫予服務管 者3 8 2以捷 一通道時,該服務管理者會重複該組經 曼立 且尤之服務結人& 並提供各機會以處理指定類型。接著, ° # 邊服務管理者會 用該可辨識特定類型以建立一服務狀況 胃利 π 376之服務結入 者,將之登記至服務儲存站378,並以一肫激l ° Λ 服務代理者結合 服務狀況至一通道狀況344。同樣的,當一 ° 田 訊息抵達一未
與一現存服務狀況聯繫之通道時,若它們識別出所收到的 埠/服務類型,則會詢問與該通道結合之該組服務結合者。 識別該類型之該服務結合者372會用於建立一服務狀況, 藉一服務代理者以將之與該通道結合,並接著使所收到訊 息流經該等狀況及代理者傳達至使用者編碼。
為能應付新狀況的要求,一服務結合者會建立一服務 狀況376,並將之登記於一服務儲存站378,建立一服務代 理者374 ’並將一通道狀況344連接至該服務代理者3 74 以及將該服務代理者374連接至服務狀況376中之該使用 者編碼,並引發該通道中之第一訊息流。之後,由該通道 狀況流至該服務代理者3 74之訊息,其會被轉譯為呼叫堆 疊並派發至對應的服務狀況。同樣地,由該服務狀況3 76 流至服務代理者374之呼叫,其會被轉講為訊息並經由該 通道狀況發送至其目的地。 雖然傳統架構可具有某些形式之服務結合者,但依據 本發明之架構可支援多服務結合者。此外,與習知架構不 12 200421793 同的是,該服務結合者聚集由整體觀之並不受下方之該通 道層以及該服務儲存站及該服務層37〇内之程式模組所控 制。傳統架構傾向執行傳輸、導向、結合、儲存以及一緊 密結合封包中的狀況功能,其於每次增強或變更時通常需 要足夠的改變以滿足發展中的技術及應用程式的需求。 如前文所提及’該服務儲存站378係管理該等狀況。 當一服務結合者攔截一要求以建立一新的服務狀況時,該 服務結合者會建立一狀況並將之登記於服務儲存站中。於 建立該狀況後’該服務結合者會使用該儲存站以選定該狀 況之位置(初始化一般使用之通訊介面),接著該服務結合 者會結合該通道與該位置。 該服務儲存站378會持續追蹤與一狀況聯繫之通道 數目’並在沒有通道連接時作釋放。此方式給了服務結合 者(即可查看通道關閉訊息/事件及釋放代理者狀況者)可 參與控制邏輯狀況(於該架構外所看見之狀況)使用期限的 能力。 雖然結合者控制邏輯狀況的使用期,但該服務儲存站 2 7 8亦可管理實際狀況(記憶體中的實際物件狀況)的使用 期限。當一服務儲存站希望由記憶體消除一實際狀況時, 它會通知相關的通道,使其可由其相關之服務代理者3 74 中斷實際狀況。接著,次回一呼叫/訊息會應用於該狀況, 該服務儲存站會負責建立一新的狀況並重新將之連接至適 當的代理者。 服務储存站3 7 8可支援不同程度態樣的狀況。一服務 13 200421793 健存站可維持記憶體中的所有狀況且不會用到中斷連結/ 再連結機構。或者,一服務儲存站可維持記憶體中的所有 狀況並支援於中斷連結/再連結以使該等狀況的無國界狀 態得以進行。服務儲存站可依據機器負載、允許事件(例如 連結至資料庫)及/或使用模式來支援中斷連結/再連結,並 結合中斷連結/再連結與狀況序列化(deserializati〇n)/反序 列化(serialization)並儲存經處理資料庫的狀況以支援持 久、可罪的狀況。由該服務儲存站所利用的資料庫可與一 由持久性通道及該埠之前的路由器所使用的儲存站相結合 以執行由一機器移至另一機器的移動。服務儲存站378在 垃圾收集上、匯集(pooling)、管理長期連結等可能相當有 用。 傳統架構上的服務儲存站傾向於直接連結實體及邏 輯狀況的使用期限。兩者間的關係一般於該架構内是固定 的(hard-coded) ^因此,替代者難以在不影響該系統其他區 域的情況下執行。此外,需使服務儲存站及其他架構部分 間能充分連結’否則專業用戶的變更以作為延伸點或作為 架構的發展將不切實際。 如前文所述’ 一服務代理者374係一服務結合者特定 類型的狀況’其可將通道狀況344之特殊類型連接至服務 狀況3 7 6之特殊類型。對所收到的呼叫而言,服務代理者 會由播報一有用訊息之通道攔截事件,由該訊息建立適當 的呼叫堆疊’並將之應用於狀況中^對一撥出去的呼叫而 言’該服務代理者374會攔截呼叫並將之轉譯為訊息,若 14 200421793 需要 代理 理類 使用 行管 叫數 者可 況使 代理 延伸 3 82, 於該 策略 性的 延伸 以讓 樣地 以讓 的通 面, 延伸 ’可經由通道狀況344將之發送。取決於決定,服務 者3 74會留意分類通道(如來自服務狀況)以及一經管 型的代理者(例如來自通道狀況)。 除了橋架功能,某些行為也可於服務代理者内或經由 服務代理者來實施。例如,一或多個服務代理者可並 理’限制於一給定點及時傳遞予一單一服務狀況的呼 目。如前文有關服務儲存站378的討論,該服務代理 執行中斷連結/再連結以使一服務儲存站可由邏輯狀 用期限解耦實際狀況使用期限。應可領會的是,服務 者3 74允許服務結合者3 72及服務儲存站378以更具 性的方式執行。 除了該等埠312、通道管理者3 42以及服務管理者 其他的管理者也可存在於架構3 〇〇内。此等管理者可 架構之相同層或所有層執行,包括訊息過濾及路由、 交換及應用、警戒、紀錄以及交易服務。各提供延伸 管理者可定義出一延伸介面,以讓其他管理者可執行 性。例如,於傳訊層3 1 0之該埠3 1 2可支援一璋延伸, 該等管理者將管理器應用於流經該層的管線訊息。同 ’個別的通道管理者所執行的延伸可執行該等延伸, 該服務管理者般的模組可鉤連至用於建立來自該通道 道狀況之訊息。 服務延伸392係一由該服務管理者382所定義之介 其可讓其他管理者鉤連至該架構所支援之該呼叫路徑 點。當首次建立該等延伸時,該服務管理者會傳遞所 15 200421793 反映該服務類型之類型資訊,其可經由該服務延 有興趣之管理者。執行服務延伸之管理者結合此 以及其所擁有的配置,以建立它們所欲成為流進 服務狀況之特殊訊息/呼叫。藉由流經該服務延伸 先别及之後的訊息通知會與管理者進行通訊。該 機構的延伸程度並未見於習知架構中。只要該架 援處理’除了與該處理有關的管理者需要作修飾 引至該架構外,通常並不需儲存或其他元件。 一服務狀況376係一經管理之編碼服務類巧 可執行與一埠/服務類型有關的介面,此也許是經 者(具體指定為一程式模組之一部份)為之。一般 如下文所將進一步討論者,一種程式模組的方法 務類型的界面和方法所聯繫的方法並不相同。對 不之例不性實施例而言,所述之服務類型相對於 模組,可進行WSDL、對話、操作及訊息間的直 以及架構運轉時間所管理之編碼介面、方法及參 該架構亦可利用不同的程式模組(可能看起來相$ 以支援建立的服務類型。除有關的服務代理者所 面外,服務類型可執行其他介面以鉤連至其他態 處理。例如,可執行一服務類型以鉤連至某些服 或參與某些服務延伸所執行的處理。 如前文所述,一服務狀況3 76通常會被決戈 有關於其所特有的服務站)。服務狀況係藉執行 面或由一執行該適當介面之基本分類所繼承的 伸以了解 反映資料 及流出該 之事件, 服務延伸 構配置支 以將處理 ϊ!介面,其 由一包裝 而言,且 與一種服 第3圖所 有效程式 接映射, 數類型。 •的不同) 使用的介 樣的架構 務儲存站 t出(包含 一適當介 方式決定 16 200421793 出。當一服務結合者3 72建立一服務狀況時,它會使用 務儲存站378以決定該狀況。該服務儲存站藉適當的將 服務站設置於對應之介面以依序決定出該狀況。該服務 會適當地提供存取與該狀況架構狀態,包括收集連結至 狀況之該等活動通道般的事件。該狀況可利用此狀態資 去取得、檢視並修飾其通道。該服務儲存站在其增加及 該該服務狀況之活動通道移除通道(如同其結合該通道 該服務狀況及由該服務狀況釋放該通道)時亦使用此狀 資訊。 對第3圖所示之例示性實施例而言,該架構係用於 援任何可由WSDL埠類型直接映射至用於該架構運轉時 之受控編碼類型之程式模組。一例示性程式模組係使用 控之編碼參數以於WSDL類型及受控編碼類型間建立關 性。此類型之程式模組係以可描述該受控參數分類及其 執行之埠類型的WSDL對比間之關係的參數進行修都。 等可執行程式模組之工具可形成來自受控編碼分類 WSDL及以適當參數修飾之介面,或形成受控編碼分類 以來自WSDL之該適當參數所修飾之介面。其他程式模 可包括遠端物件模組、用於描述該企業流程之邏輯序列 模組等。因此該術語「服務」應作更廣的解釋,以涵蓋 等及其他的程式模組。 一種更傳統的遠端物件模組,例如DCOM,可視為 介面的組合,一者係執行於該物件客戶端所使用之代 者,另一者則用於該物件本身。此兩種介面之應用方法 服 該 站 該 訊 由 至 態 支 間 受 聯 所 該 之 及 組 的 此 兩 理 通 17 200421793 可能會包含 為個別的訊 為轉換的一 包括四個介 。各呼叫端 息會一要求 息或請求及 息或請求進 常在此種程式模組上完全相同,然而每一者仍 適於-端或呼叫的另一端的架構方法。 相反地,WSDL呼叫係雙向的,它的操作 息或請求/回應訊息對(可於任一方向流動以作 部分)。為能支援此等操作,例示性的程式模組 面、兩個服務執行介面以及兩個通道控制介面 有一具有編碼之服務執行介面,其可回應一訊 而運作,且一具有代理方法(其將會發送對外訊 事件)之通道控制介面可被鉤連以對所收到訊 行處理。 數個屬性可對WSDL _及所建立用以執行編碼的 狀況特性進行受控類型之映射細節的調整。該等屬性的例 示包括可決定狀況使用期限的屬性,諸如是否可對各訊息/ 請求建立一新的邏輯狀況,或若一邏輯狀況只要保持連結 即可維持等情況。該等屬性可明確指出一操作是否為一訊 息或一請求/回應訊息對,若適當,亦可包括屬性或編碼以 明確指出該方法是否為同步或非同步。其他屬性可控制以 受控編碼類型呈現之方法與參數名稱以及WSDL操作、訊 息及部分名稱間的關係。該等屬性可用以對一單一部份包 裝該方法呼叫的引數(argument)所組成的訊息、或對一由 每一引數部分所組成之多埠訊息的映射進行控制。最後屬 性可控制該程式模組對文檔(document)/常值(uterai)或遠 端程序呼叫(RPC)/編碼訊息。其亦可能執行可詢問程式模 組之編碼以沿該服務狀況下方的通道狀況作傳送,但此對 18 200421793 WSDL並無影響。 本發明也可就包含功能步驟及/或非功能性動 法討論。τ文將描述可實施本發明之動作及步驟。 =,功能性步驟會按照完成的結果描述本發明,反之^力 月b性動作會描述較多用於完成一特定結果的特定動作。雖 然功能性步称及非功能性動作可以一特殊順序作描述 求,但本發明並非限於任何特定順序或該等動作及/或步驟 的結合。 第4A-4B圖係表示依據本發明用於摘錄一傳訊架構 内之該等處理層的方法之例示性動作及步驟。於一訊息層 内用於摘錄一或多個訊息傳輸執行的步驟(42〇)可包括定 義一可摘錄該訊息傳輸執行之訊息層介面的動作(4丨〇卜訊 息傳輸之例示包括TCP 411、HTTP 413、SMTP 415以及其 他傳輸417。埠412係一傳輸摘錄的例示,其可對該通道 層乂供一自動訊息發送/接收摘錄。 一用於摘錄一通道層内一或多個訊息交換執行的步 驟(440)包括一定義一可摘錄一或多個訊息交換執行之通 道層介面的動作(430)。訊息交換執行之例示包括資料封包 431、對話433、旁白435、對列437以及其他交換執行439, 而一訊息交換狀況430或通道狀況係一訊息交換摘錄之例 ° 一用於摘錄一服務層内一或多個結合執行之步驟 (49 0)可包括一定義一可摘錄一或多個結合執行(結合一或 多個訊息交換執行與使用者編碼或訊息處理執行)服務層 19 200421793 介面之動作(450)。依據程式模組451所寫的使用者編碼係 作為訊息處理狀況452。程式模組A、程式模組b、程式 模組C等皆為程式模組45 1的範例,連同對應的使用者編 碼A1、使用者編碼A2等,使用者編碼Bi、使用者編碼 B2等,使用者編碼C1、使用者編碼C2等以運作為訊息處 理狀況452。一用於摘錄一或多個結合執行之步驟(49〇)更 可包括.將訊息層類型映射(460)至服務層類型(例如WSDl 至控制編碼類型);將訊息處理狀況結合(47〇)至訊息交換 狀況(如服務狀況至通道狀況);以及管理(48〇)訊息處理狀 況(如經由一服務儲存站)之實際使用期限。 本發明範圍内之實施例也包括用於執行或具有電腦 可執行指令或其上儲存有資料結構的電腦可讀取媒體。上 數電腦可㈣可為任何可為一通用㈣殊用途電腦所 存取之有效媒體。藉由例示而非限制的方 <,上述電腦可 讀取媒體至少包含隨機存取記憶體(RAM)、唯讀記憶體 (ROM)、電子可抹除程式化唯讀記憶體(EEpR_、唯讀型 光碟(CD-ROM)或其他光學磁碟儲存器、磁性磁碟儲存器或 其他磁性儲存裝置,或任何其他可用於負載或儲存所欲程 式編碼之㈣裝其係為電腦可執行指♦或資料結構形 式且可由-通用或特定用途之電腦所存取當資訊被傳遞 或經由-電腦網路或其他通料接(無論以硬接線、無線或 硬接線與無線之結合的方式)至—電腦時,該電腦會適當地 將連接視為-電腦可讀取媒體。因此,任何上述的連接都 可適當地稱為電腦可讀取媒體,前述結合也應包含在電腦 20 200421793 可讀取媒體的 數個指令即γ 的裝置之資料 $ s圖 行本發明之# 電腦可執行导旨 境中以電腦執 式、程式、物 行特殊摘錄冑 令及程式楔組 之步驟的程式 列或相關之資 能的對應動作 範圍内 使一通 以執行 及下文 算環境 令之一 件、元 料類型 ,該程 編碼裝 料結構 執行指令至少包含,例如, 之電腦或特殊用途 用電腦、特殊用途 某一功能或功能群 的討論係用於提供 的概述。雖然未要 般文字作插述,例 式模組。一般而言 件、資料結構等可 者。與資料結構有 式模組係代表用於 置的範例。上述可 係代表用於執行以 一簡短適當並可執 求,但本發明將以 如可於電腦網路環 ,程式模組包括常 執行特別任務或執 關之電腦可執行指 執行此處所述方法 執行指令的特殊序 上述步驟所述之功 Μ…、s此項技術人士應可領會本發明可以任何類型之 “ 6J系統配置而實施於電腦網路計算環境中,包括個人電 腦、攜帶式電腦、多處理器系統、微電腦或可程式之消費 電子網路電腦、逑你電腦、大型電腦以及類似者。本 發月也包括可實施於所描述能藉區域及遠端處理裝置(經 由通訊電腦網路)連結(藉由硬接線、無線或其結合)所執 行之任務的電腦環境中。於一分散式計算環境中,程式模 組皆可位於區域及遠端記憶儲存裝置中。 參照第5圖’一用於執行本發明之例示性系統包括一 I知電腦520形式的通用計算裝置,包括一處理單元52卜 一系統記憶體522及一可連接不同系統元件(包括該系統 21 200421793 記憶體522至處理單元521)之条处 )之系統匯流排523。該系統匯 流排523可為任一種匯流排架構 ^ 卞得,包括一記憶體匯流排或 記憶體控制器、一周邊匯流排以 F 乂及一使用任一種匯流排架 構之區域匯流排。該系統記憶體白 丨思體包括唯讀記憶體(ROM)524 以及隨機存取記憶體(RAM)525。_基本輸人/輸出系統 (BI〇S)526,包含該幫助資訊於該電腦52。内之元件間傳遞 的基本常式(例如於開機期間)即可儲存於R0M 524中。 該電腦520也可包括—用以由—磁性硬碟539讀取或 作寫入之磁性硬碟裝置527、一用以由一可抽換磁碟機529 讀取或作寫入之磁碟裝f 528,以及—用於由可抽換光碟 機531(例如CD_R0M或其他光學媒體)讀取或作寫入的光 碟裝置530。該磁性硬碟梦番 哎嘴裝置527、磁碟裝置528以及光碟 裝置530係分別藉一硬碟裝置介面523、一磁碟裝置介面 ^及S碟裝置介® 534連接至該系統匯流排523。該 ^置及其他相關之電腦可讀取媒體可提供該等電腦可執行 ^資料釔構、程式模組及其他用於電腦520之資料作 非揮發式的儲存。雖銶士忐 _ 雖热此處所描述例不性的環境係利用一 磁性硬碟539、一可抽取磁碟529以及一可抽取光碟531, 但其他類型用於儲存資料的電腦可讀取媒艎亦可使用,包 括磁陡卡夾、快閃s己憶卡、數位多功能磁碟、勃努利盒 (BernouUi eartridge)、隨機存取記憶冑、唯讀記憶體 似者。 程式編碼裝置包括一或多個可儲存於硬碟5 39、磁碟 光碟531唯讀圮憶體524或隨機存取記憶體525上 22 200421793 之程式模組,包括一操作系統535、一或多個應用程式 536、其他程式模組537以及程式資料538。使用者可經= 鍵盤540、指示裝置542或其他輸入裝置(未示出,例如麥 克風、搖桿、遊戲墊、衛星碟或類似者)輸入指令及資料至 電腦520。此等及其他輸入裝置通常係經由一系列埠介面 5 46 (連接至系統匯流排5 23 )連接至該處理單元$ 2丨。戋 者,該輸入裝置可藉其他介面作連接,諸如一平行埠、2 遊戲埠或一通用序列匯流排(USB)。螢幕47或其他顯示裝 置亦可經由一介面連接(例如視頻轉接器54 、 7上尔統匯流 排5 23。除了螢幕,一般也包括其他周邊輸出裝置(未示出〕 之個人電腦,例如揚聲器及印表機。 電腦520可操作於一網路電腦環境中以利用邏輯連 結至一或多個遠端電腦,例如遠端電腦549a及549b。遠 端電腦549a及549b各可為另一個人電腦、一伺服器、一 路由器、一電腦網路、一對等裝置或其他共同網路節點, 且一般包括許多或所有前述予該電腦520有關的元件,雖 然第5圖中僅描述記憶體儲存裝置5 5 0a及5 5 〇b及其相關 的應用程式536a及536b。第5圖所描述之該邏輯連接包 括一區域網路(LAN)551及一廣域網路(WAN)552,其等係 以例示而非限制的方式說明於此。上述電腦網路環境相當 常見於公司或企業電腦網路、網際網路中。 當使用於區域網路環境時,電腦520係經由一電腦網 路介面或轉接器553連接至該區域電腦網路551。當使用 於廣域網路環境時,電腦52〇可包括一數據機554、一無 23 ^1793 限鏈結或其他用以與該廣域網路552(例如網p 通訊的裝置。該數據機554(可為内接式或外4 序列埠介面546連接至系統匯流排523。於一 境中,所描述與該電腦52〇有關之程式模組或 存於遠端記憶體儲存裝置中。應可領會的是所 連接係例示性的,且其他與廣域網路5 5 2建立 亦可使用。 本發明可於不悖離其精神與實質特徵的 他型態實施。所述之該等實施例均應視為示 制。因此’本發明範圍應以附加之申請專利範 非則述說明。落於本案申請專利範圍之等效性 有變化均落於其範圍内。 【圖式簡單說明】 為能描述本發明前述及其他優點與特徵,
iifc 4fn I 上之特定說明在參照其特定實施例及附 更县 貝會。應了解的是此等圖示僅描繪本發明 例,姑 了 也 ' ^不應視為限制,本發明將藉由附加圖示 更詳細的方式作描述並解釋,其中: 第1 A-1B圖係說明緊密結合傳訊架構之| 第2圖係說明依據本發明之一傳訊架構 表; 第3圖係依據本發明之一傳訊架構例示 塊圖; 备網路)建立 妾式)係經由 電腦網路環 其部分可儲 示之該電腦 通訊的裝置 情況下以其 範性而非限 圍,而 及範圍的_ 本發明簡% 加@示後將 之一般實施 以更具體且 丨知例示; 之一高層代 實施例之方 24 200421793 第4A-4B圖係依據本發明之一傳訊架構内摘錄處理 層之例示性方法及步驟;以及 第 5圖係說明一可提供一適於本發明操作環境之例 示性系統。 【元件代表符號簡單說明】 100A 傳 訊 架 構 100B 傳 訊 架 構 110A RPC 網 路 連 接 110B 其 他 網 路 連 結 120A RPC 訊 息 語 意 120B 其 他 訊 息 語 意 121 A 互 鎖 部 分 121B 互 鎖 部 分 200 傳 訊 架 構 210 訊 息 層 240 通 道 層 270 月艮 務層 300 傳 訊 架 構 310 訊 息 層 312 埠 340 通 道層 342 通 道 管 理 者 344 通 道 狀 況 370 服 務 層 372 服 務 結 合 者 374 服 務 代 理 376 服 務 狀 況 378 月艮 務 儲 存 站 382 服務 管 理 者 392 服 務 延 伸 3 94 其 他 管 理 者 411 傳 輸 控 制 協 定 25 200421793 412 413 415 417 420 431 432 433 435 437 439 440 450 451 452 454 460 470 480 490 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 埠 超文字傳輸協定 簡單信件傳輸協定 其他協定 摘錄訊息傳輸 資料封包 β 訊息交換狀況 對話 ’ 旁白 隊列 其他 摘錄訊息交換 < 定義服務層介面 程式模組A 訊息處理狀況 使用者編碼A1 將訊息層類型映射至服務層類型 結合處理狀況至交換狀況 管理訊息處理狀況之實際使用期限 摘錄結合 電腦 處理單元 系統記憶體 系統匯流排 唯讀記憶體 < 隨機存取記憶體 基本輸入輸出系統 . 磁性硬碟裝置 磁碟裝置 . 可抽換磁碟機 光碟裝置 光碟 硬碟裝置介面 磁碟裝置介面 光碟機介面 26 200421793 535 操 作 系 統 536 應 用 程 式 536a 應 用 程 式 536b 應 用 程 式 537 其 他 程 式 模 組 538 程 式 資 料 539 磁 性 硬 碟 540 鍵 盤 542 滑 鼠 546 序 列 埠 介 面 547 螢 幕 548 視 訊 轉 接 器 549a 遠 端 電 腦 549b 遠 端 電 腦 550a 記 憶 體 儲 存 裝 置 550b 記 憶 體 儲 存 裝 置 551 區 域 電 腦 網 路 552 廣 域 電 腦 網 路 553 電 腦 網 路 介 面 554 數據機 27

Claims (1)

  1. 2〇〇42l793 拾、申請專利範圍: 1. 一種執行一可摘錄一架構内不同處理層之傳訊架構的 電腦程式產品’其中該架構可提供一訊息功能之基層,且 其中該等摘錄處理層係可延伸以於無需再執行其他摘錄處 理層中所具有之傳訊功能之基層的情況下進行變更或增 強,該電腦程式產品至少包括一或多個具有程式模組形式 之電腦可執行指令的電腦可讀取媒體,該程式模組至少包 含: 一或多個傳訊層模組,用於提供一或多個訊息之端點 對端點傳輸及執行支援一或多個訊息傳輸協定; 一或多個通道層模組,用以於該一或多個訊息層模組 上方提供訊息交換語意;以及 一或多個服務層模組,用以於該一或多個通道層模組 上方提供一或多個程式模組’並藉使該傳訊架構之一或多 個特徵可見的方式與該傳訊架構進行互動,其中該傳訊架 構可為經設計以使用該傳訊架構之軟體所存取。 2 ·如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個訊息傳輸協疋包含具名導管(nanie(j pipes)、傳輸 控制協定(TCP)、超文字傳輸協定(Ηττρ)以及簡單信 件傳輸協定(SMTP)之至少一者。 3 ·如申請專利範圍第1項所述之電腦程式產品,其中該一 28 200421793 或多個訊息層模組在一訊息離開或抵達一端點時允許訊息 攔截。 4. 如申請專利範圍第3項所述之電腦程式產品,其中該一 · 或多個訊息層模組可執行之處理包含路由、過濾、策略管 . 理、登錄、事務處理及警戒之至少一者。 5. 如申請專利範圍第1項所述之電腦程式產品,其中該一 . 或多個通道層模組可執行下列至少一者(i) 一用於單向無 關傳訊之資料封包通道、(ii) 一用於雙向相關傳訊之對話通 道、(iii) 一用於單向廣播傳訊之旁白通道,包括公佈/訂閱 傳訊,以及(iv)—用於單向隊列傳訊之隊列通道。 6. 如申請專利範圍第1項所述之電腦程式產品,其中可於 該一或多個通道層模組上方提供一或多個程式模組之該一 或多個服務層模組係可於一或多個網路服務描述語言 ( (WSDL)埠類型及該傳訊架構内一或多個受控類型間執行 一直接映射。 7. 如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個傳訊層模組至少包括一可對該一或多個通道層模組 提供一原子式 (atomistic)訊息發送/接收摘錄的槔。 29 200421793 8 ·如申 或多個 較高層 者。 9 ·如申 或多個 理者, 一或多 式進行 I 0 ·如 服務管 之該架 II ·如 一或多 該一或 或多個 該一或 12.如 一或多 請專利範圍第1項所述之電腦程式產品,其 通道層模組至少包括一可召集及聯繫訊息並 之通道摘錄予該一或多個服務層模組之通 請專利範圍第1項所述之電腦程式產品,其 服務層模組至少包括一可協調該傳訊架構之 其係藉由於該一或多個服務層模組之至少一 個通道層模組之至少一者間建立一或多個連 申請專利範圍第9項所述之電腦程式產品, 理者可藉指派一或多個任務予適於該一或多 構内之其他模組的方式支援延伸性。 申請專利範圍第9項所述之電腦程式產品, 個通道層模組至少包括一或多個通道狀況, 多個服務層模組至少包括一或多個服務結合 服務狀況及一或多個可結合該一或多個通道 多個服務狀況之服務代理者。 申請專利範圍第11項所述之電腦程式產品, 個服務狀況代表一或多個用於與該傳訊架構 中該一 提交一 道管理 中該一 服務管 者及該 結的方 其中該 個任務 其中該 且其中 者、一 狀況至 其中該 進行互 30 200421793 動之使用者編碼狀況,該一或多個通道狀況代表一或 用於處理一特定類型之一或多個訊息之一或多個通道 況,其中該特定類型係被指定予或起源於該一或多個 狀況,且該一或多個服務結合者可管理該一或多個服 況及該一或多個通道狀況如何經由該一或多個服務代 彼此聯繫及通訊。 1 3 ·如申請專利範圍第1 2項所述之電腦程式產品,.其 一或多個服務層模組至少包含(i) 一可管理該一或多 務狀況之實際使用期限的服務儲存站,以及(ii) 一或多 截取一或多個由該一或多個服務狀況流入並流出之訊 服務延伸’其中該一或多個服務延伸可執行之處理至 括路由、過濾、策略管理及警戒之至少一者。 14. 一種於一至少包含數個可提供某種初始功能以處 或多個訊息之處理層之傳訊架構中摘錄該傳訊架構内 個處理層α進行該傳訊架構隨後的變更或增強同時維 某種㈣功能的方法…該方法至少包含下列動作 定義一訊息層纟面,其可為該傳訊架構内一或多 高層摘錄一或多個訊息傳輸執行; 定義-該訊息層介面上方之通道層介面,其中該 層介面可為該傳訊年構內一 人 朱構内或多個較高層摘錄一或多 息交換執行;以及 多個 :的狀 !服務 務狀 理者 中該 個服 個町 息的 少包 理一 之數 持該 個較 通道 個訊 31 200421793 訊息交換執行包含下列至少一者(i) 一用於單向無關傳訊 之資料封包通道、(ii) 一用於雙向相關傳訊之對話通道、(iii) 一用於單向廣播傳訊之旁白通道,包括公佈/訂閱傳訊,以 及(iv)—用於單向隊列傳訊之隊列通道。 20·如申請專利範圍第14項所述之方法,其中該訊息層介 面更可摘錄一或多個埠,每個埠可提供一原子式訊息發送/ 接收摘錄。 2 1.如申請專利範圍第1 4項所述之方法,其中該一或多個 結合執行至少包括一或多個可進行將該一或多個訊息交換 執行結合至該一或多個建立於該傳訊架構上方之訊息處理 執行的服務結合者執行。 22.如申請專利範圍第21項所述之方法,其中該一或多個 服務結合者執行係使用一或多個服務代理執行以進行將該 一或多個訊息交換執行結合至該一或多個建立於該傳訊架 構上方之訊息處理執行。 2 3.如申請專利範圍第22項所述之方法,其中該傳訊架構 至少包含該一或多個訊息交換執行之一或多個狀況及該一 或多個訊息處理執行之一或多個狀況,且其中一獨立的服 務代理狀況可將該一或多個訊息交換狀況之各者結合至一 33 200421793 定義一該通道層介面上方之服務層介面,其中該服務 層介面可經由該通道層介面至該傳訊架構上方所建立之一 或多個訊息處理執行之使用者編碼摘錄一或多個可結合該 一或多個訊息交換執行之結合執行。 15.如申請專利範圍第14項所述之方法,其中該服務層介 面係至少部分描述一程式模組以利用該傳訊架構。 1 6.如申請專利範圍第1 4項所述之方法,其中該程式模組 可於一或多個網路服務描述語言(WSDL)埠類型及該傳訊 架構内一或多個受控類型間指定一映射。 17. 如申請專利範圍第14項所述之方法,其中該訊息層介 面、通道層介面及服務層介面各與該用於一或多個訊息傳 輸執行、該一或多個訊息交換執行以及該一或多個結合執 行之數個程式模組相對應。 18. 如申請專利範圍第14項所述之方法,其中該一或多個 訊息傳輸協定包括具名導管(named pipes)、傳輸控制協 定(TCP)、超文字傳輸協定(HTTP)以及簡單信件傳輸 協定(SMTP)之至少一者。 19. 如申請專利範圍第14項所述之方法,其中該一或多個 32 程式模組以利用該傳訊架 服務層介面係至少部分描述一 構。 广如申請專利範圍第25項所述之電腦程式產品,其中該 訊息層介*、通道層介面及服務層介面各與用於該一或多 個訊息傳輸執行、胃一或多個訊息交換執行以及該一或多 個結合執行之數個程式模組相對應。 —·如申請專利範圍帛25項所述之電腦程式產品,其中該 或多個訊息傳輸協定包括具名導管(named pipes)、傳 :I制協定(tcp)、超文字傳輸協定(HTTp)以及簡單 乜件傳輸協定(SMTP)之至少一者。 _ 申明專利範圍第25項所述之電腦程式產品,其中該 單γ多個訊心交換執行至少包括下列至少一者⑴一用於 ° 、、、關傳訊之資料封包通道、⑴)一用於雙向相關傳訊之 野話通指、/ · · ·、 佈^ U1用於單向廣播傳訊之旁白通道,包括公 §傳訊以及(lv) 一用於單向隊列傳訊之隊列通道。 面。申”月專利範圍帛2 5項所述之方法,其中該訊息層介 面更可摘錄—或多個埠,每個埠可提供-原子式訊息發送/ 接收摘錄。 35 200421793 對應的訊息處理狀況。 2 4.如申請專利範圍第23項所述之方法,其中該服務層介 面可摘錄一可管理該一或多個訊息處理狀況之實際使用期 限的服務儲存執行。 2 5 · —種對一至少包含數個可提供某種初始功能以處理一 或多個訊息之處理層之傳訊架構而言一至少包含一或多個 載有數個可執行一摘錄該傳訊架構内之數個處理層以進行 該傳訊架構隨後的變更或增強同時維持該某種初始功能之 方法的電腦可執行指令之電腦可讀取媒體的電腦程式產 品,其中該方法至少包含下列動作: 定義一訊息層介面,其可為該傳訊架構内一或多個其 他層摘錄一或多個訊息傳輸執行; 定義一該訊息層介面上方之通道層介面,其中該通道 層介面可為該傳訊架構内一或多個其他層摘錄一或多個訊 息交換執行;以及 定義一該通道層介面上方之服務層介面,其中該服務 層介面可經由該通道層介面至該傳訊架構上方所建立之一 或多個訊息處理執行之使用者編碼摘錄一或多個可結合該 一或多個訊息交換執行之結合執行。 26.如申請專利範圍第25項所述之電腦程式產品,其中該 34 200421793 31·如申請專利範圍第25項所述之方法,其中該一或多個 結合執行至少包括一或多個可進行將該一或多個訊息交換 執行結合至該一或多個建立於該傳訊架構上方之訊息處理 執行的服務結合者執行。 32.如申請專利範圍第25項所述之方法,其中該一或多個 服務結合者執行係使用一或多個服務代理執行以進行將該 一或多個訊息交換執行結合至該一或多個建立於該傳訊架 構上方之訊息處理執行。 3 3.如申請專利範圍第3 2項所述之方法,其中該傳訊架構 至少包含該一或多個訊息交換執行之一或多個狀況及該一 或多個訊息處理執行之一或多個狀況,且其中一獨立的服 務代理狀況可將該一或多個訊息交換狀況之各者結合至一 對應的訊息處理狀況,且其中該服務層介面可摘錄一可管 理一或多個訊息處理狀況之實際使用期限的服務儲存執 行。 34. —種於一至少包含數個可提供某種初始功能以處理一 或多個訊息之處理層之傳訊架構中摘錄該傳訊架構内數個 處理層以進行該傳訊架構隨後的變更或增強同時維持該某 種初始功能的方法,其中該方法至少包含下列步驟: 於一訊息層内摘錄一或多個訊息傳輸處理以用於該 36 "^1793 架構内之一或多個其他層; 於該訊息層上之一通道層内摘錄一或多 執行以用於該傳訊架構内之一或多個其他層; 於該通道層上之一服務層内摘錄一或多 該一或多個訊息交換執行結合至與一或多 訊采構之訊息處理執行相對應之使用者編碼。 35·如申請專利範圍第34項所述之方法,其中 面 # 2R . ''至 >'部分描述一程式模組以利用該傳訊架 36·如申請專利範圍第34項所述之方法,其中 錄、兮、s、备 μ通道層摘錄及該服務層摘錄係與用於該 、傳輪執行、該一或多個訊息交換執行以及該 〇執行之數個程式模組相對應。 如申請專利範圍第3 4項所述之方法,其中 錄更 "ΰΓ W摘錄一或多個埠,每個埠可提供一原子 接收摘錄。 38·如申請專利範圍第37項所述之方法,其中 至少包含該一或多個訊息交換執行之一或多個 或多個訊息處理執行之一或多個狀況,且其中 結合執行至少包含一或多個使用一或多個服務 個訊息交換 以及 個結合執行 個使用該傳 該服務層介 構。 該訊息層摘 一或多個訊 一或多個結 該訊息層摘 式訊息發送/ 該傳訊架構 狀況及該一 該一或多個 代理狀況以 37 200421793 將各訊息交換狀況結合至一對應的訊息處理狀況之服務 合者執行。 39.如申請專利範圍第38項所述之方法,其中該服務層 面更可摘錄一可管理該一或多個訊息處理狀況之實際使 期限的服務儲存執行。 4 0.如申請專利範圍第39項所述之方法,其中該一或多 訊息傳輸協定包括具名導管(named pipes)、傳輸控制 定(TCP)、超文字傳輸協定(HTTP)以及簡單信件傳 協定 (SMTP)之至少一者。 41. 如申請專利範圍第40項所述之方法,其中該一或多 訊息交換執行至少包括下列至少一者(i) 一用於單向無 傳訊之資料封包通道、(Π)—用於雙向相關傳訊之對話 道、(iii) 一用於單向廣播傳訊之旁白通道,包括公佈/訂 傳訊,以及(iv) —用於單向隊列傳訊之隊列通道。 42. —種對一至少包含數個可提供某種初始功能以處理 或多個訊息之處理層之傳訊架構而言一至少包含一或多 載有數個可執行一摘錄該傳訊架構内之數個處理層以進 該傳訊架構隨後的變更或增強同時維持該某種初始功能 方法的電腦可執行指令之電腦可讀取媒體的電腦程式 結 介 用 個 協 輸 個 關 通 閱 個 行 之 產 38 200421793 品,其中該方法至少包含下列步驟: 於一訊息層内摘錄一或多個訊息傳輸處理以用於該 傳訊架構内之一或多個其他層; 於該訊息層上之一通道層内摘錄一或多個訊息交換 執行以用於該傳訊架構内之一或多個其他層;以及 於該通道層上之一服務層内摘錄一或多個結合執行 以將該一或多個訊息交換執行結合至與一或多個使用該傳 訊架構之訊息處理執行相對應之使用者編碼。 43 ·如申請專利範圍第42項所述之電腦程式產品,其中該 服務層介面係至少部分描述一程式模組以利用該傳訊架 構。 44.如申請專利範圍第42項所述之電腦程式產品,其中該 訊息層摘錄、該通道層摘錄及該服務層摘錄係與用於該一 或多個訊息傳輸執行、該一或多個訊息交換執行以及該一 或多個結合執行之數個程式模組相對應。 45 ·如申請專利範圍第42項所述之電腦程式產品,其中該 訊息層摘錄更可摘錄一或多個埠,每個埠可提供一原子式 訊息發送/接收摘錄。 4 6.如申請專利範圍第45項所述之電腦程式產品,其中該 39 200421793 傳訊架構至少包含該一或多個訊息交換執行之一或多個狀 況以及該一或多個訊息處理執行之一或多個狀況,且其中 該一或多個結合執行至少包括一或多個使用一或多個服務 代理狀況以將各訊息交換狀況結合至一對應的訊息處理狀 況之服務結合者執行。 47·如申請專利範圍第46項所述之電腦程式產品,其中該 服務層摘錄更可摘錄一可管理該一或多個訊息處理狀況之 實際使用期限的服務儲存執行。 48·如申請專利範圍第47項所述之電腦程式產品,其中該 一或多個訊息傳輸協定包括具名導管(nained pipes)、傳 輸控制協定(TCP)、超文字傳輸協定(HTTP)及簡單作 件傳輸協定(SMTP)之至少一者。 49·如申請專利範圍第42項所述之電腦程式產品,其中該 或多個訊息交換執行包括下列至少一者(i) 一用於單向 無關傳訊之資剩、* , · ·、 貝枓封包通道、(u) 一用於雙向相關傳訊之對話 通道、(⑴)-用於單向廣播傳訊之旁白通道,包括公佈/訂 閱傳訊’ U及(iv) —用於單向隊列傳訊之隊列通道。s 40
TW093105451A 2003-03-26 2004-03-02 Transmitting and receiving messages through a customizable communication channel and programming model TWI337485B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/400,747 US7200676B2 (en) 2003-03-26 2003-03-26 Transmitting and receiving messages through a customizable communication channel and programming model

Publications (2)

Publication Number Publication Date
TW200421793A true TW200421793A (en) 2004-10-16
TWI337485B TWI337485B (en) 2011-02-11

Family

ID=32824996

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093105451A TWI337485B (en) 2003-03-26 2004-03-02 Transmitting and receiving messages through a customizable communication channel and programming model

Country Status (22)

Country Link
US (1) US7200676B2 (zh)
EP (1) EP1463259B1 (zh)
JP (1) JP2004295898A (zh)
KR (1) KR101037818B1 (zh)
CN (1) CN1533117B (zh)
AT (1) ATE352162T1 (zh)
AU (1) AU2004200731B2 (zh)
BR (1) BRPI0400761A (zh)
CA (1) CA2461652A1 (zh)
CO (1) CO5560097A1 (zh)
DE (1) DE602004004300T2 (zh)
HK (1) HK1069041A1 (zh)
IL (1) IL160575A (zh)
MX (1) MXPA04002729A (zh)
MY (1) MY141149A (zh)
NO (1) NO20041265L (zh)
NZ (1) NZ531380A (zh)
PL (1) PL366441A1 (zh)
RU (1) RU2356089C2 (zh)
SG (1) SG115639A1 (zh)
TW (1) TWI337485B (zh)
ZA (1) ZA200401579B (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2549343C (en) * 2002-12-17 2008-08-19 Breathablebaby, Llc Crib shield system and other breathable apparatus
CA2556862C (en) * 2004-02-27 2010-07-20 Research In Motion Limited System and method for communicating asynchronously with web services using message set definitions
US7904587B2 (en) * 2005-01-19 2011-03-08 Iona Technologies Limited Flexibly deployable communication device facilitating interoperation between middleware
US7921216B2 (en) * 2005-02-01 2011-04-05 Microsoft Corporation System and method for building and using communication binding objects
US7882236B2 (en) 2005-02-04 2011-02-01 Microsoft Corporation Communication channel model
US7721293B2 (en) * 2005-09-21 2010-05-18 Sap Ag Web services hibernation
US20070067461A1 (en) * 2005-09-21 2007-03-22 Savchenko Vladimir S Token streaming process for processing web services message body information
US8745252B2 (en) * 2005-09-21 2014-06-03 Sap Ag Headers protocol for use within a web services message processing runtime framework
US7716279B2 (en) * 2005-09-21 2010-05-11 Sap Ag WS addressing protocol for web services message processing runtime framework
US7716360B2 (en) * 2005-09-21 2010-05-11 Sap Ag Transport binding for a web services message processing runtime framework
US7761533B2 (en) * 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
US7788338B2 (en) * 2005-09-21 2010-08-31 Sap Ag Web services message processing runtime framework
US7606921B2 (en) * 2005-09-21 2009-10-20 Sap Ag Protocol lifecycle
US7711836B2 (en) * 2005-09-21 2010-05-04 Sap Ag Runtime execution of a reliable messaging protocol
US7636766B2 (en) * 2005-11-15 2009-12-22 Yahoo! Inc. Remote selection and installation of auxiliary content
EP1826979A1 (en) * 2006-02-27 2007-08-29 BRITISH TELECOMMUNICATIONS public limited company A system and method for establishing a secure group of entities in a computer network
US8856862B2 (en) * 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
US7676492B2 (en) * 2006-04-07 2010-03-09 International Business Machines Corporation Migration of database using serialized objects
FI119001B (fi) 2006-08-16 2008-06-13 Lumon Oy Paneelijärjestelmä ja sen yläohjain
EP1976220A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Computer network
EP1975830A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Distributed computer system
US8365194B2 (en) * 2007-10-29 2013-01-29 International Business Machines Corporation Creating and processing dynamic proxy actions for actions that are not yet registered with a client side broker
US8719841B2 (en) 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US9021503B2 (en) * 2007-11-16 2015-04-28 Microsoft Technology Licensing, Llc Coordinating application state and communication medium state
US8984530B2 (en) 2008-01-31 2015-03-17 Microsoft Corporation Queued message dispatch
CA2711731A1 (en) * 2008-02-14 2009-08-20 Nokia Corporation System and method for implementing a publication
US8171495B2 (en) * 2008-05-29 2012-05-01 Microsoft Corporation Queue dispatch using deferred acknowledgement
US8904003B2 (en) * 2008-06-30 2014-12-02 Oracle America, Inc. Method and system for delegated job control across a network
US8464274B2 (en) 2008-07-04 2013-06-11 Nec Corporation Information processing system, program and data relay method
US8868532B2 (en) 2008-08-08 2014-10-21 Microsoft Corporation Message exchange pattern rendezvous abstraction
US7895280B2 (en) 2008-09-03 2011-02-22 Microsoft Corporation Composing message processing pipelines
US8301706B2 (en) 2009-06-15 2012-10-30 Microsoft Corporation Routing of pooled messages via an intermediary
EP2462510A4 (en) * 2009-08-03 2013-01-02 Hewlett Packard Development Co LINK MODEL INSTANCES FOR PACKAGES
US8806566B2 (en) * 2009-11-19 2014-08-12 Novell, Inc. Identity and policy enforced inter-cloud and intra-cloud channel
US8549538B2 (en) * 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US8250234B2 (en) 2010-04-26 2012-08-21 Microsoft Corporation Hierarchically disassembling messages
US8463860B1 (en) * 2010-05-05 2013-06-11 Spirent Communications, Inc. Scenario based scale testing
US8443416B2 (en) 2011-05-06 2013-05-14 Novell, Inc. Techniques for secure channel messaging
US8612530B1 (en) * 2011-05-27 2013-12-17 Mu Dynamics, Inc. Pass-through testing using message exchange identifiers
CN102857954B (zh) * 2011-06-30 2017-09-29 中兴通讯股份有限公司 传输配置数据的处理方法及装置
CN104954413B (zh) * 2014-03-31 2018-07-13 阿里巴巴集团控股有限公司 提供互联网应用服务的方法、系统、用户端设备及服务端
CN107204908A (zh) * 2016-03-17 2017-09-26 阿里巴巴集团控股有限公司 一种基于通信接口框架的消息发送、接收方法及装置
EP3436993B1 (en) * 2016-03-31 2023-07-05 Koninklijke Philips N.V. An imaging system and a communication platform for communication among a plurality of nodes of the imaging system
US11269686B2 (en) 2019-11-25 2022-03-08 Red Hat, Inc. Adaptive consumer thread pool
US11018965B1 (en) 2020-01-24 2021-05-25 Red Hat, Inc. Serverless function scaling
US11314489B1 (en) 2021-04-16 2022-04-26 27 Software U.S. Inc. Automated authoring of software solutions by first analyzing and resolving anomalies in a data model
US11409505B1 (en) 2021-04-16 2022-08-09 27 Software U.S. Inc. Automated authoring of software solutions from a data model with related patterns
US11693652B2 (en) 2021-04-16 2023-07-04 27 Software U.S. Inc. Automated authoring of software solutions from a data model

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100228400B1 (ko) * 1997-07-23 1999-11-01 정선종 개방형 통신망에서 연결그래프를 이용한 점대다중점 연결 설정 및 해제 방법
US6442620B1 (en) * 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6425017B1 (en) * 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
AU1843300A (en) 1998-12-11 2000-06-26 Microsoft Corporation Accelerating a distributed component architecture over a network using a modified rpc communication
FI107424B (fi) * 1999-03-22 2001-07-31 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä multimediaan liittyvän informaation välittämiseen valmistautumiseksi pakettikytkentäisessä solukkoradioverkossa
EP1164482B1 (en) 2000-06-16 2008-10-22 Microsoft Corporation System and method for interactive communication between objects in a distributed computing environment
JP2004531780A (ja) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション 分散型コンピューティングサービスプラットフォーム
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7120896B2 (en) * 2001-10-31 2006-10-10 Vitria Technology, Inc. Integrated business process modeling environment and models created thereby
US20030055668A1 (en) 2001-08-08 2003-03-20 Amitabh Saran Workflow engine for automating business processes in scalable multiprocessor computer platforms

Also Published As

Publication number Publication date
EP1463259A1 (en) 2004-09-29
IL160575A0 (en) 2004-07-25
AU2004200731A1 (en) 2004-10-14
CN1533117B (zh) 2010-06-02
IL160575A (en) 2009-12-24
ATE352162T1 (de) 2007-02-15
ZA200401579B (en) 2004-08-31
CA2461652A1 (en) 2004-09-26
US7200676B2 (en) 2007-04-03
NZ531380A (en) 2005-08-26
JP2004295898A (ja) 2004-10-21
KR20040084812A (ko) 2004-10-06
TWI337485B (en) 2011-02-11
HK1069041A1 (en) 2005-05-06
KR101037818B1 (ko) 2011-05-30
PL366441A1 (en) 2004-10-04
RU2004108864A (ru) 2005-09-27
EP1463259B1 (en) 2007-01-17
MXPA04002729A (es) 2005-06-17
CN1533117A (zh) 2004-09-29
RU2356089C2 (ru) 2009-05-20
DE602004004300T2 (de) 2007-06-06
US20040249950A1 (en) 2004-12-09
NO20041265L (no) 2004-09-27
BRPI0400761A (pt) 2005-05-24
AU2004200731B2 (en) 2009-06-11
DE602004004300D1 (de) 2007-03-08
MY141149A (en) 2010-03-15
CO5560097A1 (es) 2005-09-30
SG115639A1 (en) 2005-10-28

Similar Documents

Publication Publication Date Title
TW200421793A (en) Transmitting and receiving messages through a customizable communication channel and programming model
O'Hara Toward a commodity enterprise middleware: Can AMQP enable a new era in messaging middleware? A look inside standards-based messaging with AMQP
Menge Enterprise service bus
US9311171B1 (en) Execution of end-to-end-processes across applications
Hohpe et al. Enterprise integration patterns: Designing, building, and deploying messaging solutions
Schmidt et al. The enterprise service bus: making service-oriented architecture real
US20050080873A1 (en) Method and apparatus for selecting a service binding protocol in a service-oriented architecture
CN103098433A (zh) 用于xmpp协议的servlet api和方法
TW200307419A (en) Configuration switching: dynamically changing between network communication architectures
WO1999026153A2 (en) Method for establishing a communication connection between two or more users via a network of interconnected computers
Bahree et al. Pro WCF: practical Microsoft SOA implementation
CN101202642A (zh) 在多播消息传送环境中订阅应用消息的方法和系统
CN101878469A (zh) 使用公共消息收发接口集成面向服务的体系结构应用程序
Pathak Pro WCF 4: practical Microsoft SOA implementation
US7792904B2 (en) Sharing material in a master-slave configuration using an instant messaging infrastructure
Mockford Web services architecture
Garces-Erice Building an enterprise service bus for real-time SOA: A messaging middleware stack
US7165118B2 (en) Layered message processing model
US8224975B1 (en) Web service initiation protocol for multimedia and voice communication over internet protocol
JP2005501307A (ja) 仮想プロセッサとしてのソフトウェアコンポーネント
Indrasiri et al. Inter-service communication
Minerva et al. Service Control Paradigms and Network Architectures
Satapathi et al. Build a Web API to Send Messages to Azure Service Bus
Gutierrez et al. Messaging
Spinella Event Streaming Open Network

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees