陳俞強 郭劍嵐
東莞職業技術學院計算機工程系 廣東 523808
傳統的傳真營銷受到很多因素的限制,比如需要傳統電信線路、傳真機自身設備以及傳真紙等消耗器材的支持,而網絡傳真則完全可以避免因為這些因素變化而產生的影響。當營銷人員急于給大量客戶發傳真時,可能傳真號碼資源是有限的。而當客戶回傳回執時,也可能因為兩個原因造成麻煩:一是可能會占線,二是可能會缺乏傳真紙。另外,由于傳真機壽命的限制,隨著使用會消耗傳真機本身維修費用。如果通過傳統傳真機給客戶發送傳真,還會受到內容的調整所造成的影響。營銷人員發給每一位客戶的傳真資料可能都需要調整內容,以提供個性化服務。但傳統傳真的做法是需要在電腦上修改,修改完畢后打印出來,然后發給客戶。而網絡傳真只要在電腦上修改后直接發送給客戶就可以了,節省了很多時間。
.NET Framework是支持生成和運行下一代應用程序和XML Web Services的內部Windows 組件,它是面向XML Web服務的平臺。Microsoft.NET擴展了通過任何設備隨時隨地操作數據和進行通訊的能力。.NET 使用分布式計算模型并基于開放標準(如XML)將PC與其他智能設備連接在一起。.NET Framework具有兩個主要組件:公共語言運行庫和.NET Framework類庫。公共語言運行庫是.NET Framework的基礎。.NET Framework的另一個主要組件是類庫,它是一個綜合性的面向對象的可重用類型集合,可以使用它開發多種應用程序,這些應用程序包括傳統的命令行或圖形用戶界面(GUI)應用程序,也包括基于ASP.NET所提供的最新創新的應用程序(如Web窗體和XML Web Services)。
網絡傳真服務系統主要由傳真服務器、傳真卡、傳真服務器軟件、數據庫、客戶機、郵件服務器和PSTN網等組成。網絡傳真服務系統組網圖(如圖1所示)。

圖1 網絡傳真服務系統組網圖
用戶利用IE瀏覽器經互聯網利用TCP/IP協議連接到傳真服務器,傳真服務器構建在Windows 2003 server上,Web服務器利用Windows自帶的IIS,數據庫為與操作系統和IIS完美整合的SQL Server 2005。傳真服務器程序根據系統功能而模塊化,傳真服務系統由傳真卡連接到PSTN電話網絡執行傳真操作,整個傳真服務系統構建在.NET平臺之上。通過系統需求分析得到系統架構圖(如圖2所示)。

圖2 網絡傳真服務系統架構圖
系統中的角色主要包括:會員用戶、系統管理人員、收件者,系統的用例包括:會員注冊、會員設置、在線充值、文件轉換、傳真發送、傳真記錄管理、傳真接收、計費、回執、傳真狀態監控、用戶基本信息管理、權限管理和系統維護。系統管理員通過用戶基本信息、傳真記錄管理客戶的信息資料,系統管理員還具有權限管理及后臺維護功能,并且可以對傳真狀態進行監控。此外,用戶注冊后,可以對其賬戶在線充值,之后就可以使用系統提供的各項傳真服務。
從上分析得出,本系統的功能模塊包括會員注冊、會員設置、在線充值、文件轉換、傳真發送、傳真記錄管理、傳真接收、計費、回執、傳真狀態監控和系統管理。功能模塊圖(如3所示)。

圖3 網絡傳真服務系統功能模塊圖
系統的各個功能模塊的詳細功能描述如下:
(1)會員注冊:會員注冊模塊提供會員賬戶注冊的機制。會員須提供賬戶密碼和個人用戶資料,系統保存用戶個人資料和賬戶密碼。
(2)系統管理:系統管理模塊執行會員管理,系統內部維護等功能。系統管理員具有最高權限,包括管理系統硬件資源的設置,增加和刪除系統的用戶,分配他們的使用權限,定義使用時間段。
① 系統硬件資源設置:包括傳真速率的設置和傳真通道的設置。
② 定制外線通道的呼入、呼出功能。
③ 傳真客戶資源的管理:負責管理對傳真用戶的建立以及刪除,記錄用戶的相關信息,這些信息必須與用戶的傳真信息相對應。
(3)會員設置:會員設置模塊驗證通過的會員可以設置接收聯系人和聯系電話,設置自己的接收傳真郵箱地址。
(4)會員充值:會員可以為賬戶充值,用網上銀行來進行充值操作。
(5)文件轉換:由于用戶提交的電子文件格式多種多樣,為實現傳真的發送,必須進行文件格式的轉換。系統對一般常用文件如txt、pdf、gif、tif、jpg和windows辦公文件doc、xls、ppt等執行格式轉化,轉化為傳真卡能識別的tif格式。
(6)傳真發送:傳真發送模塊負責傳真的發送,包括以下幾個方面的功能:
① 多路發送傳真,可同時向多個用戶發送傳真,并可靈活擴展。
② 定時發送,用戶可以自由選擇發送時間。
③ 自動重發,在發傳真的過程中,如遇到對方傳真占線無法撥通,系統自動重撥。
④ 群發傳真,將相同內容的傳真文件通過一次發送動作發給多個收件人。
⑤ 信息通知,傳真發送錯誤后,及時向用戶反饋錯誤信息,如對方號碼錯誤、線路忙等信息。
(7)傳真記錄管理:所有傳真均以電子文件的形式存儲在服務器上,便于管理和歸檔。系統及時自動的保存用戶的傳真記錄,查看、保存、修改、刪除歷史傳真記錄和傳真文件,并可按時間段定時備份。
(8)接收傳真:自動將用戶收到的傳真文件以附件的形式發送到用戶設置的郵箱。
(9)計費:收發傳真按規定計費。
(10)回執:執行傳真任務后,將其結果返回到用戶郵箱。
(11)傳真狀態監控:系統提供傳真收發過程的監視,包括任務列表的顯示,以及日志查看,給用戶提供全面的狀態監視,包括以下三個方面的內容:
①傳真卡外線通道的監控;②卡上傳真通道的監控;③待發傳真的列表監控。
本系統模塊設計原則是系統每個功能模塊獨立實現特定的功能,各個模塊可相互調用,但是又必須是弱耦合的。各個模塊的后臺程序引用該模塊下的類庫,各模塊之間的調用則由不同功能的類庫引用來完成。
本系統使用C#語言來開發各個模塊,另外傳真卡是PSTN與Internet的橋梁,系統程序中是利用.NET框架提供的庫函數來實現傳真卡驅動程序包,通過PSTN實現與傳真機之間的低級通訊,系統間接的利用傳真接口卡的API接口來獲得低級通訊服務,連接傳真卡發送和接收傳真。
在使用C#實現系統程序中,采用多線程技術來控制多個傳真任務的并發操作。系統主進程中包含了以下線程:
(1)主線程:主要完成系統初始化,同時還負責創建系統需要的所有子線程,并實現與用戶的交互。
(2)SMTP線程:負責系統郵件的發送,該線程周期性的檢查輸入隊列,如有來自遠程傳真機的傳真信息,則用MIME編碼把該tiff文件封裝起來,通過SMTP協議將其以郵件的方式發送給用戶。
(3)上傳文件提取線程:負責用戶上傳到系統的傳真文件的提取,該線程周期性的檢查來自用戶的傳真信息。如果發現上傳的傳真文件,則將其加入輸出隊列,其后的操作由傳真發送線程來完成。
(4)發送傳真線程:負責傳真的發送,其中又可包括多個子線程來執行群發。
(5)接收傳真線程:負責傳真的接收,該線程周期性的檢查發給系統或用戶的傳真信息。如果發現有發來的傳真文件,則將其加入輸入隊列,其后的操作由SMTP線程來完成。
本文分別從硬件應用、系統架構、功能模塊等方面進行了設計說明。文中給出了整個系統的架構圖,系統程序設計原則是系統每個功能模塊可獨立的實現特定的功能,各個模塊可相互調用,但是又必須是弱耦合的,從而實現系統設計。系統通過使用文件格式轉換和在線支付等技術方法,充分的實現了辦公自動化,降低了成本,提高了工作人員的工作效率。
[1]張順頤.傳真通信技術基礎.北京:電子工業出版社.1994.
[2]彭愛國,李建華.計算機傳真中串行通信的研究與實現.計算機工程.1999.
[3]溫錦山,唐柱鵬.Delphi串口及語音傳真高級編程.北京航空航天大學出版社.2002.
[4]游明星,劉立柱.基于Internet現狀的IP傳真設計探討.電訊技術.2001.
[5]謝擁軍.利用傳真機實現計算機通信,重慶郵電學院學報.1998.
[6]王白星.PC傳真.計算機知識.1998.
[7]Frank Potocnik.Brooktrout Technology and Real-Time Fax Over IP.USA: Brooktr out Inc.2004.
[8]Intel Corporation Telecommunication and Embedded Group,Fax Software Reference for Windows,Intel Corporation Telecommunication and Embedded Group,Parsippany.2002.