中國OA軟件系統(tǒng)市場,從醞釀、概念、導(dǎo)入、發(fā)展到成為剛性需求,歷經(jīng)了二十多年的時間,這期間,眾多知名廠商如微軟、IBM、九思軟件(www.jiusi.net)、浪潮軟件(www.inspur.cn),以及全國超過成千上萬個大大小小的軟件公司,參與過OA軟件系統(tǒng)的設(shè)計和開發(fā),然而不幸的是幾千套OA軟件系統(tǒng)的研發(fā),其結(jié)果缺失高達(dá)70%的客戶失敗率!幸運的是,中國的OA軟件系統(tǒng)架構(gòu)師們,在這個過程中得到了理念的提煉、經(jīng)驗的積累和技術(shù)的沉淀,并逐步在前人的基礎(chǔ)上,提煉出OA軟件系統(tǒng)開發(fā)的九大原則,基于這些原則上構(gòu)建的OA軟件系統(tǒng),在交付的成功率上得到了大幅攀升。
1. OA軟件系統(tǒng)開發(fā)設(shè)計應(yīng)遵循“可行性和適應(yīng)性”原則
OA軟件系統(tǒng)的開發(fā)設(shè)計,應(yīng)確保技術(shù)上的可行性,適合招標(biāo)人的核心需要,滿足主要功能需求,適應(yīng)需求變化時的系統(tǒng)的免代碼自定義和功能模塊加減、調(diào)整。
OA軟件系統(tǒng)核心需求的吻合度是信息化建設(shè)價值體現(xiàn)的保障,用戶在工作流程、公文管理等方面的核心需求的滿足度是保障項目成功的基礎(chǔ),同時,因信息化建設(shè)不是一蹴而就的事,因此需求也會日新月異,為能夠適應(yīng)需求的變化,OA軟件系統(tǒng)從架構(gòu)上應(yīng)采用平臺技術(shù),從擴(kuò)展上增加功能模塊自定義功能,從而可以免代碼,自定義新功能模塊,適應(yīng)未來的發(fā)展需要。
2. OA軟件系統(tǒng)開發(fā)設(shè)計應(yīng)遵循“前瞻性和實用性”原則
OA軟件系統(tǒng)的開發(fā)設(shè)計,即要考慮到最大限度的增加系統(tǒng)的價值,最大限度的吻合各應(yīng)用者的需求,充分考慮系統(tǒng)今后功能擴(kuò)展、應(yīng)用擴(kuò)展、集成擴(kuò)展多層面的延伸,實施過程應(yīng)始終貫徹面向應(yīng)用,圍繞應(yīng)用,依靠應(yīng)用部門,注重實效的方針。同時又要兼顧到成本控制、項目周期控制等因素,因此在功能的部署上也需要遵循實用主義。
3. OA軟件系統(tǒng)開發(fā)設(shè)計應(yīng)遵循“先進(jìn)性和成熟性”原則
OA軟件系統(tǒng)的開發(fā)設(shè)計,既要采用先進(jìn)的管理理念、計算機(jī)技術(shù)和方法,又要注意軟件系統(tǒng)、硬件設(shè)備、開發(fā)工具、軟件產(chǎn)品的相對成熟。
OA軟件系統(tǒng)的開發(fā)設(shè)計,從設(shè)計思路、開發(fā)原則、系統(tǒng)架構(gòu)、網(wǎng)絡(luò)拓?fù)洹嵤┸浖到y(tǒng)、硬件設(shè)備、開發(fā)工具等各種角度考慮整體解決方案的先進(jìn)性,所選主體產(chǎn)品的技術(shù)架構(gòu)具有先進(jìn)及前瞻性,可以跨平臺應(yīng)用或配置,確保所選主體產(chǎn)品在技術(shù)上處于領(lǐng)先水平,充分考慮系統(tǒng)今后的延伸,保證系統(tǒng)5年內(nèi)保持不落后。
產(chǎn)品設(shè)計中建議有限選擇J2EE技術(shù)架構(gòu),在產(chǎn)品開發(fā)過程中融入WEB2.0等眾多先進(jìn)的技術(shù)。使系統(tǒng)具備國內(nèi)同業(yè)領(lǐng)先的地位;保證IT投資的有效性和延續(xù)性。
產(chǎn)品采用了構(gòu)件的思想進(jìn)行設(shè)計,從而能夠做到快速的產(chǎn)品開發(fā)和隨需應(yīng)變。
系統(tǒng)采用了純B/S的圖形化流程編輯器等,確保核心應(yīng)用的客戶化程度。
4. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“開放性和標(biāo)準(zhǔn)性”原則
OA軟件系統(tǒng)的底層應(yīng)支持各個層次的多種協(xié)議,支持與業(yè)務(wù)系統(tǒng)的互通、互聯(lián),應(yīng)用系統(tǒng)采用標(biāo)準(zhǔn)的數(shù)據(jù)交換方式,保證數(shù)據(jù)共享。
優(yōu)良的體系結(jié)構(gòu)設(shè)計,對于系統(tǒng)是否能夠適應(yīng)將來新業(yè)務(wù)的發(fā)展至關(guān)重要。本系統(tǒng)采用J2EE規(guī)范,遵循SOA標(biāo)準(zhǔn),采用JAVA語言編寫,具有良好的開放性,支持跨平臺、跨數(shù)據(jù)庫、跨中間件、兼容各種應(yīng)用軟件的特性。
在設(shè)備選擇及網(wǎng)絡(luò)方案上也堅持開放性原則,使系統(tǒng)對各種硬件設(shè)備的互連互通;在軟件上支持跨平臺和開放數(shù)據(jù)接口,便于與其它系統(tǒng)軟件互相集成,未來支持與業(yè)務(wù)系統(tǒng)、門戶等系統(tǒng)的單點登錄集成,在可獲得相應(yīng)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)情況下,實現(xiàn)與這些系統(tǒng)的應(yīng)用、門戶、數(shù)據(jù)等各層面上無縫連接。
系統(tǒng)除支持本約定的設(shè)計規(guī)范外,還提供標(biāo)準(zhǔn)化的WEBSERVICE外部接口,遵循SOA功能架構(gòu)規(guī)范,遵循工作流標(biāo)準(zhǔn)WFMC;遵循W3C XForm表單標(biāo)準(zhǔn)(XML定義表單數(shù)據(jù),數(shù)據(jù)和邏輯分離,獨立于平臺和設(shè)備),支持JSR168和WSRP等Portal標(biāo)準(zhǔn)。
因此,系統(tǒng)可以輕松與各種操作系統(tǒng)、中間件、數(shù)據(jù)庫、業(yè)務(wù)系統(tǒng)及工具軟件進(jìn)行平滑對接,這些在當(dāng)前主流的廠商如九思軟件、東軟股份等都已經(jīng)成功實現(xiàn)。
5. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“可靠性和穩(wěn)定性”原則
OA軟件系統(tǒng)必須是可靠的,一般的人為和外部的異常事件不會引起系統(tǒng)的崩潰;同時系統(tǒng)有較高的可用性,當(dāng)系統(tǒng)出現(xiàn)問題后能在較短的時間內(nèi)恢復(fù),而且系統(tǒng)的數(shù)據(jù)是完整的,不會引起數(shù)據(jù)的不一致。
1000人同時在線的情況下,系統(tǒng)登陸(包括整個主界面加載)不大于10秒。數(shù)據(jù)瀏覽不大于10秒;數(shù)據(jù)查詢不大于8秒;數(shù)據(jù)統(tǒng)計不大于30秒。
主機(jī)系統(tǒng)能夠保持7*24穩(wěn)定的不間斷運行,從系統(tǒng)軟硬件平臺及網(wǎng)絡(luò)等方面來保證系統(tǒng)的穩(wěn)定性;對于所采用的主備服務(wù)器方式,若主服務(wù)器宕機(jī)時,可實時地切換到備用服務(wù)器上,用戶的應(yīng)用不受影響。筆者曾對九思軟件的產(chǎn)品和IBM的產(chǎn)品做過測試,基本上可以做到以下幾點:
平均無故障運行時間:大于30000小時;
可用率:系統(tǒng)總體平均可用率在99.99%以上;
穩(wěn)定性:主機(jī)系統(tǒng)能夠保持7*24穩(wěn)定的不間斷運行
6. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“安全性和保密性”原則
OA軟件系統(tǒng)的開發(fā)設(shè)計既考慮信息資源的充分共享,更要注意信息的保護(hù)和隔離,因此系統(tǒng)應(yīng)分別針對不同的應(yīng)用、不同的網(wǎng)絡(luò)通信環(huán)境和不同的存儲設(shè)備,采取不同的措施,包括系統(tǒng)安全機(jī)制、數(shù)據(jù)存取的權(quán)限控制等以確保系統(tǒng)的安全性。
其中,采取的措施包括但不限于以下
平臺安全:架構(gòu)設(shè)計考慮安全性要求,平臺軟件達(dá)到安全設(shè)計標(biāo)準(zhǔn)。
應(yīng)用安全:權(quán)限控制、支持身份認(rèn)證接口、防篡改、防暴力破解等措施完善,并且可以跟USBkey、CA、IP地址限制等各種安全措施進(jìn)行方案組合。
數(shù)據(jù)安全:支持文檔安全軟件整合技術(shù),從而做到數(shù)據(jù)傳輸加密、遠(yuǎn)程安全訪問、數(shù)據(jù)存儲加密,并且可以VPN等各種安全方式進(jìn)行綁定,支持入侵檢測與防御系統(tǒng)、防火墻的應(yīng)用。
容災(zāi)備份:支持各種容災(zāi)的軟硬件設(shè)備的使用等。
管理安全:提供完善的日志功能,能夠記錄系統(tǒng)使用人員的關(guān)鍵操作,保證系統(tǒng)應(yīng)用的安全
密碼策略:初始密碼強(qiáng)制更改、啟用圖形驗證碼、支持USBkey接口、密碼過期控制、密碼錯誤次數(shù)控制、密碼強(qiáng)度設(shè)置等,從而防止暴力破解和惡意攻擊。
系統(tǒng)網(wǎng)卡MAC和IP的綁定;
支持CA認(rèn)證、數(shù)字簽名加密技術(shù);
支持電子鑰匙(Ukey)技術(shù)和指紋Ukey技術(shù);
支持安全套接(SSL)技術(shù);
軟件系統(tǒng)嚴(yán)密、靈活的訪問安全控制,功能授權(quán)與數(shù)據(jù)范圍授權(quán)結(jié)合;
系統(tǒng)有整體的用戶/權(quán)限管理體系,可統(tǒng)一進(jìn)行用戶/權(quán)限的管理,實現(xiàn)到字段級的查詢、修改、管理權(quán)限控制;
系統(tǒng)提供用戶認(rèn)證、數(shù)據(jù)傳輸、數(shù)據(jù)存儲、數(shù)字簽名等安全手段接口,可在各個環(huán)節(jié)提供對第三方安全認(rèn)證系統(tǒng)的支持;
7. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“可擴(kuò)展性和易維護(hù)性”原則
為了適應(yīng)未來的業(yè)務(wù)拓展和項目的功能擴(kuò)展,必須充分考慮以最簡便的方法、最低的投資,實現(xiàn)軟件系統(tǒng)的擴(kuò)展和維護(hù)擴(kuò)展。
因此,在OA軟件系統(tǒng)的開發(fā)設(shè)計中,需要考慮到應(yīng)用及系統(tǒng)不斷擴(kuò)展的要求,以形成一個易于管理、可持續(xù)發(fā)展的體系結(jié)構(gòu)。未來業(yè)務(wù)的擴(kuò)展只須在現(xiàn)有機(jī)制的基礎(chǔ)上,增加新的應(yīng)用與服務(wù)模塊。一方面當(dāng)應(yīng)用量增加,用戶數(shù)增加時系統(tǒng)可以平滑增加服務(wù)器的方式來支撐新的壓力要求發(fā);一方面,當(dāng)新的技術(shù)和產(chǎn)品出現(xiàn)進(jìn)行升級時,系統(tǒng)能夠平滑過渡而不影響用戶的使用;另一方面,產(chǎn)品有新的功能增加時,可以通過插件和模塊定制平臺的方式,輕松實現(xiàn)業(yè)務(wù)的擴(kuò)展。
在設(shè)備選擇及網(wǎng)絡(luò)方案上堅持開放性原則,使系統(tǒng)對各種硬件設(shè)備的互連互通;在軟件上支持跨平臺和開放數(shù)據(jù)接口,便于與其它系統(tǒng)軟件互相集成,未來支持與業(yè)務(wù)系統(tǒng)、門戶等系統(tǒng)的單點登錄集成,在可獲得相應(yīng)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)情況下,實現(xiàn)與這些系統(tǒng)的應(yīng)用、門戶、數(shù)據(jù)等各層面上無縫連接。
系統(tǒng)的管理和維護(hù),應(yīng)該采用集權(quán)和分權(quán)相平衡的思想,如九思軟件的iThink產(chǎn)品設(shè)置了系統(tǒng)管理、應(yīng)用管理和個人管理對系統(tǒng)進(jìn)行分層授權(quán)和分層維護(hù)。
利用系統(tǒng)提供的工具,無須編寫代碼,方便用戶自行進(jìn)行客戶化功能改造,方便用戶自行定制界面數(shù)據(jù)項的顯示;同時在網(wǎng)絡(luò)或系統(tǒng)出現(xiàn)問題時能及時、快速地恢復(fù)系統(tǒng)的正常運行,保證系統(tǒng)的可恢復(fù)性,具有較高網(wǎng)絡(luò)系統(tǒng)的抗干擾能力。
采用各種免代碼的模塊定制平臺,幫助用戶實現(xiàn)功能的DIY設(shè)計等。
8. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“美觀性和易用性”原則
系統(tǒng)用戶界面的設(shè)計采用Web2.0用戶界面設(shè)計技術(shù),界面根據(jù)用戶需求靈活更改(增強(qiáng)標(biāo)簽分類特性),注重用戶體驗,使系統(tǒng)各項功能易見、易學(xué)、易用。
作為全員應(yīng)用系統(tǒng),易用性和用戶體驗是項目成敗的關(guān)鍵要素。所提供的產(chǎn)品采用B/S的登錄方式、可以采用電腦、手機(jī)等各種方式下登錄,采用了AJAX、圖形化編輯器等各種新技術(shù),并且易讀、易理解、易操作,用戶界面簡潔、美觀、友好,易于用戶掌握、操作和使用;系統(tǒng)管理的使用及管理也以簡便、易于操作、方便實用為準(zhǔn)則。
嚴(yán)格遵循易用性六原則,實現(xiàn)從產(chǎn)品的部署、登錄、使用、維護(hù)、升級、擴(kuò)展的全方位易用,從而提升系統(tǒng)的黏著度;
提供統(tǒng)一的訪問地址,便于用戶使用。在登錄頁為用戶提供加入收藏、設(shè)為首頁等操作,方便用戶以后快速訪問系統(tǒng);
具備風(fēng)格一致的友好的用戶界面,圖形顯示直觀,工作流程從設(shè)計到使用全程圖形化(參照九思軟件www.jiusi.net);
遵循20/80原則,設(shè)置辦理中心,使常用功能高度融合,即方便用戶快速學(xué)習(xí),又大大提升了使用效率。
遵循人機(jī)交互原則,對用戶的錯誤輸入盡早發(fā)現(xiàn)并給出提示,對復(fù)雜的功能操作,提供操作向?qū)В?/p>
客戶端全面兼容性,操作系統(tǒng)全面兼容win2000/ win2003 xp//vista/win7等。瀏覽器全面兼容IE6/IE7/IE8主流瀏覽器、并支持支持office2003/2007。
9. OA軟件系統(tǒng)的開發(fā)設(shè)計應(yīng)遵循“大并發(fā)能力支撐”的原則
OA軟件系統(tǒng)的開發(fā)設(shè)計,應(yīng)該支持應(yīng)用和數(shù)據(jù)庫等多重負(fù)載均衡能力,支持附件服務(wù)器和數(shù)據(jù)庫服務(wù)器分離技術(shù),從而支持?jǐn)?shù)萬用戶同時在線和同時操作的能力,不會因為用戶數(shù)的增長或者信息量的增長,而導(dǎo)致系統(tǒng)響應(yīng)能力下降。