首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 ICE Developer Center Site Map          [搜尋]
ICE Developer Center Overview Register Training LearningSpace Workshop ICE Messaging Express MOM Glossary
Member Login Download GetLicense Support Profile iReal Program Logout

 .艾揚即時訊息技術電子週報 < ICE Messaging Weekly >. 


第 19 期 出刊日期:2003.05.06      本報內容由 艾揚科技 (ICE Technology Corp.) 提供

論:Rich Content, Simple Messaging 


本期內容大綱

 
[編輯手扎] ICE Messaging Editor's Note 郭漢丞  

以簡御繁

面對日益複雜的資訊系統,身為企業應用軟體開發者的您,如何善用資訊的力量解決問題?

艾揚在建構 ICE iPush® Communication Server 之時,便抱持「以簡御繁」的思考邏輯,希望透過通用的跨平台架構,建立新世代的訊息傳遞應用架構。以 iPush® Server 作為各資訊系統之間溝通的橋樑,快速執行訊息的交換。面對既有軟體 (Legacyware) 的包袱,目前 iPush® Server 在業界的部署應用,已經證明「以簡御繁」是有效解決複雜系統訊息傳遞的實用概念。

只要您的數位資訊可以使用 IP 通訊封包進行封裝,無論是純文字資料 (Plain Text) 或是二進位資料 (Binary)只要能夠轉化成檔案 (File)、字串 (String)、或位元串 (Ticker) iPush® Server 就能夠執行訊息的傳遞。

既有的資訊系統變得越來越複雜,其實是因應實際的作業需求隨時間演化發展的結果,原因出在各應用系統之間耦合程度相當高,當作業需求持續增加, Developer 便越來越不容易執行局部的更動或修改,因為 Tightly-coupled 的系統執行修改,經常是牽一髮而動全局,增添修改時的困擾。

開始運用 iPush® Server 之後,可以漸次將複雜的系統,透過 Message-oriented Middleware 轉化為 Loosely-coupled 的系統架構,以訊息為導向,串聯同質與異質的資訊系統。當然,這樣的改變不是一蹴可幾,但是如果 Developer 不開始思考如何建立企業專屬「以簡御繁」的資訊架構,那麼隨著業務拓展演進的資訊系統,將無法跳脫緊密耦合的框架,要談快速反應業務需求,調整資訊應用軟體,恐怕也是空談。

您準備好「以簡御繁」的解決方案了嗎?如果沒有,請看本期主筆蔣居裕的分析,您將會更深入瞭解 MOM 帶來的訊息變革!

 
 
[訊息論壇] ICE Messaging Forum    蔣居裕

<總論> Rich Content, Simple Messaging

Rich Content, Simple Messaging,若按照字面直接翻譯,應該是「豐富的內容,簡單的傳訊」。而其真正的精神,即在「以簡御繁」。

是的,在資訊科技的世界中,「以簡御繁」的例子所在多有,如:簡單的兩個 '0' 與 '1',構築出氣象萬千的數位宇宙;千千萬萬種檔案的類型,都變化源於 Text 與 Binary 這兩種基本格式;HTTP、FTP、Telnet、SMTP、POP3、NNTP、Gopher...... 等應用層的通訊協定,都建構在 TCP、UDP 之上;而 TCP、UDP,又都根基於 IP 通訊協定。

以本篇為首的套式主題 ─ Rich Content, Simple Messaging,就是要闡釋相同的「以簡御繁」精神,一樣潛藏在以訊息中介軟體為中心的即時訊息應用系統中。而本篇,將為讀者說明這個主題所涵括的範圍。

現在就上路。

通用性的重要

 iPush® Server 有七大特色:

  • 主動

  • 即時

  • 大量

  • 雙向

  • 安全

  • 通用

  • 個人化

其中通用,指的是不管為哪一種資訊格式, iPush® Server 都可以幫您傳遞。這種與訊息格式無關的通用特性,我們又可以稱之為 Content-independent。

Content-independent 是 iPush® Server 的一個重要設計理念,即現在或未來,將各種不同的資訊加入此一訊息平台的強大延伸性。這對於資訊屬性變化多端的 Internet 服務,或是不斷面臨各種資訊管理挑戰的 Intranet 來說,均是一項很重要的特性。

傳統的 < 資訊來源 > ─ < 傳送機制 > ─ < 接收端 >,是一套、一套各自獨立的系統,但訊息中介軟體所帶來的傳訊革命,是要達到: 

< n 種資訊來源 > ─ < 通用傳送機制 > ─ < m 種接收端 >

讓一套共用的傳送機制,可以將現在或未來不可預知的 n 種資訊來源,傳送給現在或未來不可預知的 m 種接收軟體或設備,以降低網路服務或企業在訊息資訊系統上的建置與維護成本。

於連通現在或未來不可預知的 m 種接收軟體或設備此事,即所謂的 Accessibility (存取性) 上,必須要考量通用傳送機制是否至少對主流的客戶端平台均有支援。以 iPush® Server 來做為通用傳送機制,其多樣化的 API 種類,絕對可以滿足 High Accessibility 的要求。

讓我們回到訊息平台的通用特性來。

如 iPush® Server 這樣的訊息平台,其能夠傳送的訊息種類,只有一個限制:必須是要能夠被封裝在 IP 通訊封包中的數位資訊。

所以不管是純文字資料 (Plain Text),還是二進位資料 (Binary),只要它能夠以檔案 (File)、字串 (String)、或位元串 (Ticker) 的型態存在,就可以透過通用的訊息平台來遞送。

另外,即時訊息的通用傳遞考量,還有一大要素,就是訊息的大小 (Size)。

我們曾經說過,無論訊息(或檔案)是 100KB,還是 10MB,發送端的 API,會自動為訊息進行切割、傳送;然後再由訂閱接收端的 API,自動重組還原該訊息。所以,對於 Developer 來說,除了叫用專門處理 Block 訊息的函式外,對於大型訊息(或檔案) 的收發處理流程,並不會與短小的訊息有所不同,都是同樣地直覺與容易。

註一:詳情請參見第 10 期:與 Developer 息息相關的 iPush API (上)

我們整理一下可以透過 iPush® Server 遞送的資訊格式以及存取介質 (意指資訊的儲存場所,或是資訊流通的介面) 成下表:

資訊格式 存取介質 舉例
文字檔 檔案系統 .txt, .ini, .csv, .java, .html, .pl, .jsp, .asp
二進位檔 檔案系統 .exe, .com, .class, .ocx, .doc, .xls, .ppt, .jpg, .gif, .bmp, 
.wav, .avi, .mp3, .jar, .pdf, .mdb
字串 程式碼
使用者輸入
"Hello World!", "0xAB3372B3CFD9"
純文字串、十六進位元串、或二進位元串
位元串 COM port
Ethernet
"Hello World!"
純文字串或二進位元串
資料表欄位 資料庫 包含 DBMS 所有的欄位資料型態

其中,要讓位元串與資料表欄位資訊透過訊息平台傳遞,通常必須有一個居中的資訊轉送或處理機制,如:

  • 來自證券交易所的 COM port (序列埠) 金融即時行情位元串,可以透過解析資訊格式的 Preprocessor 前置處理後,再餵入 iPush® Server。

  • 來自資料庫資料表欄位的資訊,可以透過 DBMS 的 Trigger / Stored Procedure 功能,結合 iPush® Client API,寫成一個當資料表欄位資料有異動時,即可主動發送即時資訊至 iPush® Server 的機制。

稍後,我們會再來詳談 Trigger / Stored Procedure 這部分。

 

iPush® Server vs. Video/Audio Streaming

很多人都對 iPush® Server 是否能夠進行多媒體影音串流 (Video/Audio Streaming) 感到興趣。剛好趁此一隅,做一說明。

我們的看法是,因為影音串流在運作時,伺服端與客戶端必須進行動態的 Handshaking,視連線當時的頻寬、以及可能改變的傳輸狀況,隨時調整串流資料的傳送速度,同時又要盡可能地兼顧影像的可觀賞度與聲音的聆聽清晰度。

影響所及,同一時間內,即使想要接收的是相同的影音內容 (如一場 Live 演唱會),但因每一個客戶端與影音串流伺服器間的協定互異,且會動態改變,所以在資訊內容的提供上,會造成準備上的困難度增加,不容易善用到 iPush® Server 對同一份資訊具大量即時傳送的能力。

不過話說回來,如果您想要建立的,是一個「非典型的多媒體影音串流系統」,那還是可以在清楚 iPush® Server 特性的情況下,利用 Channel 來規劃影音串流伺服器 (一般即稱 Media Server) 與影音串流客戶端 (一般即稱 Player) 間 Handshaking 的通訊協定 (即控制信號),然後再視適當與否,看是否連影音訊息內容,都透過 iPush® Server 來傳送。
 

 

High Accessibility vs. Rich Content, Simple Messaging

格式不管、大小不管,iPush® Server 都可以幫客戶端傳遞即時訊息,這就是 Rich Content, Simple Messaging「以簡御繁」的真正意含。

所以,Rich Content, Simple Messaging 實際的應用方向,當然沒有限制。不過在我們為文說明時,自然不能任憑讀者的思緒狂奔至無邊無際,必須實際舉出例子來,以昭公信。

如果讀者曾經造訪過艾揚科技的網站,就知道我們在 ICE Developer Center 裡頭,闢有 On-line Workshop 一區 (http://www.icetech.com.tw/icedc/workshop.shtml),現在內有屬於 ITS (智慧型運輸系統) 與 e-Automation (工業自動化) 兩個產業範疇的線上展示 (Demonstrations) 與實作步驟 (How-to: Step by step)。

我們歸納一下其中應用可以傳送的資料格式成下表:

產業 範例 傳送之即時資料格式
ITS GIS + Internet 車隊即時監控範例 圖形:GIS 地圖
文字串:時速、時間、經度、緯度
e-Automation Java Applet 設備監控 (I)
Java Applet 設備監控 (II)
J2ME 設備監控
Pocket PC 設備監控
Excel 設備監控
文字串:壓力、溫度
e-Automation ActiveX 設備監控 (I) 文字串:壓力、溫度
文字串:開關控制指令
e-Automation ActiveX 設備監控 (II)
Java Applet + ActiveX 設備監控
文字串:壓力、溫度
文字串:開關控制指令
圖形:CCDC, WebCam 即時圖檔

請注意以上灰底的第二列,同樣是傳送壓力、溫度等文字串之即時資料,但卻可同時送達在多樣化的客戶端與資訊設備上,善用各種使用者介面的特性,用相同一份資料來做不同的呈現,如:

  • 直接顯示收到的文字、數值資料。

  • 用收到的數值資料進行最高點、最低點的紀錄與警示 (Record & Alarm)。

  • 用收到的數值資料進行趨勢圖的描繪 (Chart)。

  • 用收到的數值資料在 Excel 裡做更多統計圖表的即時展現 (Chart)。

  • 以上應用可從一般的 PC、NB 延伸至 Java 手機或 Pocket PC。

這可不是設計 On-line Workshop 的艾揚同仁偷懶,而就是 High Accessibility (高存取性) 與 Rich Content, Simple Messaging 結合的明顯好處。結合起來的應用目標,即能達到:「一個訊息,同一時間,可以傳送給不同設備、不同使用者的不同加值應用接收」。

更多的垂直產業應用

除上述 ITS 與 e-Automation 之外,現在還有許多的產業,正紮紮實實地在使用訊息中介軟體,享受 Rich Content, Simple Messaging 所帶來的好處,如:

  • 金融服務業:利用訊息中介軟體來傳送即時行情、即時新聞、投顧通報、下單交易、交易回報、風險管控、營業資訊等訊息。

  • 線上遊戲業:利用訊息中介軟體來做為眾遊戲伺服器間 (Inter-server),以及遊戲伺服器與遊戲客戶端 (Server-client) 的即時互動橋樑。另外,像是遊戲大廳 (Game Lobby)、社群媒合 (Matching)、聊天 (Chatting) 等附屬的互動服務,也很適合用如 iPush® Server 這樣的軟體來開發。

  • 電子製造業:在生產製造的 MES / CIM 資訊系統中,搭配訊息中介軟體,改造出具 Loosely-coupled、Content-independent、High Accessibility 特性的新世代架構,在 HMI (Human-Machine Interface) 上能有更豐富的呈現,甚至可進一步做到「機隨人走」的行動化 HMI。

Database vs. Rich Content, Simple Messaging

我們曾經說過,Database 與 MOM (訊息中介軟體) 天生的任務目標不同。Database 是資訊的留存所,重點是資訊的庫存管理;MOM 是資訊的流通管道,重點是要做到訊暢其流

註二:詳情請參見第 4 期:你一秒幾次?

既然目標不同,那 Database 可否與 MOM 攜手,共同打造一個能靜能動的資訊系統呢?

答案是肯定的。艾揚的 PS 技術服務團隊,早已經自行,或與商務夥伴攜手,在許多案例中,充分地驗證了這一點。

這些實例驗證的需求,起因不外有兩:

  • 有大量的即時資訊,急著要同時湧入 Database

  • 有許多的 Query 服務要求,同時向 Database 提出

在任一種情況下,由於對 Database 的 Request-and-Reply 存取為 Synchronization (同步作業),DBMS 為消化同時湧入的服務要求,必須持續執行大量的運算,造成 CPU 負載過重。更可怕是,若服務要求的湧入不曾稍歇,終將導致 DBMS 停止運轉。

那我們的解決之道是甚麼呢?與上對應,分別是:

  • 大量即時資訊 → iPush® Server → DB Agent (iPush® Client) → Database (如下圖例 1.)

  • Database → Trigger / Stored Procedure / DB Agent (iPush® Client) → iPush® Server → Subscribed Client (iPush® Client) (如下圖例 2.)

   
圖例 1. 使用訊息中介軟體來為大量即時資訊,同時湧入 Database 進行典範的轉移。重點在簡化 Database 的 Connection 數量。 圖例 2. 使用訊息中介軟體來為大量同時對 Database 進行 Request-and-Reply 服務要求進行典範的轉移。重點在讓 Database 化被動為主動。

前者之所以能夠改善大量資訊同時湧進 Database 的擁塞現象,即是其在架構上有所不同。有了訊息中介軟體居中,讓大量即時資訊來源與 Database 分離,從 Tightly-coupled 變成了 Loosely-coupled,再藉由 DB Agent 的轉介與緩衝,讓原本的繁重的 N-to-1 Database connection 轉變成單純的 1-to-1 Database connection。

而後者,除了也是轉變成 Loosely-coupled 架構外,更是在資訊流上起了根本的變化。原本客戶端對 Database 資訊存取是 Pulling 式的 Request-and-Reply,現在即改為運用 DBMS 具有的 Trigger / Stored Procedure 能力,透過呼叫加掛的 DB Agent (其就是一個活脫的 iPush® Client),當 Database 有事先設定的事件發生時,即啟動運算,然後將結果餵入 iPush® Server,再由 iPush® Server 推播給有訂閱的客戶端。這一串下來,資訊流已經改為 Push 的傳送方式,更加地即時而不做虛功。  

不管是將資訊送入 Database,還是從 Database 將資訊撈出來,資訊進出之間,都必須要能符合 Database-Table 的欄位資料型別。以 MS SQL Server 這個 DBMS 為例,就包含有 BINARY、CHAR、DATA&TIME、DECIMAL、INT、BIT、TEXT、MONEY、TIMESTAMP、IMAGE 等欄位資料型別,而屬於這些資料型別的即時資訊,都可透過如 iPush® Server 這樣的訊息中介軟體收發。

這又是一個典型的 Rich Content, Simple Messaging 應用實例,且因為各行各業都用得到 Database,所以適用性更廣,沒有產業上的區別。 

結論

在本篇總論中,我們已經透過下列諸面向,詳細說明了 Rich Content, Simple Messaging「豐富的內容,簡單的傳訊」的內涵:

  • 通用性 (Content-independent)

    • 訊息的格式

    • 訊息的大小

    • 存取性 (Accessibility) 

    • 不同垂直產業的應用實例

    • 不分產業的資料庫應用

    後續幾期,讓我們期待要陸續上菜的特定產業深入報導、實作、以及採訪。希望您會喜歡我們的企劃

     

     

[訊息技術說文解字] ICE Messaging Glossary   陸一凡
  • Transmission Control Protocol (TCP) 傳輸控制通訊協定

TCP 是根基於 IP (Internet Protocol) 的諸網路通訊協定群中的重要協定之一。

由於位於網路層 (OSI 網路七層中的第三層) 的 IP 網路通訊協定,基本上是一種非連結型的網路服務 (Connectionless Network Services),它的工作重點是在資訊封包 (Packet) 的定址 (Addressing) 與路徑選擇 (Routing) 處理上。所以,為提高傳輸的品質,所以在其上的傳輸層 (OSI 網路七層中的第四層) 輔以 TCP 通訊協定,提供兩主機端點間 End-to-End 的高可靠性通訊。

TCP 即屬於連結型的網路服務 (Connection-oriented Network Services),其高可靠性的通訊特質,包含了資料傳輸上的保證 (失敗重送),且能讓資訊封包在傳送時,以其原有的順序接收之。

  • User Datagram Protocol (UDP) 使用者數據封包通訊協定

UDP 與 TCP 同位於傳輸層 (OSI 網路七層中的第四層),屬於一種非連結型的網路服務 (Connectionless Network Services), UDP 提供非常少的錯誤恢復服務,僅在 IP 網路上提供數據的直接收送服務。

相較於 TCP,UDP在應用上的確是較為簡易 (Lightweight) 及方便,因為它不保證資料封包在網路上能夠被成功送達,所以可被用來做為可靠性需求不高的網路訊息廣播。但如果使用 UDP 還要兼顧可靠性,那傳輸其間的所有錯誤處理 (Error Processing) 和失敗後再次傳遞 (Retransmission),都必須由 Developer 撰寫的應用程式自行控制。

[艾揚快訊] ICE Express   ICE Developer Center  

<快訊 1> 

ICE iPush® Communication Server V1.5 for Linux Patch 程式檔案更新,敬請下載

ICE iPush® Communication Server V1.5 for Linux Patch (Released Date: 2003/05/05) 更新摘要如下: 

  • iPush® Server (icore) 更新至 v1.3.11。

  • License Daemon (license) 更新至 v1.1.5。

  • BackOffice 更新至 v1.6.2。

其他詳情,請下載 tar 檔後,開啟 Readme.txt 與 CHANGELIST.txt 參考之。

ICE iPush® Communication Server V1.5 for Linux Patch 更新檔案下載,請先登入 ICE Developer Center,於 Download 區取得 >> Go !

<快訊 2> 

ICE iPush® Communication Server V1.5 for Windows Patch 程式檔案更新,敬請下載

ICE iPush® Communication Server V1.5 for Windows Patch (Released Date: 2003/04/15) 更新摘要如下: 

  • iPush® Server (iPush2000.exe) 更新至 v1.0.18.0。

  • AC Server 改成使用 ICE EZService Framework 方式啟動,原 Auth2000Service.exe 改為 AuthCenter.dll (v2.2.39.0) 與 AuthODBCPlugin.dll (v2.0.4.0)。

  • License Daemon (LicenseDaemon2000.exe) 更新至 v1.1.5.0。

  • BackOffice 更新至 v1.6.2。

其他詳情,請下載 ZIP 檔後,開啟 Readme.txt 與 CHANGELIST.txt 參考之。

ICE iPush® Communication Server V1.5 for Windows Patch 更新檔案下載,請先登入 ICE Developer Center,於 Download 區取得 >> Go !


上一期精采內容:談 iPush Server 於金融服務的實戰部署


若您覺得本期內容值得參考,請轉寄給認識的朋友或同事,為國內的訊息技術社群發展盡一份力。感謝您。 

免費試用 iPush Server,請連結 ICE Developer Center 網站:http://www.icetech.com.tw/icedc,進行 Register → Login → GetLicense → Download 作業即可。

訂閱與取消訂閱本電子週報,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

查閱本電子週報舊有出刊內容,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

 

回艾揚即時訊息技術電子週報主頁 | 上一期 | 下一期
Copyright 2002-2004, 艾揚科技股份有限公司版權所有;歡迎轉寄。
關於電子報發送有任何問題,或是欲轉載內容,請連絡 icedc@icetech.com.tw
台北市 100 羅斯福路二段 9 號 12 樓之 1 ,TEL: +886-2-2396-1880,FAX: +886-2-2396-1881

Unsubscribe >>
欲取消訂閱艾揚即時訊息技術電子週報 (ICE Messaging Weekly),請 Mail 至 icedc@icetech.com.tw
主旨註明:取消訂閱艾揚即時訊息技術電子週報 即可。



艾揚科技股份有限公司  台北市 103 承德路二段 81 號 15 樓之 1   電話:+886-2-25586101   傳真:+886-2-25586102

Copyright © 2002-2008 ICE Technology Corporation. All Rights Reserved.