TWI337485B - 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
TWI337485B
TWI337485B TW093105451A TW93105451A TWI337485B TW I337485 B TWI337485 B TW I337485B TW 093105451 A TW093105451 A TW 093105451A TW 93105451 A TW93105451 A TW 93105451A TW I337485 B TWI337485 B TW I337485B
Authority
TW
Taiwan
Prior art keywords
message
service
layer
channel
architecture
Prior art date
Application number
TW093105451A
Other languages
English (en)
Other versions
TW200421793A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

1337485
【發明所屬之技術領域】 本發明係關於傳訊架構,更明確而言’本發明係關於 摘錄一傳訊架構内之處理層的方法、系統及電腦程式產 品,以在無需重新執行現行功能的情況了進行變更或增強。 【先前技術】 隨著現今許多功能強大的電腦網路所提供電腦間的 高度連結性’分散式處理對各種應用而言已變的更具吸引 力。然而,多數用於發展分散式應用的現代架構更能提供 有效及新興通訊技術間的選擇彈性。例如’用於緊密結合 的程式模組、訊息交換語意及訊息傳送。因此’任一的選 擇通常會支配其他者。 第1 A圖係說明習知一以分散式元件物件模組(DCOM) 為主而緊密結合之傳訊架構100A的範例。DCOM係元件 物件模組(COM)的延伸,其可讓元件於一電腦網路内及橫 越電腦網路邊界進行通訊’而COM則被限定在一單一機 器内相互通訊。研發者需使用DCOM接受DCOM程式模組 130A、遠端程序呼叫(RPC)訊息交換語意12〇a以及對應之 RPC網路連接110A以成為套裝作業環境(bundle)。 第1B圊係說明習知另一緊密結合之傳訊架構ι〇〇Β 的範例。與第丨A圖所示之DC〇M架構類似的是,此其他 且130B、其他訊息交換 110B。應注意的是其他 的傳訊架構100B包括其他程式模組 语意120B以及其他電腦網路連纟士 1 5 1337485 程式模組130B、其他訊息交換語意120B及其他電腦網路 連結110B的互鎖(interi〇cking)部分121B與DCOM程式模 組130A、RPC訊息交換語意i2〇A及rpc電腦網路連結 110A的互鎖部分121A並不相同。互鎖部分121A及121B 間的差異說明了習知技術在發展分散式應用的現存及新興 選擇變化上彈性的缺乏。在具備經選擇之DCOM或其他技 術以及其對應的架構下,發展當前應用時將不致犧牲效 益。然而,該等技術變更或增強通常需重頭做起。 因此’解耦程式模組、訊息交換語意以及訊息傳送代 表習知的進展。研發者可由該架構内一層處的特徵選出, 而無需擔心選到其他層的無關事件。此外,研發者可由一 程式模組移至另一程式模組而不需學習新的架構。因為解 麵架構中的變更與增強可讓當前發展效益得以維持,故解 耦該等層將可增強再利用性並促進革新。 【發明内容】 本發明係關於用以摘錄一傳訊架構内之處理層的方 法、系統及電腦程式產品,以變更或增強該架構同時雉 持原有的功能。在符合本發明之一例示性實施例中(將詳述 於下文),該架構包括三個主要層:一訊息層、—通道層以 及一服務層。此等層之每一者可摘錄功能以使特定執行的 細節可大致隱藏而不為其他層所見。 於一例示性實施例中,係於一訊息層内摘錄訊息傳送 執行’以讓該架構内的其他層可以更適合、更不受訊息傳 送支配的方式與訊息進行互動。訊息傳送的範例包括具 導管(named pipes)、傳輸控制協定(tcp)、超文字傳輸協 (HTTP)、簡單信件傳輸協定(SMTP)等。在訊息層上的通 層可摘錄訊息交換執行,以讓該架構内的其他層可以更 適合、更不受一特定訊息交換執行之訊息交換語意支配 方式發送並接收訊息。訊息交換執行的範例包括資料 包、對話、單向獨白、隊列及類似者。一位於該通道層 訊息層上之服務層可摘錄該可將訊息交換執行結合至使 該架構之使用者編碼執行(例如應用程式)之結合執行。 服務層(已至少部分描述)係一利用該傳訊架構之程式 組。 各摘錄層可與數個經摘錄執行之程式模組相對應 訊息層摘錄可摘錄數個可提供一原子式發送/接收訊, 錄之埠。對各經摘錄之執行而言,該架構可包括一代; 於該架構内執行之摘錄的特定狀況.例如,一通道摘名 狀況可結合至一服務狀況或使用者編碼執行以處理該5 息。當訊息流經該等狀況及服務代理者時它們會被4 並作進-步處自。該服務層摘錄可摘錄—管理使用者$ 狀況或服務使用期限的服務儲存執行。 本發明之其他特徵及優點將於下文中詳述,且部^ 參照發明詳述或於實施本發明後更得以彰帛。本發明: 徵及優點在附加之申請專利範圍所界定之方法及妗入1 領會。本發明之此等或其他特徵在參照申請專利範圍』 述說明後將更為清楚,並可於實施本發明後習得。 名 定 道 為 的 封 及 用 該 模 該 摘 可 之 訊 截 碼 在 特 更 下 1337485 【實施方式】 本發明 法、系統及·ΐ 可進行並同Ε 或多個特殊 電腦,如下3 第2 [ 之—高層代: 例示性執行。 視為一組經d 系統)支援分 包括一訊息) 如下文 細節,以使! 等程式模組 該架構内之 件被錯誤摘彳 式棋組而不 變更與增強' 可提昇再利, 底層、 輸《該訊息, 輸時,其等 係關於用以摘錄一傳訊架搆内之處理層的方 I;腦程式產品,以使該架構隨後的變更或増強 寺維持原有的功能。本發明之實施例可包含一 目的及/或一或多個包括不同電腦硬體之通用 (所將討論者。 3係說明依據本發明之—例示性傳訊架搆2 〇 〇 丈9下文配合第5囫將詳細說明一傳訊架構之 該架構200可藉由一分層結構(例如該架構可 作序之副系統,其中各副系統取決於先前的副 散式程式。例如,於傳訊架搆2〇〇中.該主層 夺21〇、一通道層24〇及一服務層270。 將詳細說明者,此等層之各者可摘錄某些執行 i似事件能以普通方式對待。該等摘錄解釋: '訊息交換語m訊息傳送以使研發者可由 -層的特色中選出,無需擔心其他層的無關事 条。因此,研發者可由—程式模組移至另一程 需學%新的架構。此摘錄可因為解耦架構中的 可讓當前發展效益得以維持.纟解柄該等潛將 性並促進革新》 訊息層2 1 0可提供端點對端點傳遞或訊息傳 層210可支援傳輸的延展性,以在執行新的傳 可為該架構内的其他層所利用„例如,訊息層 1337485 2i〇可摘錄傳輸協定的執行,例如具名導管(named P!Pes)、傳輸控制協定(Tcp)、超文字傳輸協定(HTTp)、簡 單信件傳輪協定(SMTP)等。因此簡單而言,訊息層21〇可 對該架構内的其他層提供原子式(at〇mistic)訊息發送/接 收摘錄,以讓其他層可處理訊息,甚而有些不受特定用於 發送或接收訊息之傳輸協定所控制。 訊息層2 1 0在離開及抵達端點時可作訊息的延伸截 取。該延伸截取機構可用於執行如路由(routing)、過液、 策略管理及警戒等處理《於訊息層210之端點的傳輪及有 效處理可藉由程式化或由配置而建立。 通道層240可於訊息層210所提供之傳輸摘錄上提供 訊息摘錄。通道係代表該等端點及物件模組(其可摘錄所執 行之處理)間所執行的處理。共同通道的例示包括用於單向 無關傳訊的資料封包通道、用於雙向相關傳訊的對話通 道、用於公佈/訂閱或單向廣播傳訊的單向獨白通道以及用 於單向隊列傳訊的隊列通道。應用程式或使用者編碼藉由 一端點建立的通道情況(例如内存(in-mem〇ry)通道物件)及 於該等狀況下發送訊息的方式使用該等通道。當一訊息抵 達其他端點時,應用程式或使用者編碼會辨識該通道發送 端上所建立的通道並建立一通道狀況以參與呼叫。 服務層270提供通道層240及訊息層210上的程式化 模組。應用程式設計師通常會使用服務層的傳訊架構 200。服務層程式化模組可藉訊息發送機構而彼此區別,訊 息如何發送(例如結構對分類方法呼叫)以及分類系統等。 9 1337485 服務層270可提供一通用機構以結合該程式化模 前述通道狀況。該服務層27 0也提供該等程式化 提供予開發者之特徵,諸如狀態及使用期限控制 理、呼叫載取及同步訊息發送。可開發簡單及複 化模組以用於服務層。為利於適當結合及互通, 組通常會於訊息層傳输類型及該架構本身内所定 的類型間定義一固定的關係,特別是對應於應用 服務層270内的使用者編碼物件之類型。 第3圖係表示/符合本發明之傳訊架搆300 實施例的方塊圖。〆般而言’該傳訊架構3 0 0係 於經由所支援之程式模組以結合通道狀況(例如 摘錄物件)與編碼執行狀況模組所組成。與前述第 囫之描述類似的是其包括一訊息層310、一通道 及一服務層370。第3圖之描述可畫1丨分為兩個通 傳訊架構本身以及玎由該傳訊架構所支援之程式 下來的討論將由描述傳訊架構開始,且接著會進 性程式模組的討論。雖然涉及第3圖中所說明的 單數的,應了解的是各元件的複數態也可呈現於 構内。 位於各層内之三個管理者均執行許多架構 供的功能:訊息層31〇中的埠3丨2、通道層34〇 管理者342以及服務層中的服務管理者3 82。因 圖之描述最初集中在此三個管理者,接著會對此 者及其他所說明元件作更詳細的討論。三個管理 組狀況予 模組選擇 、服務管 雜的程式 程式化模 義及控制 程式或該 之例示性 由數個用 内存通道 2及第3 層3 4 0以 用範疇: 模组。接 行一例示 元件可為 一單一架 所提 中的通道 此,第3 三個管理 者的第一 10 1337485 者’即埠3 1 2,係於傳輸執行及剩餘的架構間扮演多路復 用代管者(multiplexing broker)的角色。簡單而言’該谭312 及訊息層3 1 0可提供一原子化訊息發送/接收摘錄予該傳 訊架構300。如先前所提及,此摘錄可幫助其他層緩和判 斷與各個傳輸執行有關之細節的負擔,確切而言,是缓和 與一訊息摘錄互動的其他層有關之細節的負擔,並留下該 等訊息如何傳輸至訊息層3 1 0及埠3 1 2的細節。 該三個管理者的第二者,即通道層340中的通道管理 者342,係招集並使之與該等訊息有關,可能會儲存及/或 指揮她們並將一高層通道摘錄交付予該服務層37〇,且在 特殊時刻交付予服務管理者382及服務結合者372〇此處 與訊息層3 1 〇所提供之訊息摘錄類似的是,該通道層3 4 〇 及通道管理者3 42所提供之通道摘錄可幫助其他層緩和需 判斷與各個訊息交換語意有關之細節。其他層可簡單地與 一通道摘錄進行互動,並留下該等訊息如何與通道層34〇 交換(如資料封包、對話框等)。 該三個管理者的第三者,即服務管理者382,係負責 連接服務狀況376(依據該等程式模組之一者執行的分類 狀況)至該通道管理者342所形成的通道狀況344,該通道 管理者可提供一通道摘錄之狀況至對應的服務狀況。該服 務管理者3 82可經由一服務結合者372(其了解特定通道及 程式模組之細節)將服務狀況376連接至通道狀況344。如 下文所將細述者,該服務結合者372係與服務儲存站378 合作以建立並登記該等狀況。 1337485 該服務管理者382及服務結合者372會利用一 理者374將服務狀況376結合至通道狀況344,下 作進一步細述》—旦建立起該等狀況,該服務儲存 會摘錄其耐久性(例如使用期限等)以及來自其餘架 定位置。流進服務狀況之訊息及呼叫可由服務延伸 服務管理者382登記)所提供的蝙碼作截取《服務狀 由該服務狀況上之一介面與該架構進行通訊,稱為 點’其可執行常由一狀況所使用的功能。一狀況之 點當該服務儲存站建立該狀況時會被初始化(或設置 該服務管理者382為一組可用於建立數個通 取該架構内其他元件之介面,且係該架構構成該架 體。當一服務管理者建立時,它會建立服務結合者 儲存站以及於一蟫有效的服務類型,並將之連接至 (若一埠可處理多項服務的要求,則僅有單一服務營 聯繫該痒)。雖然習知架構可具有若干服務管理者形 立狀況並管理架構協調’但服務管理者382仍可藉 工作委任予其他適合特定任務之模組來直接地執行 因此’服務管理者382將與架構3〇〇的其他元件同 高度的延伸性’反之習知架構中的服務管理者傾向 況並直接管理架構協調’並因為現存的功能可能需 執行以支援新的處理或功能而讓革新變的困難。 該服務結合者3 7 2係負責管理通道狀況3 4 4、 況3 76以及服務儲存站3 78間的關係。因此,服務 372 —般具有對各有效通道及程式模組的特定了解 服務代 文將會 站 378 構的指 392(以 況係經 —服務 該服務 )° 道並存 構的實 、服務 該架構 理者會 式以建 由將此 任務。 樣支援 建立狀 要重新 服務狀 結合者 。通道 12 1337485 執行有特性的事件及介面(利用服務結合者372以將訊息 移至及移出該通道層340)。 程式化模組可指定該等類型間的映射(mapping),其 中利用該服務結合者以將訊息應用至方法上並將方法呼叫 轉為訊息。由於各通道及程式模組並不同,服務結合者通 常支援各者。因此,對各支援之通道/程式模組對而言,處 理埠通常係與一或多個服務結合者有關β 一例示性之程式模組可於—網路服務描述語言 (WSDL)埠類型及該架構運轉時間内的管理類型間被描繪 出來。WSDL係一種可將電腦網路服務描繪成一組可交換 訊息之端點的x M L格式。它提供相當簡單的機構以明確 指出不受下方協定(簡單物件存取協定_S〇AP、HTTP GET/POST等)控制之請求的基本格式,或譯碼(多用途網際 郵件擴充協定一 MIME等)。摘錄操作及訊息係與特定電腦 網路協定與訊息格式相結合以定義一端點。因此,WSDL 服務係端點的集合。應可領會的是第3圖係說明本發明之 一例示性實施例,其中該架構包括受控編碼一資料類型(其 被映射至WSDL)。然而,本發明可於不同環境下實施,且 不應被限制於此等受控蝙碼/資料類型或WSDL埠類型。 如前文所述’服務結合者3 7 2於建立一埠的期間係以 服務管理者3 8 2進行登圮。服務結合者係與一組埠/服務類 型相連結。遍佈服務,结合者類型的獨特性係起因於該架構 運轉時^内的受控類髮’而該架構運轉時間係執行襲自一 服務結合者所特有的介面類槊之服務。對該例示性架構 13 而p ,可開啟一埠的相同 382及所有於料處有致之服務=可開啟該服務 務結合者其本身會連结至對合者”2’故開啟 主對應之通道營者。 當使用者編碼發出一呼叫 _ ^ ^ 呼4予服務管理者382 通道時,該服務管理者 並坦祝々地 可里複該組經登記之服務 並镁供各機會以處理指定 ^ 4•接著,該服務管理 用該可辨識特定類型以建 思立服務狀況376之服 考’將之登記至服務儲存 1于《 j z 8,並以一服務代理 服務狀況至一通道狀況3 同樣的,當一訊息抿 與一現存服務狀況聯繫之通道時,若它們識別出所 埠/服務類型’料詢問與㈣道結合之該組服務結 識別該㈣之該服務結合者372會用於建立一服務 藉一服務代理者以將之與該通道結合,並接著使所 息流經該等狀況及代理者傳達至使用者編碼。 為能應付新狀況的要求,—服務結合者會建立 狀況376,並將之登記於一服務儲存站378,建立一 理者374,並將一通道狀況344連接至該服務代理 以及將該服務代理者374連接至服務狀況376中之 者編碼,並引發該通道中之第一訊息流。之後,由 狀況流至該服務代理者3 74之訊息,其會被轉譯為 疊並派發至對應的服務狀况。同樣地,由該服務狀 流至服務代理者3 74之呼叫,其會被轉譯為訊息並 通道狀況發送至其目的地。 雖然傳統架構可具有某些形式之服務結合者, 管理者 時,服 以建立 結合者 者會利 務結合 者結合 達—未 收到的 合者。 狀况, 收到訊 一服務 服務代 者374 該使用 該通道 呼叫堆 況3 76 經由該 但依據 14 1337485 本發明 同的是 道層以 制。傳 密結合 要足夠 當一服 服務結 建立該 況之位 者會結 1 數目, 者(即·ϊ 參與控 能力。 Ϊ 2 7 8亦 期限。 它會通 中斯實 該服務 當的代 之架構可支援多服務結合者°此外,與習知架構不 ,該服務結合者聚集由整體觀之並不受下方之該通 及該服務儲存站及該服務層370内之程式模組所控 統架構傾向執行傳輸、導向、结合、儲存以及一緊 封包中的狀況功能,其於每次增強或變更時通常需 的改變以滿足發展中的技術及應用程式的需求。 ρ前文所提及,該服務儲存站378係管理該等狀況。 務結合者攔載一要求以建立一新的服務狀況時,該 合者會建立一狀況並將之登記於服務儲存站中。於 狀況後,該服務結合者會使用該儲存站以選定該狀 置(初始化一般使用之通訊介面),接著該服務結合 合該通道與該位置。 亥服務儲存站378會持續追蹤與一狀況聯繫之通道 並在沒有通道連接時作釋放。此方式給了服務結合 Τ查看通道關閉訊息/事件及釋放代理者狀況者)可 制邏輯狀況(於該架構外所看見之狀況)使用期限的 食然結合者控制邏輯狀況的使用期,但該服務儲存坫 可管理實際狀況(記憶體中的實際物件狀況)的使用 當—服務儲存站希望由記憶體消除一實際狀況時, 知相關的通道,使其可由其相關之服務代理者3 7 4 際狀況。接著,次回一呼叫/訊息會應用於該狀況, 儲存站會負責建立一新的狀況並重新將之連接至適 理者。 15 1337485 服務儲存站3 7 8可支援不同程度態樣的狀況。/服務 儲存站可維持記憶體中的所有狀況且不會用到中斷連結/ 再連結機構。或者,一服務儲存站可維持記憶體中的所有 狀況並支援於中斷連結/再連結以使該等狀況的無國界狀 態得以進行》服務儲存站可依據機器負載、允許事件(例如 連結至資料庫)及/或使用模式來支援_斷連結/再連結,並 結合中斷連結/再連結與狀況序列化(d e s e r i a 1 i z a t i ο η) /反序 列化(serialization)並儲存經處理資料庫的狀況以支援持 久、可靠的狀況。由該服務儲存站所利用的資料庫可與一 由持久性通道及該埠之前的路由器所使用的儲存站相結合 以執行由一機器移至另一機器的移動。服務儲存站378在 垃圾收集上、匯集(pooling)、管理長期連結等可能相當有 用。 傳統架構上的服務儲存站傾向於直接連結實體及 輯狀況的使用期限。兩者間的 的(hard-coded)。因此,替代者 域的情況下執行》此外,需使 間能充分連結,否則專業用戶 架構的發展將不切實際。 如則文所述,一服務代理 類型的狀況,其可將通道狀況 狀況376之特殊頰型。對所收 會由播報一有用訊息之通道搁 的哞叫堆巷,並將之應用於狀 關係一般於該架構内是固定 難以在不影響該系統其他區 服務儲存站及其他架構部分 的變更以作為延伸點或作為 者3 74係一服務結合者特定 344之特殊類型連接至服務 到的呼叫而言,服務代理者 載事件,由該訊息建立適當 況令。對一撥出去的呼叫而 16 1337485 言,該服務代理者374會攔戴呼叫並將之轉譯為訊息,若 需要,可經由通道狀況344將之發送。取決於決定,服務 代理者374會留意分類通道(如來自服務狀況)以及一經管 理類型的代理者(例如來自通道狀況)。 除了橋架功能,某些行為也可於服務代理者内或經由 使用服務代理者來實施。例如,一或多個服務代理者可並 行管理,限制於一給定點及時傳遞予一單一服務狀況的呼 叫數目。如前文有關服務儲存站3 7 8的討論,該服務代理 者可執行中斷連結/再連結以使一服務儲存站可由邏輯狀 況使用期限解耦實際狀況使用期限。應可領會的是,服務 代理者374允許服務結合者372及服務儲存站378以更具 延伸性的方式執行。 除了該等埠 312、通道管理者 342以及服務管理者 382,其他的管理者也可存在於架構300内。此等管理者可 於該架構之相同層或所有層執行,包括訊息過濾及路由、 策略交換及應用、警戒、紀錄以及交易服務。各提供延伸 性的管理者可定義出一延伸介面,以讓其他管理者可執行 延伸性。例如,於訊息層3 1 0之該埠3 1 2可支援一埠延伸, 以讓該等管理者將管理器應用於流經該層的管線訊息。同 樣地,個別的通道管理者所執行的延伸可執行該等延伸, 以讓該服務管理者般的模組可鉤連至用於建立來自該通道 的通道狀況之訊息β 服務延伸3 9 2係一由該服務管理者3 8 2所定義之介 面,其可讓其他管理者鉤連至該架構所支援之該呼叫路徑 17 1337485
延伸點。當首次建立該等延伸時,該服務管理者會傳遞所 反映該服務類型之類型資訊,其可經由該服務延伸以了解 有興趣之管理者。執行服務延伸之管理者结合此反映資料 以及其所擁有的配置,以建立它們所欲成為流進及流出該 服務狀況之特殊訊息/呼叫。藉由流經該服務延伸之事件, 先前及之後的訊息通知會與管理者進行通訊。該服務延伸 機構的延伸程度並未見於習知架構中。只要該架構配置支 援處理’除了與該處理有關的管理者需要作修飾以將處理 弓丨至該架構外’通常並不需儲存或其他元件。
一服務狀況3 7 6係—經管理之編碼服務類型介面,其 可執行與一淳/服務類型有關的介面,此也許是經由一包裝 者(具體指定為一程式模組之一部份)為之。一般而言,且 如下文所將進一步討論者,一種程式棋組的方法與一種服 務類型的界面和方法所聯繫的方法並不相同。對第3圖所 示之例示性實施例而言,所述之服務類型相對於有效程式 模組’可進行W S D L、對話、操作及訊息間的直接映射, 以及架構運轉時間所管理之編碼介面、方法及參數類型。 該架構亦可利用不同的程式模組(可能看起來相當的不同) 以支援建立的服務類型。除有關的服務代理者所使用的介 面外,服務類型可執行其他介面以鉤連至其他態樣的架構 處理。例如’可執行—服務類型以鉤連至某些服務儲存站 或參與某些服務延伸所執行的處理。 如前文所述,一服務狀況376通常會被決定出(包含 —有關於其所特有的服務站)。服務狀況係藉執行一適當介 18 1337485 面或由 出。當 務儲存 服務站 會適當 狀況之 去取得 該該服 該服務 資訊。 % 援任何 之受控 控之編 性a此 執行之 等可執 WSDL 以來自 可包括 模組等 等及其 介面的 一執行該適當介面之基本分類所繼承的方式決定 一服務結合者372建立一服務狀況時,它會使用服 站378以決定該狀況。該服務儲存站藉適當的將該 认^於對應之介面以依序決定出該狀況。該服務站 地提供存取與該狀況架構狀態,包括收集連結至該 該等活動通道般的事件。該狀況可利用此狀態資訊 、檢視並修飾其通道。該服務储存站在其增加及由 務狀况之活動通道移除通道(如同其結合該通道至 狀兄及由該服務狀況釋放該通道)時亦使用此狀態 ί第3圖所示之例示性實施例而言,該架構係用於支 可由WSDL埠類型直接映射至用於該架構運轉時間 編碼類型之程式模組。一例示性程式模組係使用受 碼參數以於WSDL類型及受控編碼類型間建立關聯 類型之程式模組係以可描述該受控參數分類及其所 埠類型的WSDL對比間之關係的參數進行修飾。該 行程式模組之工具可形成來自受控編碼分類之 及以適當參數修飾之介面,或形成受控编碼分類及 WSDL之該適當參數所修飾之介面。其他程式模組 遠端物件模組、用於描述該企業流程之邏輯序列的 。因此該術語「服務j應作更廣的解釋,以涵蓋此 to的程式模組。 種更傳統的遠端物件模組,例如DCOM,可視為兩 組合’ 一者係執行於該物件客戶端所使用之代理 19 1337485 者,另一者則用於該物件本身。此兩種介面之應用方法通 常在此種程式模組上完全相同,然、而每—者仍可能會包含 適於一端或呼叫的另一端的架構方法。 相反地,WSDL呼叫係雙向的,它的操作為個別的訊 息或請求,回應訊息對(可於任—方向流動以作為轉換的一 部分為㊣支援此等㈣,例示性的程式模组包括四個介 面、兩個服務執行介面以及兩個通道控制介面。各呼叫端 有一具有編碼之服務執行介面,其可回應一訊息會一要求 而運作H有代理方法(其將會發送對外訊息或請求及 事件)之通道控制介面可被鉤連以對所收到訊息或請求進 行處理。 數個屬性可對刪“員型及所建立用以執行編瑪的 狀況特性進行受控類型之映射細節的調整。該等屬性的例 示包括可決定狀況使用期限的屬性,諸如是否可對各訊息/ 請求建立一新的邏輯狀況…戈若一邏輯狀況只要保持連: 即可維持等情況。料屬性可明確指出_操作是否為一訊 息或-請求/回應訊息對,若適當,亦可包括屬性或編碼以 明確指出該方法是否為同步或非同步。其他屬性可控制以 受控編瑪類型呈現之方法與參數名稱以及wsdl操作、訊 息及部分名稱間的關係。該等屬性可用以對一單一部份包 裝該方法呼叫的引數(argument)所組成的訊息、或對一由 每引數。P刀所組成之多谭訊息的映射進行控制。最後厲 性可控制該程式^且對文標(document)/常值(literal)或遠 端程序呼H (RPC)/蝙碼訊息。其亦可能執行可詢問程式模 20 1337485 組之編碼以沿該服務狀況下方的通道狀況作傳送,但此對 WSDL並無影響。 本發明也可就包含功能步驟及/或非功能性動作的方 法討論。下文將描述可實施本發明之動作及步騨。> 般而 言’功能性步驟會按照完成的結果描述本發明,反之非功 能性動作會描述較多用於完成一特定結果的特定動作。雖 然功能性步驟及非功能性動作可以一特殊順序作描述或要 求’但本發明並非限於任何特定順序或該等動作及/或步雜 的結合。
第4A-4B圊係表示依據本發明用於摘錄一傳訊架構 内之該等處理層的方法之例示性動作及步驟。於一訊息層 内用於摘錄一或多個訊息傳輸執行的步驟(4 20)可包括定 義一可摘錄該訊息傳輸執行之訊息層介面的動作(4 1 〇)。訊 息傳輸之例示包括TCP 41 1、HTTP 41 3、SMTP 41 5以及其 他傳輸4 1 7。埠4 1 2係一傳輸摘錄的例示,其可對該通道 層提供一自動訊息發送/接收摘錄D 一用於摘錄一通道層内一或多個訊息交換執行的步 驟(44 0)包括一定義一可摘錄—或多個訊息交換執行之通 道層介面的動作(430)。訊息交換執行之例示包括資料封包 431、對話433、單向獨白43 5、對列437以及其他交換執 行439,而一訊息交換狀況43〇或通道狀況係一訊息交換 摘錄之例示。 一用於摘錄一服務層内—或多個結合執行之步驟 (490)可包括一定義一可摘錄一或多個結合執行(結合一或 21 1337485 多個訊身 t 〜又換執行與使用者編碼或訊息處理執行)服務層 介面之動作(450)。依據程式模組45 1所寫的使用者编碼係 作為訊〜處理狀況452。程式模組A、程式模組B、程式 模组 C 堂 I:卜 .· 寻白為程式模組45 1的範例,連同對應的使用者編 碼A1、使用者編碼八2等,使用者編碼B1、使用者編碼 B2等,使用者編碼CM、使用者編碼C2等以運作為訊息處 兄452。一用於摘錄一或多個結合執行之步驟(々go)更 可包括:將訊息層類型映射(46〇)至服務層類型(例如wSDL 至控制編碼類型);將訊息處理狀況結合(47〇)至訊息交換 狀況(如服務狀況至通道狀況);以及管理(48〇)訊息處理狀 況(如經由一服務儲存站)之實際使用期限。 本發明範圍内之實施例也包括用於執行或具有電腦 可執行指令或其上儲存有資料結構的電腦可讀取媒體。上 數電腦可讀取媒體可為任何可為一通用或特殊用途電腦所 存取之有效媒體。藉由例示而非限制的方式,上述電腦可 讀取媒體至少包含隨機存取記憶遒(RAM)、唯讀記憶體 (ROM)、電子可抹除程式化唯讀記憶體(e EPROM)、唯讀塑 光碟(CD-ROM)或其他光學磁碟儲存器、磁性磁碟儲存器或 其他磁性儲存裝置’或任何其他可用於負載或儲存所欲程 式編碼之媒體裝置(其係為電腦可執行指令或資料結構形 式且可由一通用或特定用途之電腦所存取)。當資訊被傳遞 或經由一電腦網路或其他通訊連接(無論以硬接線、無線或 硬接線與無線之結合的方式)至一電腦時,該電腦會適當地 將連接視為一電腦可讀取媒體》因此,任何上述的連接都 22 1337485 可適當地稱為電腦可讀取媒體,前述結合也應包含在電腦 可讀取媒體的範圍内。電腦可執行指令至少包含,例如, 數個指令即可使一通用電腦、特殊用途之電腦或特殊用途 的裝置之資料以執行某一功能或功能群。 第5圖及下文的討論係用於提供一簡短適當並可執 行本發明之計算環境的概述。雖然未要求,但本發明將以 電腦可執行指令之一般文字作描述,例如可於電腦網路環 境中以電腦執行之程式模組。一般而言,程式模組包括常 式、程式、物件、元件、資料結構等可執行特別任務或執 行特殊摘錄資料類型者。與資料結構有關之電腦可執行指 令及程式模組,該程式模組係代表用於執行此處所述方法 之步驟的程式編碼裝置的範例。上述可執行指令的特殊序 列或相關之資料結構係代表用於執行以上述步驟所述之功 能的對應動作。 熟習此項技術人士應可領會本發明可以任何類型之 電腦系統配置而實施於電腦網路計算環境中,包括個人電 腦、攜帶式電腦、多處理器系統、微電腦或可程式之消費 性電子、網路電腦、迷你電腦、大型電腦以及類似者。本 發明也包括可實施於所描述能藉區域及遠端處理裝置(經 由一通訊電腦網路)連結(藉由硬接線、無線或其結合)所執 行之任務的電腦環境中。於一分散式計算環境中,程式模 組皆可位於區域及遠端記憶儲存裝置中。 參照第5圖,一用於執行本發明之例示性系統包括一 習知電腦520形式的通用計算裝置,包括一處理單元52卜 23 1337485 一系統記憶體522及一可遠垃τ门β 了連接不同系統元件(包括該系統 記憶體522至處理單元521^盔从 )之系統里流排523。該系統匯 ,流排5 2 3可為任一種匯流排架檨 F永構,包括一記憶體匯流排或 記憶趙控制器、-周邊匯流排以及一使用任一種匯流排架 構之區域匯流排。該系統記憶體包括唯讀記憶趙⑽M)524 以及隨機存取記憶體(RAM)525。一 #丄* —基本輸入/輸出系統 (刪)526’包含該幫助資訊於該電腦52〇内之元件間傳遞 的基本常式(例如於開機期間)即可储存於r〇m 524中。 該電腦520也可包括—用w山 匕枯用以由—磁性硬碟539讀取或 作寫入之磁性硬碟裝置527、_用以由_可抽換磁碟機529 讀取或作寫入之磁碟裝S 528,以及—用於由可抽換光碟 機531(例如CD-ROM或其他光學媒體)讀取或作寫入的光 碟裝置530»該磁性硬碟裝置527、磁碟裝置528以及光碟 裝置530係分別藉一硬碟裝置介面523 '一磁碟裝置介面 533以及一光碟裝置介面534連接至該系統匯流排”^該 裝置及其他相關之電腦可讀取媒體可提供該等電腦可執行 指令、資料結構、程式模組及其他用於電腦52〇之資料作 非揮發式的儲存。雖然此處所描述例示性的環境係利用一 磁性硬碟539、一可抽取磁碟529以及一可抽取光碟531, 但其他類型用於儲存資料的電腦可讀取媒體亦可使用包 括磁性卡夾 '快閃記憶卡、數位多功能磁碟、勃努利盒 (Bernoulli cartridge)、隨機存取記憶體、唯讀記憶體及類 似者。 程式編碼裝置包括一或多個可儲存於硬碟539、磁碟 24 1337485 529、光碟531、唯讀記憶體524或隨機存取記憶體525上 之程式模組,包括一操作系統535、一或多個應用程式 536、其他程式模組537以及程式資料538。使用者可經由 鍵盤540、指示裝置542或其他輸入裝置(未示出,例如麥 克風、搖桿、遊戲墊、衛星碟或類似者)輸入指令及資料至 電腦520。此等及其他輸入裝置通常係經由一系列埠介面 546(連接至系統匯流排523)連接至該處理單元521。或 者’該輸入裝置可藉其他介面作連接,諸如一平行埠、一 遊戲埠或一通用序列匯流排(USB)。螢幕47或其他顯示裝 置亦可經由一介面連接(例如視頻轉接器5 4 8)至系統匯流 排5 23。除了螢幕,一般也包括其他周邊輸出裝置(未示出) 之個人電腦,例如揚聲器及印表機》 電腦520可操作於一網路電腦環境中以利用邏輯連 結至一或多個遠端電腦,例如遠端電腦54 9a及54 9b。遠 端電腦549a及54 9b各可為另一個人電腦、一伺服器、一 路由器、一電腦網路、一對等裝置或其他共同網路節點, 且一般包括許多或所有前述予該電腦5 20有關的元件,雖 然第5圖中僅描述記億體儲存裝置550a及550b及其相關 的應用程式536a及536b。第5圖所描述之該邏輯連接包 括—區域網路(LAN)551及一廣域網路(WAN)5 52,其等係 以例示而非限制的方式說明於此。上述電腦網路環境相當 常見於公司或企業電腦網路、網際網路中。 當使用於區域網路環境時,電腦5 2 0係經由一電腦網 路介面或轉接器553連接至該區域電腦網路551»當使用 25 1337485 於廣域網路環境時,電腦520可包括一數據機554、一 限鏈結或其他用以與該廣域網路 5 5 2 (例如網際網路)建 通訊的裝置。該數據機554(可為内接式或外接式)係經 序列埠介面5 4 6連接至系統匯流排5 2 3。於一電腦網路 境中,所描述與該電腦520有關之程式模組或其部分可 存於遠端記憶體儲存裝置中。應可領會的是所示之該電 連接係例示性的,且其他與廣域網路552建立通訊的裝 亦可使用。 本發明可於不悖離其精神與實質特徵的情況下以 他型態實施。所述之該等實施例均應視為示範性而非 制。因此,本發明範圍應以附加之申請專利範圍界定, 非前述說明。落於本案申請專利範圍之等效性及範圍的 有變化均落於其範圍内。 【圖式簡單說明】 為能描述本發明前述及其他優點與特徵,本發明簡 描述如上之特定說明在參照其特定實施例及附加圖示後 更易領會。應了解的是此等圖示僅描繪本發明之一般實 例,故不應視為限制,本發明將藉由附加圖示以更具體 更詳細的方式作描述並解釋,其中: 第1 A-1 B圖係說明緊密結合傳訊架構之習知例示; 第2圖係說明依據本發明之一傳訊架構之一高層 表; 第 3圖係依據本發明之一傳訊架構例示實施例之 無 立 由 環 儲 腦 置 其 限 而 所 略 將 施 且 代 方 26 1337485 塊圖, 第4 A-4B圖係依據本發明之一傳訊架構内摘錄處理 層之例示性方法及步驟;以及 第 5圖係說明一可提供一適於本發明操作環境之例 示_性系統。 【元件代表符號簡單說明】 1 00A 傳 訊 架 構 100B 傳 訊 架 構 11 0A RPC 網 路 連 接 1 1 0B 其 他 網 路 連 結 120A RPC 訊 息 語 意 1 20B 其 他 訊 息 語 意 121 A 互 鎖 部 分 121 B 互 鎖 部 分 200 傳 訊 架 構 2 10 m 息 層 240 通 道 層 270 服 務 層 300 傳 訊 架 構 310 訊 息 層 3 12 埠 340 通 道 層 342 通 道 管 理 者 344 通 道 狀 況 370 服 務 層 372 服 務 結 合 者 374 服 務 代 理 376 服 務 狀 況 378 服 務 儲 存 站 382 服 務 管 理 者 392 服 務 延 伸
27 其他管理者 傳輸控制協定 埠 超文字傳輸協定 簡單信件傳輸協定 其他協定 摘錄訊息傳輸 資料封包 訊息交換狀況 對話 單向獨白
隊列 其他 摘錄訊息交換 定義服務層介面 程式模組A 訊息處理狀況 使用者編碼A 1 將訊息層類型映射至服務層類型 結合處理狀況至交換狀況 管理訊息處理狀況之實際使用期限 摘錄結合 電腦
處理單元 系統記憶體 系統匯流排 唯讀記憶體 隨機存取記憶體 基本輸入輸出系統 磁性硬碟裝置 磁碟裝置 可抽換磁碟機 光碟裝置 光碟 硬碟裝置介面 28 Γ337485 533 磁 碟 裝 置 介 面 534 光 碟 機 介 面 535 操 作 系 統 536 應 用 程 式 536a 應 用 程 式 536b 應 用 程 式 537 其 他 程 式 模 組 538 程 式 資 料 539 磁 性 硬 碟 540 鍵 盤 542 滑 鼠 546 序 列 埠 介 面 547 螢 幕 548 視 訊 轉 接 器 549a 遠 端 電 腦 549b 遠 端 電 腦 550a 記 憶 體 儲 存 裝 置 550b 1己 憶 體 儲 存 裝 置 55 1 區 域 電 腦 網 路 552 廣 域 電 腦 網 路 553 電 腦 網 路 介 面 554 數 據 機 29

Claims (1)

1337485 :·: ; ' .. ·; :- , .... ,v . 丨鮮'_讀:專—:範圍: .. .1* « ,《·.,',.. , . · . * .丨 *_ ··、.:.· 、 ' * 1 1. 一種執行一可摘錄一架構内不同處理層之傳訊架構的 電腦程式產品,其中該架構可提供一訊息功能之基層,且 其中該等摘錄處理層係可延伸以於無需再執行其他摘錄處 理層尹所具有之傳訊功能之基層的情況下進行變更或增 強,該電腦程式產品至少包括一或多個載有程式模組形式 之電腦可執行指令的電腦可讀取媒體,該等程式模組於每 一處理層可互換,以使任何對應一處理層之程式模組可在 不需要使用對應不同處理層之某些程式模組的情況下使 用,該等程式模組至少包含: 一或多個訊息層模組,用於提供一或多個訊息之端點 對端點傳輸及執行支援一或多個訊息傳輸協定,該一或多 個訊息層模組可在不需要使用特定通道層模組及特定服務 層模組的情況下選擇用於通訊; 一或多個通道層模組,用以於該一或多個訊息層模組 上方提供訊息交換語意,該一或多個通道層模組可在不需 要使用特定訊息層模組及特定服務層模組的情況下選擇用 於通訊;以及 一或多個服務層模組,用以於該一或多個通道層模組 上方提供一或多個程式模組,並藉曝露該傳訊架構之一或 多個特徵以與該傳訊架構進行互動,該傳訊架構之一或多 個特徵可為經設計以使用該傳訊架構之軟體所存取,該一 或多個服務層模組可在不需要使用特定訊息層模組及特定 30 1337485 通道層模組的情況下選擇用於通訊。 2. 如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個訊息傳輸協定包含具名導管(named pipes)、傳輸 控制協定(TCP)、超文字傳輸協定(HTTP)以及簡單信 件傳輸協定(SMTP)之至少一者。 3. 如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個訊息層模組在一訊息離開或抵達一端點時允許訊息 攔截。 4. 如申請專利範圍第3項所述之電腦程式產品,其中該一 或多個訊息層模組可執行之處理包含路由、過濾、策略管 理、登錄、事務處理及警成之至少一者。 5. 如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個通道層模組可執行下列至少一者(i) 一用於單向無 關傳訊之資料封包通道、(ii) 一用於雙向相關傳訊之對話通 道、(iii) 一用於單向廣播傳訊之單向獨白通道,包括公佈/ 訂閱傳訊,以及(iv)—用於單向隊列傳訊之隊列通道。 6. 如申請專利範圍第1項所述之電腦程式產品,其中可於 該一或多個通道層模組上方提供一或多個程式模組之該一 31 1337485 或多個服務層模組係可於一或多個網路服務描述語言 (WSDL)埠類型及該傳訊架構内一或多個受控類型間執行 一直接映射。 7. 如申請專利範圍第1項所述之電腦程式產品,其令該一 或多個訊息層模組至少包括一可對該一或多個通道層模組 提供一原子式(atomistic)訊息發送/接收摘錄的瑋。 8. 如申請¥利範圍第1項所述之電腦程式產品,其中該一 或多個通道層模組至少包括一可召集及聯繫訊息並提交一 較高層之通道摘錄予該一或多個服務層模組之通道管理 者。 9. 如申請專利範圍第1項所述之電腦程式產品,其中該一 或多個服務層模組至少包括一服務管理者,該服務管理者 藉由將一或多個服務結合者與該傳訊架構内一或多個其他 管理者相關聯來協調該傳訊架構。 10. 如申請專利範圍第9項所述之電腦程式產品,其中該 服務管理者可藉指派一或多個任務予適於該一或多個任務 之該架構内之其他模組的方式支援延伸性。 11. 如申請專利範圍第9項所述之電腦程式產品,其中該 32 1337485 一或多個通道層模組至少包括一或多個通道狀況,且其中 該一或多個服務層模組至少包括一或多個服務結合者、一 或多個服務狀況及一或多個可結合該一或多個通道狀況至 該一或多個服務狀況之服務代理者。 1 2.如申請專利範圍第1 1項所述之電腦程式產品,其中該 一或多個服務狀況代表一或多個用於與該傳訊架構進行互 動之使用者編碼狀況,該一或多個通道狀況代表一或多個 用於處理一特定類型之一或多個訊息之一或多個通道的狀 況,其中該特定類型係被指定予或起源於該一或多個服務 狀況,且該一或多個服務結合者可管理該一或多個服務狀 況及該一或多個通道狀況如何經由該一或多個服務代理者 彼此聯繫及通訊。 1 3 ·如申請專利範圍第1 2項所述之電腦程式產品,其中該 一或多個服務層模組至少包含(i) 一可管理該一或多個服 務狀況之實際使用期限的服務儲存站,以及(i i) 一或多個可 截取一或多個由該一或多個服務狀況流入並流出之訊息的 服務延伸,其中該一或多個服務延伸可執行之處理至少包 括路由、過渡、策略管理及警戒之至少一者。 14. 一種於一至少包含數個可提供某種初始功能以處理一 或多個訊息之處理層之傳訊架構中摘錄該傳訊架構内之數 33 1337485 個處理層以進行該傳訊架構隨後的變更或增強同時維持該 某種初始功能的方法,該傳訊架構可支援每一個別處理層 内訊息傳輸執行、訊息交換執行及結合執行之任何數量組 合,該方法至少包含下列動作: 定義一訊息層介面,其可在不需要使用一特定通道層 介面及特定服務層介面的情況下,為該傳訊架構内一或多 個較高層摘錄一或多個訊息傳輸執行;
定義一通道層介面於該訊息層介面上方,其中該通道 層介面可在不需要使用一特定訊息層介面及特定服務層介 面的情況下,為該傳訊架構内一或多個較高層摘錄一或多 個訊息交換執行;以及
定義一服務層介面於該通道層介面上方,其中該服務 層介面可摘錄一或多個結合執行,其可在不需要使用一特 定訊息層介面及特定通道層介面的情況下,經由該通道層 介面結合該一或多個訊息交換執行至該傳訊架構上方所建 立之一或多個訊息處理執行之使用者編碼。 15.如申請專利範圍第14項所述之方法,其中該服務層介 面係至少部分描述一程式模組以利用該傳訊架構。 16.如申請專利範圍第15項所述之方法,其中該程式模組 可於一或多個網路服務描述語言(WSDL)埠類型及該傳訊 架構内一或多個受控類型間指定一映射。 34 1337485 17.如申請專利範圍第14項所述之方法,其中該訊息層介 面、通道層介面及服務層介面各與該用於一或多個訊息傳 輸執行、該一或多個訊息交換執行以及該一或多個結合執 行之數個程式模組相對應。
18.如申請專利範圍第14項所述之方法,其中該一或多個 訊息傳輸執行包括具名導管(named pipes)、傳輸控制協 定(TCP) '超文字傳輸協定(HTTP)以及簡單信件傳輸 協定(SMTP)之至少一者。
19.如申請專利範圍第14項所述之方法,其中該一或多個 訊息交換執行包含下列至少一者(i) 一用於單向無關傳訊 之資料封包通道、(i i) 一用於雙向相關傳訊之對話通道' (i i i) 一用於單向廣播傳訊之單向獨白通道,包括公佈/訂閱傳 訊,以及(iv)—用於單向隊列傳訊之隊列通道。 20.如申請專利範圍第14項所述之方法,其中該訊息層介 面更可摘錄一或多個埠,每個埠可提供一原子式訊息發送/ 接收摘錄。 21.如申請專利範圍第14項所述之方法,其中該一或多個 結合執行至少包括一或多個可進行將該一或多個訊息交換 35 1337485 執行結合至該一或多個建立於該傳訊架構上方之訊息處理 執行的服務結合者執行。 22. 如申請專利範園第21項所述之方法,其中該一或多個 服務結合者執行係使用一或多個服務代理執行,以進行將 該一或多個訊息交換執行結合至該一或多個建立於該傳訊 架構上方之訊息處理執行。 23. 如申請專利範圍第22項所述之方法,其中該傳訊架構 至少包含該一或多個訊息交換執行之一或多個狀況及該一 或多個訊息處理執行之一或多個狀況,且其中一獨立的服 務代理狀況可將該一或多個訊息交換狀況之各者結合至一 對應的訊息處理狀況。 24. 如申請專利範圍第23項所述之方法,其中該服務層介 面可摘錄一可管理該一或多個訊息處理狀況之實際使用期 限的服務儲存執行。 25. —種電腦程式產品,用於一至少包含數個可提供某種 初始功能以處理一或多個訊息之處理層之傳訊架構,該電 腦程式產品包含一或多個電腦可讀取媒體,該一或多個電 腦可讀取媒體載有數個電腦可執行指令,其執行一摘錄該 傳訊架構内之數個處理層以進行該傳訊架構隨後的變更或 36 1337485 增強同時維持該某種初始功能之方法,該傳訊架構可支援 每一個別處理層内訊息傳輸執行、訊息交換執行及結合執 行之任何數量組合,當執行該等電腦可執行指令時,致使 該傳訊架構執行下列動作: 定義一訊息層介面,其可在不需要使用一特定通道層 介面及特定服務層介面的情況下,為該傳訊架構内一或多 個其他層摘錄一或多個訊息傳輸執行; 定義一該訊息層介面上方之通道層介面,其中該通道 層介面可在不需要使用一特定訊息層介面及特定服務層介 面的情況下,為該傳訊架構内一或多個其他層摘錄一或多 個訊息交換執行;以及 定義一服務層介面在該通道層介面上方,其中該服務 層介面摘錄一或多個結合執行,其可在不需要使用一特定 訊息層介面及特定通道層介面的情況下,經由該通道層介 面結合該一或多個訊息交換執行至該傳訊架構上方所建立 之一或多個訊息處理執行之使用者編碼。 2 6.如申請專利範圍第2 5項所述之電腦程式產品,其中該 服務層介面係至少部分描述一程式模組以利用該傳訊架 構。 2 7.如申請專利範圍第25項所述之電腦程式產品,其中該 訊息層介面、通道層介面及服務層介面各與用於該一或多 37 1337485 個訊息傳輸執行、該一或多個訊息交換執行以及該一或多 個結合執行之數個程式模組相對應。 28. 如申請專利範圍第25項所述之電腦程式產品,其中該 一或多個訊息傳輸執行包括具名導管(named pipes)、傳 輸控制協定(TCP)、超文字傳輸協定(HTTP)以及簡單 信件傳輸協定(SMTP)之至少一者。
29. 如申請專利範圍第25項所述之電腦程式產品,其中該 一或多個訊息交換執行至少包括下列至少一者(i) 一用於 單向無關傳訊之資料封包通道、(Π) —用於雙向相關傳訊之 對話通道、(iii) 一用於單向廣播傳訊之單向獨白通道,包 括公佈/訂閱傳訊,以及(iv) —用於單向隊列傳訊之隊列通 道。
30.如申請專利範圍第25項所述之電腦程式產品,其中該 訊息層介面更可摘錄一或多個埠,每個埠可提供一原子式 訊息發送/接收摘錄。 3 1 .如申請專利範圍第2 5項所述之電腦程式產品,其中該 一或多個結合執行至少包括一或多個可進行將該一或多個 訊息交換執行結合至該一或多個建立於該傳訊架構上方之 訊息處理執行的服務結合者執行。 38 1337485 32. 如申請專利範圍第31項所述之電腦程式產品,其 一或多個服務結合者執行係使用一或多個服務代理執 以進行將該一或多個訊息交換執行結合至該一或多個 於該傳訊架構上方之訊息處理執行。 33. 如申請專利範圍第32項所述之電腦程式產品,其 傳訊架構至少包含該一或多個訊息交換執行之一或多 況及該一或多個訊息處理執行之一或多個狀況,且其 獨立的服務代理狀況可將該一或多個訊息交換狀況之 結合至一對應的訊息處理狀況,且其中該服務層介面 錄一可管理一或多個訊息處理狀況之實際使用期限的 儲存執行。 34. —種於一至少包含數個可提供某種初始功能以處 或多個訊息之處理層之傳訊架構中摘錄該傳訊架構内 處理層以進行該傳訊架構隨後的變更或增強同時維持 種初始功能的方法,該傳訊架構可支援每一個別處理 訊息傳輸執行、訊息交換執行及結合執行之任何數 合,該方法至少包含下列步驟: 於一訊息層内,在不需要使用一特定通道層介面 定服務層介面的情況下,摘錄一或多個訊息傳輸處理 於該傳訊架構内之一或多個其他層; 中該 行, 建立 中該 個狀 中一 各者 可摘 服務 理一 數個 該某 層内 量組 及特 以用 39 1337485 於該訊息層上之一通道層内,在不需要使用一特定訊 息層介面及特定服務層介面的情況下,摘錄一或多個訊息 交換執行以用於該傳訊架構内之一或多個其他層;以及 於該通道層上之一服務層内,摘錄一或多個結合執 行,以將該一或多個訊息交換執行結合至與一或多個使用 該傳訊架構之訊息處理執行相對應之使用者編碼而不需要 使用一特定訊息層介面及特定通道層介面。' 35. 如申請專利範圍第34項所述之方法,其中該服務層介 面係至少部分描述一程式模組以利用該傳訊架構。 36. 如申請專利範圍第34項所述之方法,其中該訊息層摘 錄、該通道層摘錄及該服務層摘錄係與用於該一或多個訊 息傳輸執行、該一或多個訊息交換執行以及該一或多個結 合執行之數個程式模組相對應。 37. 如申請專利範圍第34項所述之方法,其中該訊息層摘 錄更可摘錄一或多個埠,每個埠可提供一原子式訊息發送/ 接收摘錄。 38.如申請專利範圍第37項所述之方法,其中該傳訊架構 至少包含該一或多個訊息交換執行之一或多個狀況及該一 或多個訊息處理執行之一或多個狀況,且其中該一或多個 40 1337485 結合執行至少包含一或多個使用一或多個服務代理狀況以 將各訊息交換狀況結合至一對應的訊息處理狀況之服務結 合者執行。 39. 如申請專利範B第38項所述之方法,其中該服務層介 面更可摘錄一可管理該一或多個訊息處理狀況之實際使用 期限的服務儲存執行。 40. 如申請專利範困第39項所述之方法,其中該一或多個 訊息傳輸執行包括具名導管(named pipes)、傳輸控制協 定(TCP)、超文字傳輸協定(HTTP)以及簡單信件傳輸 協定(SMTP)之皇少一者。 41. 如申請專利範®第40項所述之方法,其中該一或多個 訊息交換執行至少包括下列至少一者(丨)一用於單向無關 傳訊之資料封包通道、(ii) 一用於雙向相關傳訊之對話通 道、(iii) 一用於單向廣播傳訊之單向獨白通道,包括公佈/ 訂閱傳訊,以及(iv)—用於單向隊列傳訊之隊列通道" 41 1337485 年月日修正替換頁 Γ----------------------------------------------1 定義訊息層介面 傳輪控制協定 超文字傳輸協定 簡單信件傳輪 其他協定 411 413 4\5 417 埠 112 410 抽象訊息傳輸 420 定義通道層介面 資料封包 對話 單向獨白 隊列 其他 431 433 435 437 439 訊息交換狀況 422 430 抽象訊息交換 440 至第4B圖 第4A圖 1337485
抵定戎表Λ (一) 、本案指定代表圖為:第3圖。 (二) 、本代表圖之元件代表符號簡單說明 300 傳 訊 架 構 378 服 務 儲 存 站 310 訊 息 層 382 服 務 管 理 者 312 埠 392 服 務 延 伸 340 通 道 層 394 其 他 管 理 者 342 通 道 管 理 者 344 通 道 狀 況 370 服 務 層 372 服 務 結 合 者 374 服 務 代 理 376 服 務 狀 況
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 TW200421793A (en) 2004-10-16
TWI337485B true 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
CA2703143A1 (en) * 2002-12-17 2004-07-08 Breathablebaby, Llc Crib shield system and other breathable apparatus
DE602005007589D1 (de) * 2004-02-27 2008-07-31 Research In Motion Ltd System und verfahren zum asynchronen kommunizieren mit synchronen web-diensten unter verwendung eines vermittlerdienstes
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
US7716279B2 (en) * 2005-09-21 2010-05-11 Sap Ag WS addressing protocol for web services message processing runtime framework
US20070067461A1 (en) * 2005-09-21 2007-03-22 Savchenko Vladimir S Token streaming process for processing web services message body information
US7716360B2 (en) * 2005-09-21 2010-05-11 Sap Ag Transport binding for a web services message processing runtime framework
US7606921B2 (en) * 2005-09-21 2009-10-20 Sap Ag Protocol lifecycle
US7788338B2 (en) * 2005-09-21 2010-08-31 Sap Ag Web services message processing runtime framework
US8745252B2 (en) * 2005-09-21 2014-06-03 Sap Ag Headers protocol for use within a web services message processing runtime framework
US7721293B2 (en) * 2005-09-21 2010-05-18 Sap Ag Web services hibernation
US7761533B2 (en) * 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
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
EP1975830A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Distributed computer system
EP1976220A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Computer network
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
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US8719841B2 (en) 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
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
JP2011513806A (ja) * 2008-02-14 2011-04-28 ノキア コーポレイション 公開を実装するためのシステムおよび方法
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
JP5327552B2 (ja) 2008-07-04 2013-10-30 日本電気株式会社 情報処理システム、プログラム、データ中継方法
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
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
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

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
US6708223B1 (en) 1998-12-11 2004-03-16 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
ATE412214T1 (de) 2000-06-16 2008-11-15 Microsoft Corp System und verfahren zur interaktiven kommunikation zwischen objekten in einer verteilten rechnerumgebung
US6990513B2 (en) * 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
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
WO2003014927A2 (en) 2001-08-08 2003-02-20 Trivium Systems Inc. Scalable messaging platform for the integration of business software components

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI337485B (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
US9479400B2 (en) Servlet API and method for XMPP protocol
Daigneau Service Design Patterns: fundamental design solutions for SOAP/WSDL and restful Web Services
US9219678B2 (en) Method, system, and computer program product for sending and receiving messages
US8255566B2 (en) System and method for routing messages between applications
US8135847B2 (en) Methods, systems, and software for providing service integration framework
WO1999026153A2 (en) Method for establishing a communication connection between two or more users via a network of interconnected computers
Cabri et al. Implementing role-based interactions for internet agents
KR20120075615A (ko) Rest 웹 서비스를 이용한 개방형 인터페이스 기반 계좌관리 시스템 및 그 방법
US20060095544A1 (en) Method and apparatus for designing web services using a sequence and multiplex architectural pattern
JP2005501307A (ja) 仮想プロセッサとしてのソフトウェアコンポーネント
Essl Extending an open source enterprise service bus for multi-tenancy support
US7818398B2 (en) Method and apparatus for specifying web service interfaces and processing web service messages using protocol multiplexing
WO2008025828A1 (en) Business process and system with integrated network quality of service management
Spinella Event Streaming Open Network
Wang et al. A QoS negotiation protocol for grid workflow
Jayalath et al. A modular architecture for secure and reliable distributed communication
Van Hoecke et al. Web services-based middleware for QoS brokering of media content delivery services
Aschenbrenner Introduction to Service Broker
Liu et al. A Formal Model of Web Services Transport Layer
Tzima et al. Web Services Technology: An Overview
Webber et al. Realizing Service-Oriented Architectures with Web Services
Bayer et al. Towards Service-Oriented Application Development
Svirskas Adaptive Support of Inter-Domain Collaborative Protocols using Web Services

Legal Events

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