[訊息論壇] ICE Messaging Forum 郭漢丞
<專訪篇> 讓資訊即時流動的趨勢提早實現:專訪艾揚科技 CTO 陳俊霖博士
真是該打屁股!艾揚電子報出刊一年多了,我們這才想到要讓艾揚的 CTO 跟大家談談 iPush®
一系列產品的發展與科技意義。沒關係,選在猴年第一次發刊,並且在下一個套式主題 iPush®
Server V2 出版前,引介 CTO 給大家,也算得上新春賀歲的一樁好事。
| 陳俊霖博士,擁有交通大學資訊工程學系的純正血統,一路從大學、碩士班、到博士班畢業,長期浸淫在軟體設計的世界,極力多方拓展觸角,以其對網際網路
IP 技術的研究與觀察,早在大家渾然不知不覺之際,已經發現資訊的即時流動是未來趨勢,並且進一步將他的想法落實在工作當中,以
Push 訊息主動推播的方式,與有長期合作情誼的學弟 ── 陳明豐博士 (現任艾揚 RD 主管),一同建構了
iPush® Server 此一即時訊息伺服器。
對於台灣的軟體產業而言,兩位陳博士的研發成果,是一項了不起的創舉,但是
CTO 卻淡淡的告訴我們,資訊的即時流動既然已經是「趨勢」,那麼即使他們沒有著手研究開發,這趨勢依然會沛不可當,還是會有其他人投入。
在艾揚推出穩定、強固,足以擔綱商業運轉的即時訊息伺服器時,在市場上我們確實發現了一些「準對手」,擁有類似,但特性還是不同的產品。以
Push 主動雙向訊息傳遞,讓艾揚搶先了一步,也因此讓艾揚在數年下來,累積了可觀的重量級客戶,並且紮實的讓純粹的軟體技術深入產業,成為提高生產力的「即時應用」。 |

除了軟體技術研發,陳博士也熱愛各種運動,年少時還曾因玩滑板摔斷過腿。照片為其
2004 元旦時,於南湖東峰登頂 (海拔 3632 公尺) 迎向日出的精采演出 |
在本期的電子報當中,我們以 iPush® Embedded 的開發做為主題,讓陳俊霖博士從嵌入式系統的角度出發,為大家說明即時資訊流的趨勢。以下即為問答內容。
| 請問當時是如何開啟 iPush®
Embedded 這項產品研發的? |
首先,我必須說明「iPush® Embedded」這字眼本身的意涵,是純粹的伺服器端技術,而目前實際可見的產品,應用在工業自動化控制器上,稱為
iPush® Embedded for Controller。
如前期電子報所談的 iPush® Embedded,標題不就是「iPush®
Embedded for Controller 的誕生」嗎?
這兩樣東西的差異在哪裡?iPush® Embedded 是將我們原本在 IPC
(編按:工業級電腦) 上面執行的 iPush® Server 移植到 Windows
CE.NET 上面,從 Kernel 到 API 都要能夠在軟、硬體有所限制的嵌入式 Devices 上面運作,效能則不能打太多折扣,這是
iPush® Embedded 訊息技術的意義。
但是若只做出移植後的 iPush® Embedded,對於原本設定的客戶群
(編按:指嵌入式系統相關業者) 而言,可能會在推廣上遭遇困難。
要知道這項技術是要提供工業控制所使用,因此我們必須進一步隨合作廠商不同的 Controller,設計不同的
iPush® Embedded for Controller 版本,提供方便的使用介面與工具,讓工控界可以執行各種
Embedded Devices 間的即時訊息傳遞工作,並且可以快速地發展各種工業控制領域的專屬應用。
| iPush® Embedded
這項產品超越了哪些現有的成就? |
你提到達成哪些成就,我想這依然可以從兩個部分來說明。
以 iPush® Embedded 而言,我們成功的讓 iPush®
能夠在 Windows CE.NET 的環境中運作,這一點可說是主觀的技術成就。透過艾揚 RD 團隊的通力合作,在有限的時間內成功完成「移植」的專案。
另一個部分,則是從 iPush® Embedded for Controller
來說,我們做到一些過去工控界常用技術所無法達成的功能,這是客觀上可以提供工控業界的技術價值。
| 能不能跟我們詳細說明一下,客觀上提供工控業界技術價值的這一部分? |
好的。
傳統上,工控界並非毫無資訊傳遞的工具,實際上這些技術還相當地豐富,包括 OPC、Socket、或是其他專用的
Protocols,這些都在若干程度上,具備了訊息傳遞的能力,但是傳統上這些技術在 LAN 的環境比較實用,若拿到
Internet 上來應用,就顯得有些不足。
從硬體的角度上來看,無論是 PDA 或手持裝置應用 Bluetooth、GPRS、或是任何 Wireless
的通訊技術,都已經不是訊息流通的障礙,現在最缺的是軟體上面實用的技術。
從使用上來看,只要是透過「人」來使用的資訊,原有的技術也大都可以透過專門的軟體撰寫,來解決訊息傳遞的問題;但是現在我們要做的,是讓「機器」來使用訊息傳遞伺服器,必須能夠讓機器主動地蒐集資訊,並且主動地散佈資訊,簡單講,我們的目標即是要透過
iPush® Embedded 技術,讓所有的 Controller 成為「主動式資訊節點」(Active
Information Node)。
傳統在工業控制上運用的這些 Controller,早已經具備主動蒐集資訊的能力,現在透過 iPush®
Embedded for Controller,可以讓 Controller 將來自端點設備的訊息,源源不斷推播出去,即使接收點是在廣大
Internet 的另一端。
當然,你或許要問,透過 OPC 或 Socket,難道就無法執行這些功能?當然可以,但是撰寫這些軟體的人必須克服許多在
Internet 上面主動傳遞訊息的問題,包括安全控管 (Security)、加密 / 解密、流量考驗、以及遠端管理等。
再說得詳細些,OPC 或 Socket 過去多半在 LAN 的環境當中運作,安全問題並不大,現在要將自動控制的動態透過
Internet 傳遞,而且還必須包含雙向溝通、控制的功能,那麼安全問題就會浮現出來了。此外,當外界的資訊接收或控制點不斷向
Controller 要資訊,量大了,馬上就會讓硬體資源有限的 Controller 吃不消,遠端管理的目標恐怕也就很難達成。
此外,過去 Controller 所蒐集的資訊通常會送入資料庫中儲存,作為各種數據累積與研判之用。如果僅是應付歷史資料的研判與解讀,對於資料傳送的即時性需求便不高。可是如果使用者需要即時的線上數據資料,此時資料庫便會因應使用者的需求,不斷地向
Controller 去 Query 資料,DB-centric 的訊息流動瓶頸就會出現。
其實 Controller 和 DB 都有他們原本設計上所要達成的功能,但即時訊息的傳遞並不在它們的功能訴求之列,現在被硬拿來當作串接資訊流通的工具,自然效果要打折扣了。
iPush® Embedded
for Controller 讓 Controller 變成「主動式資訊節點」,我們讓原本 iPush®
Server 已經具備的安全控管、加密 / 解密功能擺進來,至於「資訊流量」的部分,我們讓 Controller
主動的將其所蒐集的資訊,透過 iPush® Embedded 把各種資料 Publish
出來,如此一來,Controller 就不必疲於奔命地應付來自各方的 Query,這包括應用程式與 DB 的即時訊息需求。
在此一架構下,Controller 做的事情很簡單:把原本所蒐集到的資訊送給
iPush® Embedded,其他的訊息傳遞工作,則全部交給 iPush®
Embedded 去完成。這就是我所謂「主動式資訊節點」的意義所在,如此一來,Controller
與 DB 都可以專注做自己的事情,系統負擔也相對降低,資訊就自然而然有效率地流動了起來。
| 從上面的說明,我們瞭解到了 iPush®
Embedded 和 iPush® Embedded for Controller
的意義,以及它們對於工控業界的幫助。據我所知,iPush® Embedded
的應用價值,似乎在包含 GIS 的 3S 上也有著力點,能不能一併說明其中的意義? |
對於 3S ── GIS、GPS、RS 的諸加值應用,艾揚強調遠端、即時的動態雙向監控,iPush®
Server (中心端) 與 iPush® Embedded for Controller
(現場端) 都可以用得上,但是依據實際應用狀況的不同,您必須選擇適當的產品組合。
對於 GIS 業者而言,他們原本已經有非常好的技術,讓 GIS 的圖資與 Presentation
Layer 整合起來,成為相當好用的工具。在這個部分, iPush® Server
或 iPush® Embedded 技術在這裡所做的,無非是「讓來自現場終端的
Devices 資訊直接通達 Presentation Layer」。
地理資訊與遙測裝置結合起來,讓 GIS 應用系統具備即時的監控能力,這是近幾年來發展的成果。這些技術要分成兩段,一段是從遠端的測報裝置,例如即時的雨量、水文、空氣品質等監控設備,另一段是負責顯示資訊的地理資訊系統,中間如何串接資訊流,一樣要靠資料庫。
這下子 DB-centric 的古典問題又出現了,資料庫的功能不在於即時訊息的傳遞,它是用來記錄資料、整理資料、分析資料的工具,拿來處理即時訊息當然有所限制;遙測裝置也一樣,它們原本就沒有把即時訊息的傳遞當作主要功能,現在把即時的動態資訊流擺上去,資訊流動的瓶頸就出現了。
現在把 iPush® Server 或 iPush®
Embedded 放在這兩個主角的中間,我們統稱 iPush® 好了。由遙測的裝置負責對
iPush® Publish 資訊,接下來讓 iPush®
去執行 Push 的動作,把資訊發送給特定的 Subscribers。如此一來,需要即時資訊的人可以向 iPush®
訂閱,而資料庫也是向 iPush® 訂閱資訊的 Subscribers 之一。
您可以發現,原本存在於遠端裝置與資料庫中間的資訊流瓶頸,透過 iPush® 可以有效地降低系統兩端的負擔,即時資訊不需要進入資料庫再送出來,而是直接送到
Presentation Layer,同樣的,資料庫也不需要扮演即時訊息的中繼橋樑。負擔降低了,系統的效率也就跟著提升了起來。
| 在 iPush®
Embedded 當中提供了新增的控制介面,這與一般工業控制所使用的
HMI 軟體,例如 Lab View 有哪些差別? |
前幾次我出國參加研討會議,以及參與 Controller 夥伴舉辦的說明會,有一些 HMI 廠商緊張地來打探軍情,向我問道艾揚做出來的產品和
HMI 到底有哪些差別?
我很直接地告訴他們,iPush® Embedded 不是 HMI,也沒有打算取代這些相當成熟的優秀產品。諸如
Lab View 之類的軟體,基本上在工控 Client 端相當好用,可以從遠端去監視、控制,介面也具備相當高的應用彈性,可以針對不同的使用環境執行客製化的調整,這是
HMI 的特性,也是他們的競爭優勢所在。
他們問我 iPush® Server 或 iPush®
Embedded 和他們比較起來有哪些優勢?我的回答很簡單:「這兩者並不是同一類型的產品,因此沒有相對比較的競爭優勢。」如果真的要我舉出優勢,我只能說:
iPush® 讓 Controller
可以直接送出資訊,提供 Internet 環境上的即時訊息解決方案。
| 難道現有的 HMI 沒有辦法執行即時訊息的傳遞嗎? |
當然也不是絕對不能,但是 HMI 著眼於提供 Client 端好用的工具軟體,對於遠端管理有很大的幫助,但是當
HMI 要提供即時動態資訊時,就必須在很短的時間內不斷向 Controller 要資料,不斷去 Query、去
Pulling,這對於 Controller 和 HMI 管理軟體都是很沈重的負擔。此外,HMI 設計之時通常不會特別考慮到大量
Controller 即時訊息的取得,因此對於資訊流量的負荷程度有限。
相對於 HMI, iPush® Server 或 iPush®
Embedded 沒有那麼豐富的人機管理介面,但是我們可以讓 Controller 執行 Active Data
Sending,在 Internet 的環境中,這代表實現了「即時資訊自由流通」的境界。
所以,iPush®
Embedded 並不是用來跟 HMI 競爭,而是要與 HMI 相互配合的產品。HMI 可以提供很好的客戶端使用介面,而即時的雙向動態訊息傳遞,則讓
iPush® Embedded 來完成,HMI 與 Controller 都可以發揮它們原有的功能,不用再費心去撰寫處理兩者之間訊息流動的軟體,這說明
iPush® Embedded 與 HMI 之間是合作關係,而非競爭。
| CTO 的解釋相當完整,能否在最後為我們針對 iPush®
Embedded 作一個總結? |
我想回歸我最初的想法:「即時資訊流動是趨勢!」
既然是趨勢,那麼不管艾揚做不做,技術最後還是會發展到這裡,只不過艾揚開始得早,能夠在 Internet
的環境當中,讓即時資訊流的境界提早實現;跳出 LAN 的環境,在 Internet 上面有許多不一樣的問題必須解決,這些問題我們在
iPush® Server 與 iPush® Embedded
上面都已經遇到過,也都一一克服了。
使用 iPush® Embedded 技術的 Controller
或遙測裝置,可以成為所謂的「主動資訊節點」,不斷將所蒐集到的資訊,用即時的方式傳送出去,不管是手機、PDA 等手持裝置,或是大型資料庫,都可以透過
Internet 來接收,構成完整的即時資訊流,上下貫通的訊息供應鏈。
iPush® Embedded
並沒有超越整個訊息傳遞技術的發展趨勢,只不過我們讓資訊自由流通的境界,提早在嵌入式系統實現而已。
|