[訊息論壇] ICE Messaging
Forum 蔣居裕
<技術篇> iReal® Framework ─
快速開發差異化金融即時訊息應用軟體
如即時訊息技術社群所知,iPush® Server 是訊息中介軟體 (MOM),它的實際使用者是
Software Developer ── 訊息應用軟體開發者。
在過去,伴隨 iPush® Server 提供給軟體開發者的工具,是各式各樣的函式庫
(Library),也就是我們口語所稱的 API (應用程式開發介面)。支援各種主流執行環境客戶端應用軟體的開發,是
iPush® Server 一貫堅持的承諾,我們藉此可以達到訊息的 High Accessibility
(高度存取性)。
此一策略的目標,即是:同一個訊息,可以在同一時間,傳送給不同資訊設備的不同使用者接收。
經過很長一段時間的努力與持續精進,我們很高興可以正式對外界宣告,一個嶄新的訊息應用軟體開發工具 ── iReal®
正式與您見面了。
若您是 ICE Developer Center 的一員,一定曾經在登入 ICE Developer Center
之後,見到其中一區 iRealX Program。是的,iReal® 的前身即為 iReal®X,若是您日後所見的文件資料中,還留有
iReal®X 字眼者,那就是我們的疏漏,尚有更新未盡事宜,還請見諒。
目前的 iReal®,首要著眼於金融即時訊息應用軟體的快速開發,所以在產品設計時,加入了許多金融資訊服務的意涵與特性,而艾揚與加值開發夥伴,也已經準備好了許多現成的元件模組,可供挑選使用。
至於非關切金融應用的朋友們,大家可以期待在不久的將來,看到我們推出根基於相同技術架構,但卻與特定行業領域意涵無關的
iReal®- like,以協助您快速開發出想要的訊息應用系統。
因為技術相同、特性相同、效益相同,所以即使您不關切金融資訊服務,但是先花點時間來了解其技術架構,也是非常值得的。
我們先列舉一下 iReal® 的特色:
-
Design
Mode (設計模式) 備有版面產生器 (Screen Generator 或 Application Generator)。
-
一程式多用,支援多視窗組態 (Multi-window
Configuration) 同時執行,滿足客群不同使用需求,宛如多種應用軟體同時上線。
-
iUpdater
程式與模組自動更新機制。
-
支援 OCX 元件化程式開發,方便進行各種加值服務。
-
支援多種程式開發語言,如
VC++、VB、Delphi、PowerBuilder、C#、VB.NET 等。
-
可結合現有網路下單身份認證機制。
-
彈性化的功能表選單
(Menu) 設定,實現差異化行銷策略。
我們接著就來深入理解 iReal® 吧。
用詞說明:當我們單獨使用
iReal®
一辭時,一般即是指 iReal® Framework
,即整體技術架構意涵。若是使用
iReal® Design Mode
(設計模式) 或 iReal® User
Mode (使用者模式),則就是特定的執行模式了。
iReal® 其實是一個客戶端應用軟體執行環境
(Runtime Environment for Client Application)。根基於 iReal®
的應用軟體,在被 End User 使用時,必須要載入適當的元件,才能使用各種不同的功能,顯示各種不同的資訊。
iReal® 之元件設計乃依循 Microsoft ActiveX 元件模式,但若能夠再實作專門為
iReal 架構所訂定的 Method、Event、Property,就可以發揮更大的功效,讓不同元件間的互動更加緊密,提高應用價值。
所有在 Windows 系統中註冊的 ActiveX 元件皆可被 iReal® 載入執行,例如媒體撥放程式
(Media Player)、嵌入式瀏覽器 (Internet Browser) 等皆為其例。
以軟體設計者的觀點來看,iReal® 又是一套具有應用軟體產生器的軟體架構
(Software Framework with Application Generator)。
在 Design Mode (設計模式) 之下,iReal® 應用軟體架構者,可以自行開發所需要的
ActiveX 元件,或是利用 3rd-Party 提供的現成 ActiveX 元件,以
Drag-and-Drop 拖曳方式,切割擺放在適當的位置。
然後只要一個按鍵,就可以立即產生、運交供 End User
使用的應用軟體 (此即 User Mode,使用者模式)。
下圖即是 iReal® 的技術架構:
 |
| 圖一、iReal®
技術架構圖 |
其指出的特點有:
-
iReal®
本身是一個 ActiveX 元件容器 (ActiveX Control Container)。
-
一至多個 ActiveX 元件可以組成一個版面 (Layout),每個版面即是一個
Windows 視窗。一個 iReal® 架構出的 User Mode,可以在多個版面視窗間切換執行。
-
所有的 iReal® 版面與元件,可以共用一個連線模組
(Connection Component),與 iPush® Server
連結,進行即時訊息收送。如此一來,就可以節省相當的 iPush® Server
concurrent connection 數目 (若非如此,可能您設計出的每個元件,都至少要用去一個連線數)。
-
訊息的流動,可以發生在 iReal®
元件與 iPush® Server 之間,也可以發生在 iReal®
內部元件與元件之間。
若您的需求符合下列描述,就可以考慮採用 iReal®:
-
您的目標是要快速開發出一套金融即時訊息應用系統。
-
在該即時訊息應用系統中,不同的功能想要切割成個別的元件。
-
各元件間,需要一套溝通的機制。
-
所有的元件,可以共用同一個對訊息伺服器的 Connection。
-
各元件須有相同的顯示控制能力。
-
必須快速設計、運交不同功能組合的應用軟體給不同的族群使用
(End User Grouping)。
-
快速推出與競爭對手有差異化的應用服務,並具備服務元件自動更新功能。
<元件開發規格與知識>
雖然 iReal® 可以載入任意的 ActiveX 元件,但是若要能與 iReal®
架構搭配,發揮更大的功能,那麼在開發元件時,必須要遵循 iReal® 架構的建議。
在 iReal® 元件架構下,元件必須實作一定的 Method (方法) ,另外 iReal®
架構也設計了一些 Event (事件) 與 Property (屬性),來做為 iReal® 元件與
Framework,或與其他元件溝通使用。
總結來說,要開發出完全符合 iReal® 架構的元件,Software Developer
應該具有下列技能:
<元件程式語言工具>
我們必須很清楚地理解,iReal® 並不是開發 ActiveX 元件的工具,它是被設計來「使用」ActiveX
元件的軟體架構。
可供 iReal® Design Mode 使用的 ActiveX 元件,其開發設計,還是回歸到您所使用的程式語言與開發工具上。也就是說,您可使用本來就具備開發
ActiveX 元件能力的工具,如 Visual C/C++、Visual Basic、.NET Framework、Delphi、C++
Builder、PowerBuilder...... 來製作 ActiveX 元件,然後再將這些 ActiveX 元件載入
iReal® Design Mode 中使用。
我們可以稱 iReal® Framework 的使用者為
iReal® 應用架構者。
若要問必須具備哪些知識才能夠成為 iReal® 應用架構者,其實是在問「iReal®
Design Mode」的使用者應該是什麼樣的人?
iReal® Design Mode 的使用動作,其實無非是載入元件、切割
Layout 畫面、按鍵產生應用軟體。所以即使是不懂得程式設計的人,只要能夠找齊所需要的 ActiveX
元件,就可以使用 iReal® Design Mode,而成為一個 iReal®
應用架構者了。
話說回來,架構 iReal® 應用最重要的,其實是商業課題 ── 在 Design
Mode 動作執行前,要去分析是否應該為不同的 End User 族群,組合出不同的功能元件套餐,這才是最有價值的。
比如給高階主管看的功能,可能就與一般員工者不同;或是不同部門的員工,應該就給他/她不同功能的元件組合。
| 關於 Design Mode 之版面產生器
(Screen Generator) |
執行 iReal® Design Mode 的最重要目標,其實就是在讓應用架構者使用版面產生器
(Screen Generator,或謂應用軟體產生器 ── Application Generator)。
我們以下面一系列的圖形為例說明:
| 
|
| 圖二、iReal®
Design Mode 下的視窗 Layout 切割工具 |
圖二是 iReal® Design Mode 執行後,用滑鼠拖曳切割
Layout 使用者介面的範例。圖中的每一框格,都將被至入一至多個 iReal® 元件。請特別注意最上方水平切割的三框格。
 |
| 圖三、將各
iReal® 元件拖曳擺入各框格中 |
在最上方水平切割左邊的大框格中,拖曳擺入 iReal® 元件:[自選股]、[股票]、[期貨]、[選擇權]
等四個文字報價元件。在右上方框格中,擺入 [走勢圖] 元件。在右下方擺入
[大盤行情] 元件。
繼續在其他空白框格中擺入 iReal® 元件。之後,按鍵產生對應
Layout 之應用軟體。
執行被產生之應用軟體,即是 iReal® User Mode,如下圖四:
 |
| 圖四、iReal®
User Mode 之執行圖例 |
不只是如上的大視窗,iReal® 版面產生器,也可以 Layout
任意大小尺寸的視窗,如下三個系列圖示,即為範例:
 |
| 圖五、用
iReal® Design Mode 切割一個新的小視窗 |
 |
| 圖六、將各
iReal® 元件拖曳擺入各框格中 |
 |
| 圖七、iReal®
User Mode 之執行圖例 |
而所謂的一個 iReal®
架構,可以切換執行多個版面視窗,就是您可以使用 [PageUp]、[PageDown] 按鍵,在如圖四與圖七之
User Mode 大、小視窗間切換執行。
註一:如何區分
iReal® Design Mode
與 iReal® User Mode?非常簡單,就是看視窗之功能選項。如上圖七與圖六、圖五之功能選項就有所差異。
| 關於元件與程式自動更新機制 ── iUpdater |
iReal® 有一個特別值得強調的功能特色,可以為開發者節省大量的維護成本,就是其內建有元件與程式自動更新機制,我們稱之為
iUpdater。
iUpdater 在 iReal® 主程式啟動之前,會先進行元件與程式的更新程序。
iUpdater 的自動更新作業流程如下:
1. 讀取本地端的 recover.ini,以便取得下列資訊:
2. 與更新伺服器主機連線。
3. 檢查伺服器上的 component.lst 與本地端的 component.lst
內容之差異,以決定哪些檔案需要進行下載更新。
4. 將所需要的更新檔案下載到暫存目錄。
5. 移動下載完成的檔案到 component.lst 指定的目的位置,並登錄元件。
6. 啟動 iReal® 主程式,並結束 iUpdater。
上述的更新列表 ── component.lst 中每一行都紀錄著一個更新檔案的資料,該行資料記錄以下幾個欄位,並以空白字元做為區隔字元,"#"
開頭者為註解行:
 |
| 圖八、iUpdater
正在進行更新 iReal® 之圖例 |
元大京華證券採用艾揚科技 iReal®
開放式軟體架構打造的「元大理財機」已經於日前正式上線。這套功能強大,具多種特色的「元大理財機」,以 iReal®
軟體架構,搭配現成的標準化元件模組,直接產生出包含股票、期貨、選擇權即時資訊三合一的揭示功能,也具有線上下單與即時主動委託回報、成交回報模組,讓投資人可以隨時掌握投資動態,於第一時間進行交易。
此外,「元大理財機」也提供了貼心的自選股混合設定,讓投資人可以同步掌握各類金融商品的即時資訊,以整合式的操盤概念,提供投資人交易的重要參考。
如下三圖,即為「元大理財機」運用 iReal® Design
Mode 切割設計出的三種執行版面視窗,使用者按鍵盤之 [PageUp]、[PageDown],即可進行畫面切換:
| 
|
| 圖八、「元大理財機」版面一
<大畫面> |
| 
|
 |
| 圖九、「元大理財機」版面二
<小畫面> |
圖十、「元大理財機」版面三
<迷你版> |
如果您對試用 iReal® 此一具有應用軟體產生器的軟體架構感到興趣,或是欲索取更多的相關技術文件,都歡迎您與艾揚的服務人員聯繫,我們會有專人為您安排,聯繫資料如本文最後之附註。
要提醒您的是,欲使用 iReal® Design Mode,除了程式之外,您還必須要取得由艾揚科技核發的
License Key。若您有需要,可以登入
ICE Developer Center,於 iReal Program 一區,免費申請試用 License
Key。
而對於有意要開發 iReal® 元件的人而言,我們則提醒您應該要為您所開發的元件,向艾揚申請
iReal® Component ID。
這是為保障各位所開發的 iReal® 元件可以正常運作,避免與他人開發的
iReal Component ID 重複,所以為元件申請唯一的 ID,是非常重要的事。
您可以登入
ICE Developer Center,於 iReal Program 一區查詢已通過艾揚公司審核的所有
Component ID 資料庫。除藉此避免 ID 申請重複外,也可了解到有哪些 3rd-Party
開發了哪些應用元件,並可進一步交流,促進商機之展現。