當前位置:名人名言大全網 - 短信平臺 - 采用的關鍵技術

采用的關鍵技術

1.分層開發

在前些年的軟件開發中,兩層結構占有很重要的位置。兩層的體系結構壹直到現在還廣泛存在,但是兩層結構卻有著很多的缺點,例如,客戶端的維護成本高、難以實現分布式處理。隨著在兩層結構的終端用戶和後端服務間加入更多的層次,多層的結構出現了。

經典的三層理論將應用劃分為三個層次,見圖2-63。

表示層(Presentation Layer),用於處理人機交互。目前最主流的兩種表示層是Windows格式和WebBrowser格式。它主要的責任是處理用戶請求,例如,鼠標點擊、輸入、HTTP請求等。

邏輯層(Domain Logic Layer),模擬了企業中的實際活動,也可以認為是企業活動的模型。

數據層(Data source Layer),處理數據庫、消息系統、事務系統。

在實際的應用中,三層結構有壹些變化。例如,在Windows的。NET系統中,把應用分為三個層次:表示層(Presentation Layer)、業務層(Business Layer)、數據訪問層(Data Access Layer),分別對應於經典的三層理論中的三個層次。值得壹提的是,NET系統中表示層可以直接訪問數據訪問層,即記錄集技術。在ADO.NET中,這項技術已經非常成熟,並通過表示層中的某些數據感知組件,實現非常友好的功能。這種越層訪問的技術通常被認為是不被允許的,因為它可能會破壞層之間的依賴關系。而在Windows平臺中,嚴格遵守準則就意味著需要大量額外的工作量。因此,我們看到準則也不是壹成不變的。

本系統中,數據訪問層須進壹步劃分,分為基礎數據訪問層與業務數據訪問。前者主要完成數據庫訪問與事物處理,後者針對數據庫中的表繼承基礎數據訪問的對象,實現自身的數據訪問要求。由於本系統涉及到圖形配置及接口數據交互,表示層采用了桌面方式與IE器方式相結合,業務操作主要在IE進行,而工作流配置及與P3(或MS Project)數據接口主要在桌面方式上完成。

圖6-63 分層開發示意圖

2.面向服務架構

SOA(service-oriented architecture,也叫面向服務的體系結構或面向服務架構)是指為了解決在Internet環境下業務集成的需要,通過連接能完成特定任務的獨立功能實體實現的壹種軟件系統架構。SOA是壹個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以壹種統壹和通用的方式進行交互。

本系統采用面向服務架構,組件內部高內聚,組件之間低藕和,提高了系統的可維護性、擴展性和可移植性。

3.采用面向對象的設計方法

本系統采用面向對象的程序設計方法。面向對象軟件開發的主要目的是:采用可復用軟件技術加快問題求解,縮短開發時間和減少軟件開發費用;當軟件功能變更時,只需修改壹個或多個類的實現方法,這樣可使軟件功能變更的影響局部化,從而降低軟件維護的費用。面向對象軟件設計的主要挑戰是將軟件系統分解為基本數據類型或者類和子類,以及對每個基本類和子類特性的定義。具體實現中,我們將設計中具有***性的部分規範化,並編制為父類。在父類中定義公用的數據和處理,其他的子類由父類繼承而來,並根據特殊要求進行適當擴展。

在具體的實現過程中,我們采取了以下方法:

(1)使用對象的封裝性:對基本的類庫,我們對其代碼實行了嚴格的封裝,類庫的變更及升級不會對使用該類庫的程序造成影響,提高了程序的可維護性。

(2)使用多重繼承:我們將常用的功能,如數據的插入、刪除、修改、保存,數據的排序、過濾、查找、替換,表格的打印。

(3)使用多態性:多態性為程序設計帶來了極大的靈活性。我們使用多態性,為不同環境下的相近功能提供了統壹的訪問界面,增強了程序的可讀性。

4.分布式計算技術

分布式技術有很多種,CORBAR、COM+等,在.NET平臺,有WEB服務、Net Remoting技術。Web服務是壹種新的分布式計算技術,它可以跨越應用系統的組件模型、操作系統編程語言的界限,供客戶端或其他服務器調用。

Web服務是利用SOAP在HTTP上執行遠程方法調用的壹種新方法。過去這個問題壹直非常棘手,因為過去使用DCOM(分布式COM),在實例化遠程服務器的對象、條用方法和獲取結果上都是非常麻煩,而且在進行必要的配置時,需要具有很高的技巧。

系統采用Web服務實現分布式結構,分布式事務則采用.Net Enterprise Service實現。

隱式分布式事務實現:

隱式分布式事務最大的優點是無需手工去控制事務,通過代碼塊申明壹個事務範圍,在該範圍內的操作會自動進入事務。此類事務方式通過.Net Enterprise Service中的transactionscope對象實現。

顯示分布式事務實現:

顯示分布式事務手工從DTC得到壹個事務,把事務與需要進入該事務的連接關聯在壹起,手工提交或回滾。此類事務方式通過.Net Enterprise Service中的Committable Transaction對象實現。

5.與工作流引擎集成

本系統中采用的工作流系統,綜合了計算機通信技術、組件技術、圖形技術,其實用性、先進性、可靠性都達到國內領先水平。

6.利用VML技術在瀏覽器中繪制進度計劃圖

在瀏覽器上繪圖,壹直以來是很多軟件公司難以邁進的臺階。系統中采用VML技術,為用

圖6-64 工作流系統示意圖

戶提供了直接在瀏覽器中繪制進度計劃圖的功能,並可以對進度計劃圖進行跟蹤,如圖6-64。

系統中的進度計劃圖有單代號、雙代號兩種表現形式,並可以相互轉換。

7.和Microsoft 0ffice軟件的完美結合和緊密集成

Microsoft Office是常用的辦公軟件,工程管理過程中的許多文件,如工作聯系單,設計變更單等文件大多采用Word格式,而壹些報表采用Excel格式,所以要求系統能Microsoft Office套件無縫連接。強調和 Microsoft Office的集成,既方便用戶的使用,又可以最大程度地保護用戶在Microsoft Office上的投資。

8.與電子簽章及手寫技術的集成

隨著工程項目管理中對文檔的安全性、真實性的要求不斷提高,特別是針對手寫簽名、電子印章的要求更加嚴格,要求在Word/Excel文檔上簽名、蓋章,需要實現多人會簽、簽章可驗證、可認證、防抵賴等功能。東方思維根據實際情況,采用第三方軟件iSignature(該技術通過了公安部安全性檢測)手寫簽名電子印章軟件管理方案。該方案采用信息加密和數據壓縮處理技術,可靠性好,擴展性強,在政府、企業中應用廣泛。

iSignature手寫簽名電子印章軟件由簽章鑰匙盤和軟件構成,簽章鑰匙盤自帶CPU、快速存儲器和加密處理機制,用於存放單位或個人數字證書、印章信息或簽名信息。簽章鑰匙盤通過USB接口和計算機連接。軟件自動嵌入到Word/Excel裏,用來實現印章或簽名。

9.與短信貓的集成

采用與第三方產品GSM-SMModem短信貓進行集成,以實現短信的收發功能,及時提醒待處理的任務或發送通知通告等。

10.OWC技術

OWC,即Office Web Components,是組件對象模型(COM)控件的集合,可用於將電子表格、圖表和數據庫發布到網站上。它們也可用來查看已發布的這些項目以及數據訪問頁。利用“表格模板標簽“技術實現表格與數據庫數據的交換和存儲,解決了在不同高速公路項目中因表格不同(壹般每個項目400張左右)而需在每張表格上重復修改程序的問題。

系統采用微軟的OWC技術,界面直觀,操作簡單。系統中操作的各種表格,與在Excel表格中的操作方式是壹致的,符合用戶的習慣。提高了表格數據填寫的效率。方便報表格式的定制和輸出。

11.與Biztalk Server能方便集成

Biztalk是壹種基於XML的數據交換標準,Biztalk Server是微軟的企業應用集成服務器,之間數據交換的標準就是Biztalk。

系統通過Biztalk Server能方便地與OA等系統集成,包括流程。

12.單點登陸技術

單點登錄采用基於數字證書的加密和數字簽名技術,對用戶實行集中統壹的管理和身份認證,並作為本系統和其它應用系統的統壹登錄入口,同時為通過身份認證的合法用戶簽發針對各個應用系統的登錄票據,從而實現“壹點登錄、多點漫遊”。

13.手持設備(PDA)移動操作

圖6-65 手持設備移動操作

系統采用智能客戶端技術(SmartClient),提供了手持設備(PDA)移動操作功能。如質量驗評,可直接通過PDA進行現場檢驗數據采集,再通過同步機制與服務器數據同步。

14.多線程技術

壹個應用進程中默認的只有壹個線程在執行任務,但系統中常常執行到如壓縮文件、數據傳輸等很耗CPU的任務,如果采用單壹線程,系統地整體性能就會下降。

本系統中采用多線程技術,對於復雜任務啟用新線程來執行,從而保證了系統的性能。

15.Enterprise Library 2.0的應用

Enterprise Library是微軟為企業開發提供的壹套基礎組件,完全實現XML配置使用,包括數據訪問、安全、日誌、異常、加/解密等方面的服務。Enterprise Library 2.0較1.0作了較大的改動,功能更為完善,使用更為簡單。系統采用Enterprise Library 2.0,並進行了二次開發,使得更符合本系統的應用。

16.Ajax技術

Ajax用壹組技術,它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。在Ajax之前,Web站點強制用戶進入提交/等待/重新顯示範例,用戶的動作總是與服務器的“思考時間”同步。Ajax提供與服務器異步通信的能力,從而使用戶從請求/響應的循環中解脫出來。借助於Ajax,可以在用戶單擊按鈕時,使用JavaScript和DHTML立即更新UI,並向服務器發出異步請求,以執行更新或查詢數據庫。當請求返回時,就可以使用JavaScript和CSS來相應地更新UI,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務器通信:Web站點看起來是即時響應的。

系統廣泛采用了Ajax技術,提高了系統的效率,增強了用戶的體驗。