首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 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 >. 


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

應用篇:iPush® Server 部署案例


本期內容大綱

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

「邊開火邊移動」戰火下的 Developer

這是 TVxS 戰地特派記者「啊耳賽耐特」來自戰區的現場報導 ~~~~~~

不是啦!每次編輯手札都寫嚴肅的東西,這次決定輕鬆一下,跟大家分享一個有趣的網頁,充滿著 Software Developer 的情懷告白。

這個叫做 「約耳談軟體」(Joel on Software) 的網站,作者 Joel 是紐約一家小型軟體公司 Fog Creek Software 的軟體工程師,這個 Joel 自己的網站,則是提供一些對 Developer 有用的秘技或觀念。秘技對我來說並不是太具吸引力,最近我最喜歡的是「邊開火邊移動」一文前頭的「軟體工程師的一天」該段。

請點選上面的超連結,Joel 說:「當你進入狀況後,要繼續維持並不算太難。我的一天通常都是這樣子的:

(1)上班 (2)看信看網頁等等 (3)決定應該吃過午飯後再做事 (4)吃完午飯回來 (5)看信看網頁等等 (6)終於決心該開始幹活 (7)看信看網頁等等 (8)再度下定決心真的該開始做事 (9)把該死的編輯器叫出來然後 (10)不斷地寫程式,直到突然發現已經下午 7 點半了。」

我通常會在最短時間內跨過第 (8) 與第 (9) 之間的鴻溝,馬上好好工作,撰寫行銷文案!老闆,像我這樣的模範員工,絕對不像軟體工程師那樣,應該可以加薪了吧!

不過,於我心有戚戚焉的「鴻溝」,實際上指的是趕快跳過第 (10),直達第 (11):下班!哈。

話說回來,即如約耳說的,已經有不少的廠商,在微軟的「邊開火邊移動」策略中陣亡。這結果對 Software Developer 來說,有好有壞。壞的是,缺少多樣化技術的來源;好的是,似乎緊跟著微軟,就可以得到救贖。但事實真是這樣嗎?留給您自己去思考。無論如何,在 Java Community 這端,也還有實力可以不斷的「邊開火邊移動」,Developer 至少還有兩邊可選。幸哉,幸哉。 

 
[訊息論壇] ICE Messaging Forum    郭漢丞

應用篇:iPush® Server 部署案例

經過第 15 與 16 期艾揚電子報關於部署 iPush® Server 的單機篇與叢集篇之後,相信各位讀者對於部署之道已經有了基本的認識。本期我們將繼續部署 iPush® Server 這個話題,舉出一個金融服務單位的應用實例,讓理論上的部署之道有一個可以參考的案例,以輔助您進一步的瞭解。

理論與實際的差異

在進入案例探討之前,我們必須要了解,前面的兩篇部署之道,側重於正確部署的各種執行項目,包括組態檔 (*.ini)、Load Balancer、 Firewall 等設定,著重於設定之示範。

不過實際上的情況是:許多我們所提出的理論步驟,卻與您的真實環境有所差異。因此,部署之道除了必須正確地完成設定之外,更重要的是,必須將應用的環境考慮清楚,目標是在部署完成後,可以一次就把新系統整套執行起來。

最後,就算所有最壞的狀況、令人哭笑不得的奇異事件都發生了,也要想辦法讓系統能夠正常運作。換句話說,當您打算將新的系統部署上線,必須先想好各種可能情況下的退路,隨時有應變方案在手上,以備不時之需。

金融事業的案例

我們只能夠告訴大家,這是一家金融服務單位的實際案例。與客戶機密有關的部分必須予以省略,只舉出問題與思考方向與讀者交流。但可貴之處,還是在於這是一個真實的部署案例。

金融事業單位對於 iPush® Server 的部署要求標準可不低,因為金融機構的資訊服務必須滿足幾項特性:

  1. 不停機服務特性:即使是新系統上線,也必須維持不中斷的服務。

  2. 大量資訊服務量能:同一資訊服務必須提供大量客戶在密集時段中使用。

  3. 客戶使用習慣適應性:客戶要能夠對新資訊服務的使用者介面 (Uer Interface) 快速上手。

對於專案經理而言,上述三項要求在金融服務單位應該都不算是「苛求」吧?實際上,無論團隊在 SA、SD 階段有多少的共識與默契,到了真正部署完成的那一天,恐怕沒有百分之百相信不會出狀況的專案經理。在新系統正式部署上線之前,大概都要心裡默唸阿彌陀佛或是聖母瑪麗亞,祈禱一切順利。

確實,儘管可以頃全力模擬部署時可能發生的問題,但是有些情況是不等到真正上線,還真是不容易想得到。網路環境、防火牆、不同使用者執行環境種種因素影響,很容易讓系統總是在無法預測的地方出問題。

無論如何,面對金融服務單位即將上線的新系統部署,沒有人敢掉以輕心,務求在每一方面執行得盡善盡美。

前面三項金融資訊服務的特性需求中,第 3 項屬於應用面的客戶端軟體設計範疇;而前面的兩項,就與系統技術或部署架構直接相關了。

由於 iPush® Server 已經具備的幾項系統技術架構,所以足以應付前面兩項的需求。這幾項系統技術架構包括了:

  • Fail Over (錯誤轉介)

  • Fault Tolerance (容錯機制)

  • Load Balancing (負載平衡)

  • Scalability (擴充性)

在新系統部署上線之前,以上技術架構於個案實際執行環境上的運行發揮,必須獲得充分的討論,在部署上則會因為需求的不同,而產生差異,必須進行調整。

以金融服務單位而言,必須不中斷地提供資訊服務,同時必須考量已經存在的客戶使用習慣,因此在正式上線之前,必須要執行準備階段的工作。

部署之預備動作:預告服務改版 (Trial Run)

此案例中的金融服務單位使用在 Browser 上執行的 Java Applet 來做為 iPush® Server 的應用客戶端,即這是一個 Web 資訊服務系統,而且這是一個用來取代舊有服務的新系統。

為了讓新的資訊服務能夠讓客戶接受且快速上手,因此在舊的服務退役之前,必須有一個新舊系統的切換準備階段。亦即在舊有資訊服務還在繼續運作之時,就先在服務進入的 Web 頁面通告新版本消息,讓客戶可以先行熟悉,甚至連結使用新系統。

在這時期,實際上是以兩套新舊系統同時運行,一方面讓客戶可以持續舊有服務,一方面也可以測試新系統的穩定性。

在艾揚的經驗中,旗艦級的訊息中介軟體 iPush® Server 幾乎沒有失誤過,問題多半發生在客戶端的 Java Applet 或 Application 設計有 Bug 存在,讓服務的效能打了折扣。

在經過一 ∼ 二週左右的切換準備階段,已經有許多客戶已經實際試用過新的應用軟體,同時系統的小問題也在這段時間中發現,工程人員開始執行最後階段的除錯與調整。

正式部署

切換準備階段順利完成後,就到了要全面除舊佈新的階段了。

這是最令人緊張的時候,雖然新的系統在事前評估與切換準備階段中,確實能夠有效地提昇服務效能,但是客戶端要求的是正常使用,因此即使部署運行出了小狀況,也必須確保系統能持續運作。對於金融服務事業而言,中斷的每一分鐘都可能是幾百萬的損失。

為了避免產生可能的服務中斷風險,因此我們必須先將「退路」想好!這些「退路」當然還是得從 iPush® Server 的特性當中尋找。

因為 iPush® Server 具備同時運行的備援特性 (Redundancy),面對金融事業服務大量客戶的特性,這裡可以採用「叢集式」的 iPush® Clustering 部署,在「備援」這件事情上,就有了許多選擇和方法,以便確保最穩定的系統運作。

我們再一次參考上一期中提到的具 Fail Over 能力的雙 Connection Center 主機範例架構:

圖例. 具 Fail Over 能力的雙 Connection Center 主機範例架構

將交易所的資訊源與交易資訊送入上層左方的第一部 iPush® Server (Connection Center 1),與這一部 iPush® Server 平行的層級,我們另外裝設了另一部 iPush® Server (Connection Center 2),同時接收另一組備援使用的資訊源,一旦第一部 iPush® Server 出現狀況,系統會在第一時間切換至第二部提供資訊服務的 iPush® Server,以確保資訊服務內容來源不會中斷。

其次,第二層 (L2, Level 2) 部署的 iPush® Server,串接來自上層的 iPush® Server 資訊,以及直接提供客戶資訊服務。這裡可以部署好幾部 iPush® Server,以因應大量線上客戶的需求。

叢集式部署提供完備且簡易的服務擴充性

在上述的金融服務單位案例中,在細節上還有值得深入探討的地方,經過審慎思考後的執行架構,讓我們提供了一次成功的部署。

在金融即時訊息服務上,經計算與實證,每一部 iPush® Server 可同時服務的連線數量 (Concurrent Connection),可以達到 2,500 個。而如上的叢集式部署,讓新上線的服務系統幾乎可以無限量地擴充服務量能。如果使用者增加,只需在第二層增加 iPush® Server 的數量與叢集對外的頻寬,並不會影響到原有系統架構。

還有進步的空間 ─ 更上層樓的異地備援

在這個案例當中,是不是已經完美無缺地達成「永不停頓」服務的要求了呢?

在備援設計上,其實還是有更進一步發揮的空間。在上述的架構下,Connection Center 只有兩部 iPush® Server 相互備援,所以還是有可能讓實際位在同一地點的兩部 iPush® Server,因為地震、水災、網路骨幹中斷、或其他人為因素,造成同時中斷服務的可能。

改進的方案,則是利用 iPush® Server 可以遠距分散多點部署的能力,讓多部 Connection Center iPush® Server 採用「異地備援」的方式來更上層樓部署。

下次的採訪篇,將由艾揚的專業團隊成員現身說法,提供實際部署的心得體驗,敬請期待。

 

[訊息技術說文解字] ICE Messaging Glossary   陸一凡
  • Secure Sockets Layer (SSL)    網路安全協定

這個獨特但又已經成為主流的網路通訊協定,係由 Netscape (網景) 公司為了要在網際網路上傳輸具隱密性的文件所設計的。

SSL 的運作模式,是由 Public Key (公開金鑰) 與 Private Key (私密金鑰) 這兩把成對的 RSA 數位金鑰結合而成。資訊傳輸時,傳送者先使用接收者的 Public Key 為資訊加密,經由網路傳輸至接收端後,再由接收端持用其 Private Key 將資訊解密還原。

現今大多數的網路瀏覽器,包括 Netscape Navigator 和 Internet Explorer 都支援 SSL 的傳輸,用來與安裝有 Server-side Certificate 的 Web Server 進行安全通訊;需要 SSL 連線的網頁,其 URL 開頭為 https,而非一般的 http。

  • Distributed Computing Environment (DCE)   分散式計算環境

所謂的計算環境,就是指一套完整的服務技術結合在一起;這套技術是由 Open Software Foundation (OSF) 為了要滿足軟體程式可在不同平台上執行而開發的。

DCE 的服務包括了遠端程序呼叫 (Remote Procedure Calls, RPC)、安全性服務 (Security Service)、目錄服務 (Directory Service)、時序服務 (Time Service)、以及分散式檔案服務 (Distributed File Service)。

DCE 為大型的企業資訊系統所需的安全性與容錯性,提供了非常好的系統目標。在軟體設計實務上,不論是 Java Community 還是 Microsoft .NET,其實都有著類似的架構 (Framework) 與服務組件,以供 Software Developer 使用。

 
[艾揚快訊] ICE Express   ICE Developer Center

<快訊 1> 

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 !

<快訊 2> 

iPush® API for ActiveX & Java Package 檔案更新,敬請下載

iPush® ActiveX Control Module API (iPushX.ocx) v1.4.4.1 更新摘要如下: 

  • 使用 thread 及虛擬 window 來接收,以避免使用 CSocket 造成無法接收大量快速的資料 (socket 的 callback 訊息會消失)。

  • 使用數位簽章,內含 VeriSign 核發之 Code Sign Certificate。

iPush® Java Package API (iceipush.jar) v.1.1.6 更新摘要如下:

  • 將 netConnect 函式改為,如果回傳 true 表示 login 成功,false 表 timeout (沒收到 xinit 或 xaucode) 或是 login fail (有 exception)。

  • client 三分鐘會 xpin server,如果三次都沒有回 xpon 則斷線通知 client。

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

API 更新檔案下載,請先登入 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.