Ibuilder語音業(yè)務(wù)流程圖形化開發(fā)平臺
2003/08/18
1 產(chǎn)品概述
Ibuilder產(chǎn)品是業(yè)務(wù)流程圖形化開發(fā)和調(diào)試的平臺,適合于自動語音應(yīng)答業(yè)務(wù)(以下簡稱IVR業(yè)務(wù))的開發(fā)與管理,它是IVR系列產(chǎn)品(IVR系列產(chǎn)品由iBuilder、iMediaServer、iScriptServer三個部分組成)的重要組成部分。該產(chǎn)品根據(jù)IVR業(yè)務(wù)流程特點,通過圖形化方式非常直觀的表達(dá)了IVR業(yè)務(wù)流程,該產(chǎn)品不要求業(yè)務(wù)流程開發(fā)對交換機(jī)或者板卡編程有深入的了解。
該產(chǎn)品為業(yè)務(wù)流程開發(fā)提供了六類圖形化的節(jié)點,它們分別是引用節(jié)點、分支節(jié)點、分支子項節(jié)點、分支默認(rèn)節(jié)點、計算節(jié)點、IO節(jié)點,這六類節(jié)點都可以創(chuàng)建、拷貝、粘貼、刪除。它通過分支圖形節(jié)點的創(chuàng)建、增加分支子節(jié)點和默認(rèn)子節(jié)點以及圖形節(jié)點的參數(shù)修改實現(xiàn)了IVR業(yè)務(wù)流程的框架定制;通過計算節(jié)點所支持vb或者java的腳本,達(dá)到了IVR業(yè)務(wù)流程邏輯實現(xiàn);通過增加引用節(jié)點達(dá)到業(yè)務(wù)間互相調(diào)用;通過IO節(jié)點,腳本程序可以對語音板卡提供的功能如:語音播放、按鍵接收、傳真發(fā)送與接收等的功能進(jìn)行調(diào)用,實現(xiàn)了業(yè)務(wù)開發(fā)者不需要了解語音板卡或者交換機(jī)底層的編程,達(dá)到了二次開發(fā)的目的。
該產(chǎn)品通過將所有業(yè)務(wù)分別處于樹形化的節(jié)點上,可以直觀的對業(yè)務(wù)進(jìn)行增加、刪除、修改的管理。增加子業(yè)務(wù)的時候,必須帶有業(yè)務(wù)類別,實現(xiàn)業(yè)務(wù)管理歸類化,避免業(yè)務(wù)管理的混亂。該產(chǎn)品還支持業(yè)務(wù)流程的樹形化表示,使業(yè)務(wù)流程開發(fā)者可以方便地了解業(yè)務(wù)流程的全局框架。
該產(chǎn)品通過加載不同的類庫,實現(xiàn)了對不同種類的語音板卡的支持。目前支持的語音板卡有DIALOGIC系列語音板卡、東進(jìn)的DN系列板卡以及三匯公司的板卡。還內(nèi)置支持了國際標(biāo)準(zhǔn)的cti協(xié)議:ct-connect、TAPI和TSAPI等,只要支持標(biāo)準(zhǔn)CTI接口的交換機(jī)平臺,ibuilder產(chǎn)品都能予以支持。
2 產(chǎn)品體系架構(gòu)

腳本編輯層:通過對圖形化的節(jié)點的編輯,實現(xiàn)了xml與vb或java腳本的編輯,并能將這些腳本按照標(biāo)準(zhǔn)的規(guī)范進(jìn)行組織和保存。這些腳本信息里包含著所有的業(yè)務(wù)流程。
編譯調(diào)試層:通過腳本編輯層生成的腳本,可以在編譯調(diào)試層對腳本進(jìn)行編譯和調(diào)試,支持?jǐn)帱c、單步等調(diào)試,并具有vb或者java腳本的編譯錯誤信息定位的功能。
腳本驅(qū)動層:通過對生成的腳本進(jìn)行加載,一方面通過底層硬件遠(yuǎn)端服務(wù)代理層實現(xiàn)對分布式服務(wù)調(diào)用,實現(xiàn)語音功能的處理,另一方面通過腳本當(dāng)中嵌入的com控件,實現(xiàn)對外的各種接口如:通訊接口、數(shù)據(jù)庫操作接口等等,只要com控件能夠支持的功能,它都支持,保證了接口無限制的功能。如果語音處理需要cti事件的參于,則腳本驅(qū)動層通過cti事件的監(jiān)控,來收集交換機(jī)發(fā)生在板卡的事件,以及針對這些事件進(jìn)行腳本的啟動和腳本的終止操作。
CTI事件處理層:通過內(nèi)置了ct-connect的客戶端,使ibuilder系統(tǒng)能夠檢測到交換機(jī)對語音板卡進(jìn)行的所有的操作,并能夠予以響應(yīng)。
遠(yuǎn)端服務(wù)代理層:該層提供遠(yuǎn)端服務(wù)本地化代理的功能,在遠(yuǎn)端提供的服務(wù),使用起來就象本地調(diào)用一樣。在本系統(tǒng)中,它主要代理了遠(yuǎn)端電話服務(wù)的功能,如包括:語音、錄音、傳真、事件等各方面的功能。
遠(yuǎn)端服務(wù)層:通過對本地的硬件抽象層的對象功能的封裝,實現(xiàn)本地功能的對外廣告和提供相應(yīng)功能的服務(wù)。
硬件抽象層:通過抽象各種硬件板卡的接口,通過統(tǒng)一的封裝,對外提供統(tǒng)一的功能服務(wù),來屏蔽硬件的差異性,達(dá)到腳本編程硬件無關(guān)性目的。
如圖2.1所述,ibuilder產(chǎn)品覆蓋了腳本編輯、編譯調(diào)試、腳本驅(qū)動、遠(yuǎn)端服務(wù)代理的功能,占據(jù)了IVR業(yè)務(wù)系統(tǒng)重要的一部分。
3 產(chǎn)品技術(shù)的特點
3.1 圖形化處理方面
·業(yè)務(wù)流程圖形化表示,業(yè)務(wù)管理直觀方便,適合業(yè)務(wù)流程方面的管理和設(shè)計。如圖3.1所示。
·業(yè)務(wù)流程圖形化自維護(hù)的功能,保證了圖形化界面的整潔度。
·圖形化節(jié)點編輯方面,多畫面之間互相編輯,節(jié)點編輯很直觀,方便業(yè)務(wù)開發(fā)。通過可以選擇一個節(jié)點,然后按鍵ctrl+c拷貝,在需要粘貼的節(jié)點中點擊后,再按鍵ctrl+v,即可以將節(jié)點粘貼在選中的節(jié)點的子節(jié)點中。
·業(yè)務(wù)流程地圖化,方便瀏覽。業(yè)務(wù)流程開發(fā)者可以通過拖動地圖里的紅色矩形框,達(dá)到業(yè)務(wù)流程視圖移動到目的節(jié)點。
·菜單動態(tài)生成,調(diào)用函數(shù)可動態(tài)定義,可擴(kuò)展方向是:支持動態(tài)庫動態(tài)載入,支持用戶基于函數(shù)級別的二次開發(fā)。

(點擊放大)
3.2 調(diào)試功能方面
·支持圖形化的斷點設(shè)置,單步、多步調(diào)試的功能。在需要設(shè)置斷點限制的地方,選擇該節(jié)點,鼠標(biāo)點擊斷點調(diào)試功能按鍵,則任何經(jīng)過該節(jié)點的流程都會在該節(jié)點暫停,等待開發(fā)者察看或者修改輸入輸出變量、腳本。點擊執(zhí)行下一步,則流程會經(jīng)過該節(jié)點,在下個節(jié)點暫停,如果開發(fā)者不想單步執(zhí)行,可以點擊執(zhí)行按鈕,則流程立刻執(zhí)行不會停住。如圖3.2所示。
·支持語音卡和聲卡的調(diào)試方式,是該產(chǎn)品的一個突破,有別于其它產(chǎn)品的一個功能。特別在市場推廣方面可以當(dāng)場演示,很有吸引力。
·輸入輸出變量的圖形化輸出。通過鼠標(biāo)在相應(yīng)節(jié)點上暫停,屏幕上就可以看到該節(jié)點相應(yīng)的輸入輸出變量的值,非常方便業(yè)務(wù)開發(fā)者使用,也是業(yè)務(wù)開發(fā)者非常需要的功能。這是一個平臺級的功能,任何敢稱為開發(fā)平臺級別的產(chǎn)品,應(yīng)該具有該功能。

(點擊放大)
3.3 分布式處理方面
·支持多機(jī)器分布式的資源驅(qū)動。
·支持分布調(diào)試的功能,方便開發(fā)人員開發(fā)。
·支持分布式配置管理。
3.4 腳本支持方面
·全面采用xml技術(shù)。xml技術(shù)是一種很好的業(yè)務(wù)表示載體,也是程序開發(fā)的一個法寶。
·全面支持vbscript、java的script腳本技術(shù),提供更廣闊的擴(kuò)展空間。
·提供語法檢測機(jī)制,支持語法錯誤定位功能。
3.5 其它方面
·支持多線程處理方式,節(jié)省運行服務(wù)的內(nèi)存空間。
·采用三層式系統(tǒng)體系架構(gòu),加腳本引擎技術(shù),實現(xiàn)業(yè)務(wù)腳本與硬件系統(tǒng)無關(guān)性。
倍特力電子公司供稿 CTI論壇編輯
相關(guān)鏈接: