代文鋒,齊春澤
(蘭州財經(jīng)大學 信息工程學院,蘭州 730020)
基于開源框架的行業(yè)軟件數(shù)據(jù)結(jié)構(gòu)標準化方案研究*
代文鋒,齊春澤
(蘭州財經(jīng)大學 信息工程學院,蘭州 730020)
采用系統(tǒng)工程的思路與方法,對行業(yè)軟件數(shù)據(jù)結(jié)構(gòu)標準化中的相關(guān)要素及目標體系進行初步分析.運用結(jié)構(gòu)模型法對軟件標準化及利益相關(guān)者進行系統(tǒng)分析,提出基于開源數(shù)據(jù)框架的組織形式,并給出相應的技術(shù)方案.從政策制定者和軟件開發(fā)商兩個視角,對方案進行系統(tǒng)評價.結(jié)果表明,實施所提方案可以提高社會總體福利和消費者福利,但市場領(lǐng)導者、跟隨者和新進入者等角色不同的軟件開發(fā)商對方案采納會持不同態(tài)度.
軟件工程;行業(yè)軟件;開源軟件;標準采納;數(shù)據(jù)結(jié)構(gòu)標準化
隨著軟件工程科學的發(fā)展,軟件已經(jīng)從最初單純的程序發(fā)展到軟件系統(tǒng).軟件的規(guī)模及復雜度日益增強,系統(tǒng)設(shè)計強調(diào)設(shè)計的重用.CORBA、COM/DCOM、JavaBean/EJB等構(gòu)件模型,雖然很好地解決了一般構(gòu)件生產(chǎn)和組裝的標準化問題,但在面對行業(yè)軟件個性化業(yè)務需求時,無法實現(xiàn)細粒度構(gòu)件的有效復用.
現(xiàn)有的軟件標準化工作多注重軟件開發(fā)、管理、驗證以及外部接口的標準化.針對于行業(yè)軟件內(nèi)部的體系結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)標準化的研究較少.主要原因在于企業(yè)對行業(yè)軟件的個性化需求差異較大,不易形成統(tǒng)一的業(yè)務數(shù)據(jù)結(jié)構(gòu).行業(yè)軟件內(nèi)部數(shù)據(jù)結(jié)構(gòu)標準的缺失,造成不同開發(fā)商的軟件產(chǎn)品參差不齊、整體產(chǎn)品水平無法保證、用戶更換開發(fā)商時面臨巨額轉(zhuǎn)換成本的問題.針對上述問題,本文從技術(shù)、組織效率及市場競爭等角度研究基于開源的行業(yè)軟件數(shù)據(jù)結(jié)構(gòu)標準化方案,以期通過所提方案提高行業(yè)軟件整體水平及消費者效用.
1.1 系統(tǒng)邊界
行業(yè)軟件(industrial software),是指具有相似系統(tǒng)功能、整合特定業(yè)務流程、具有明顯行業(yè)特性的軟件.例如,SAP ERP的人事管理系統(tǒng)和Oracle ERP的人事管理系統(tǒng)都是人事管理行業(yè)軟件.微軟的MS Office和開源的Open Office,作為辦公軟件,由于文件可以看作是“行業(yè)數(shù)據(jù)”,因此廣義上,也可以看作是同功能的行業(yè)軟件,但此類通用軟件的數(shù)據(jù)(文件)相對容易被標準化,并且ISO等國際標準化組織已經(jīng)進行了相關(guān)工作,不在本文討論范圍內(nèi).本文僅研究狹義上的行業(yè)軟件的數(shù)據(jù)結(jié)構(gòu)標準化問題,即涉及行業(yè)數(shù)據(jù)的信息系統(tǒng).
基于標準化數(shù)據(jù)結(jié)構(gòu)的行業(yè)軟件需要滿足以下條件:
(1)標準化不會引起軟件價格(包括購買價格和維護費用)的提高;用戶更換不同開發(fā)商的行業(yè)軟件時,遺留數(shù)據(jù)可以平滑地遷移到新的軟件系統(tǒng)中.例如,某服裝企業(yè)將SAP的ERP軟件更換為Oracle的ERP軟件,不需要為遺留數(shù)據(jù)的遷移支付高額的轉(zhuǎn)換成本.
(2)足夠多的開發(fā)商采納數(shù)據(jù)結(jié)構(gòu)標準,使標準得以推廣并占據(jù)足夠多的市場份額,最終長期存在和進化.
(3)整體社會福利不因為數(shù)據(jù)結(jié)構(gòu)標準的廣泛采納而降低.
1.2 系統(tǒng)分析
在行業(yè)軟件數(shù)據(jù)結(jié)構(gòu)標準化的系統(tǒng)中,用戶(user)、行業(yè)軟件(IS)和軟件供應商(SP)是三個核心要素.分析三者間的關(guān)系,用戶從IS1更換至IS2,需要重新建立與SP2及IS2的關(guān)系,如圖1所示.在遷移之后,用戶與SP1和IS1的關(guān)系,將被完全廢棄.
圖1 用戶&行業(yè)軟件&軟件供應商間的關(guān)系
數(shù)據(jù)結(jié)構(gòu)標準化,既可以通過標準規(guī)范的形式(如圖2(a)),也可以通過共享的數(shù)據(jù)框架的形式(如圖2(b))實現(xiàn).
標準規(guī)范停留在抽象、較高的層次,并且開發(fā)商實現(xiàn)標準規(guī)范需要付出額外的研發(fā)成本.另外,國內(nèi)存在失敗的嘗試.2003年國內(nèi)出臺的《ERP規(guī)范》[6],在數(shù)據(jù)標準、實現(xiàn)技術(shù)、系統(tǒng)功能、工作流程、業(yè)務流程以及各種相關(guān)的系統(tǒng)集成和企業(yè)實施等方面制定了標準,如今已鮮有廠商遵守.
圖2 標準規(guī)范與數(shù)據(jù)框架
開源數(shù)據(jù)框架的設(shè)計方式,復雜度、可行性和成本三個指標均表現(xiàn)較好,有利于標準的推廣.圖3給出了開源數(shù)據(jù)框架的外部關(guān)系模型.在對三個指標進行分析前,做出假設(shè):某類行業(yè)軟件的市場上,存在n個功能類似的IS.
(1)復雜度
IS通過繼承數(shù)據(jù)框架,實現(xiàn)IS的數(shù)據(jù)結(jié)構(gòu)標準化.ISi (i=1,2,…,n)處理自身與框架的關(guān)系,而數(shù)據(jù)框架一般不處理與ISi的關(guān)系,被處理的關(guān)系總數(shù)為n個,單個系統(tǒng)處理的最高關(guān)系復雜度為O(1).
(2)可行性
數(shù)據(jù)框架的實現(xiàn)存在兩個難點:一是,如何創(chuàng)建數(shù)據(jù)框架,即技術(shù)可行性;二是,如何建立和強化ISi與數(shù)據(jù)框架的關(guān)系,即SP對數(shù)據(jù)框架的采納態(tài)度.本文第2節(jié)和第3節(jié)分別討論這兩個問題.
(3)開發(fā)成本
數(shù)據(jù)框架引起的成本變化主要發(fā)生在三個方面:①框架系統(tǒng)的構(gòu)建.框架系統(tǒng)的構(gòu)建成本與n無關(guān),構(gòu)建過程通過對多個代表性IS的分析與抽象,確定通用具有一般性的底層框架.②ISi基于框架系統(tǒng)的升級改造.單個SP只需關(guān)注自有IS的改造工作,處理自身與框架系統(tǒng)的關(guān)系,因而ISi面對的成本也是與n無關(guān)的.③行業(yè)新進入者設(shè)計開發(fā)成本的節(jié)省.新進入者可以基于框架系統(tǒng)開發(fā)自有IS,省去底層數(shù)據(jù)結(jié)構(gòu)重復設(shè)計和開發(fā)的費用,所以成本會有一定程度的降低,此處成本降低幅度受到框架系統(tǒng)的組織和推廣效果的影響很大.
圖3 框架系統(tǒng)的外部關(guān)系模型
2.1 技術(shù)方案
圖4是從參考文獻中摘引的軟件分層式部件架構(gòu)圖[1],數(shù)據(jù)框架系統(tǒng)只與其中的持久化層和數(shù)據(jù)庫層有關(guān).所以,數(shù)據(jù)框架系統(tǒng)可以分解為圖5所示結(jié)構(gòu).圖中要素,除DAO必選外,其它要素都是可選的,要素的選擇依賴于具體行業(yè)的軟件需求.
(1)DAO(Data Access Objects,數(shù)據(jù)訪問對象)
DAO是上層應用系統(tǒng)與數(shù)據(jù)框架交互通信的門戶和樞紐,對所有數(shù)據(jù)源的訪問都需經(jīng)過DAO的適配.
圖4 軟件的分層式部件架構(gòu)圖
圖5 數(shù)據(jù)框架系統(tǒng)內(nèi)部結(jié)構(gòu)模型
(2)數(shù)據(jù)庫
數(shù)據(jù)庫是現(xiàn)下最流行的數(shù)據(jù)管理方式,本文關(guān)心數(shù)據(jù)庫設(shè)計的三個部分:數(shù)據(jù)庫管理系統(tǒng)、外模式(關(guān)系模型)、內(nèi)模式(物理設(shè)計),這些都是影響數(shù)據(jù)結(jié)構(gòu)標準化的元素.
數(shù)據(jù)庫管理系統(tǒng)應當盡量選擇開源軟件,這樣做有利于數(shù)據(jù)框架的推廣和采納,因為收費的數(shù)據(jù)庫管理系統(tǒng)意味著IS開發(fā)成本的提高,這是軟件供應商不愿接受的.在設(shè)計階段還需要考慮數(shù)據(jù)庫類型的選擇問題,一般的關(guān)系數(shù)據(jù)庫Mysql、PostgreSQL等,還是輕型的SQLite數(shù)據(jù)庫,抑或是HBase等非關(guān)系數(shù)據(jù)庫.數(shù)據(jù)庫的選型是由行業(yè)數(shù)據(jù)特點決定的,很有可能數(shù)據(jù)框架是多版本,不同數(shù)據(jù)庫管理系統(tǒng)應對不同的數(shù)據(jù)規(guī)模、頻率,從而滿足大、中、小企業(yè)對信息系統(tǒng)的不同需求.也就是說,一個數(shù)據(jù)框架可能需要支持多套底層數(shù)據(jù)庫管理系統(tǒng).由于數(shù)據(jù)庫管理系統(tǒng)的版本升級一般都會被數(shù)據(jù)庫供應商完美支持,所以數(shù)據(jù)庫的版本控制不會影響整個數(shù)據(jù)框架的實現(xiàn).
外模式.數(shù)據(jù)庫概念設(shè)計階段會產(chǎn)生描述行業(yè)內(nèi)相關(guān)實體關(guān)系的E-R圖,需要將它轉(zhuǎn)換成所選擇數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型(如關(guān)系模型),形成數(shù)據(jù)庫邏輯模式;然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖,形成數(shù)據(jù)的外模式.換言之,數(shù)據(jù)框架需要為支持的每個數(shù)據(jù)庫管理系統(tǒng)提供一套獨立的外模式,并且這些外模式遵循相同的實體關(guān)系.
內(nèi)模式.根據(jù)數(shù)據(jù)庫管理系統(tǒng)和行業(yè)數(shù)據(jù)的特點,進行物理存儲安排,建立索引,為用戶提供一套默認的數(shù)據(jù)庫內(nèi)模式.內(nèi)模式與外模式是一一對應的,對于每套外模式,都應該提供相應的內(nèi)模式.
(3)文本文件
某些情境下,出于性能、成本和易用性等方面的考慮,業(yè)務數(shù)據(jù)需要以文本文件的形式直接存放在存儲設(shè)備中,例如,OA系統(tǒng)的文件審批流程,被審批的文件一般直接存放在操作系統(tǒng)中.數(shù)據(jù)框架需要針對文本文件,提供一套系統(tǒng)的存儲和操作機制.
(4)其它第三方數(shù)據(jù)管理系統(tǒng)
2017年8月30日,原國家新聞出版廣電總局下發(fā)《關(guān)于開展“數(shù)字出版千人培養(yǎng)計劃”試點培訓工作的通知》(新廣出辦函〔2017〕212號)。培訓目的就在于為書報刊三類新聞出版企業(yè)培養(yǎng)高端復合型戰(zhàn)略人才和精通專業(yè)技能的骨干人才。培訓工程的實施,既是提升目前新聞出版從業(yè)人員綜合素質(zhì)的有力舉措,也是深化新聞出版業(yè)數(shù)字化轉(zhuǎn)型升級工作的重要內(nèi)容,更是確保新聞出版業(yè)在數(shù)字化時代繼續(xù)保持平穩(wěn)快速發(fā)展,鞏固意識形態(tài)和宣傳文化陣地的必然選擇。11月5日,“數(shù)字出版千人培養(yǎng)計劃”試點培訓啟動會在京舉行。
銀行卡的申請業(yè)務,通常需要大量的申請單填寫,基于CMS(內(nèi)容管理系統(tǒng))的無紙化文件處理流程,可以讓辦公更高效、安全、低成本.面對這樣的情景,一個成熟的開源CMS,例如Alfresco,可以為管理信息系統(tǒng)的設(shè)計節(jié)省不少的成本(當然,銀行出于可靠性和維護服務等方面考慮,一般不會選擇開源的CMS).不同行業(yè)的信息系統(tǒng)可能擁有自己的第三方數(shù)據(jù)管理系統(tǒng)選擇偏好,基于已有的第三方解決方案,滿足行業(yè)需求,既可以提高行業(yè)軟件質(zhì)量又可以降低研發(fā)成本.與數(shù)據(jù)庫管理系統(tǒng)的選擇相似,如果需要第三方數(shù)據(jù)管理系統(tǒng),優(yōu)先考慮開源產(chǎn)品.
2.2 組織管理
(1)組織形式
組織形式選擇的核心目標是,在保證數(shù)據(jù)框架質(zhì)量的基礎(chǔ)上,盡可能促進框架的推廣和采納.公司參與的開源軟件,這一組織形式不但可以發(fā)揮開源社區(qū)共享、溝通以及社會性合作的精神,開發(fā)出低成本、高質(zhì)量、廣泛接受的數(shù)據(jù)框架,而且軟件供應商參與數(shù)據(jù)框架的設(shè)計和開發(fā)工作,就會成為“技術(shù)創(chuàng)新者”,從而在很早的時候就會采納數(shù)據(jù)框架,SP的支持無疑是推廣工作最重要的目標之一.
(2)版本管理
在數(shù)據(jù)框架的演化過程中,隨著行業(yè)的發(fā)展,某些新興的業(yè)務和需求出現(xiàn),SP發(fā)現(xiàn)DAO未提供相應的數(shù)據(jù)操作接口,需要向DAO增添新的操作以適應新的功能.變更的發(fā)起有兩個來源:用戶和SP.
② SP發(fā)起.SP希望通過擴展數(shù)據(jù)框架以支持自己將要發(fā)布的新功能.SP應向框架系統(tǒng)管理組織,即相應行業(yè)開源社區(qū),提交數(shù)據(jù)框架擴展申請,如果申請通過,社區(qū)將對原框架版本進行升級,并發(fā)布新版本框架,只有這樣的變更才可以被并入數(shù)據(jù)框架的主干版本.
總之,對框架主干版本進行更新,必須提交并通過修改申請,數(shù)據(jù)框架不承諾未來新版本兼容未經(jīng)批準的更新.
2.3 數(shù)據(jù)框架與標準的區(qū)別
數(shù)據(jù)框架是盡可能吸引更多廠商參與設(shè)計和開發(fā)工作的開放平臺,它的最終交付物是源代碼和安裝包,代表廠商的共同利益.相對于標準,框架更具體,大幅降低了因采納而帶來的實現(xiàn)成本.數(shù)據(jù)框架只關(guān)注行業(yè)軟件的數(shù)據(jù)層,不對應用層和邏輯層作任何限制,這樣既可以達到不同廠商采用相同數(shù)據(jù)結(jié)構(gòu)的目的,也不妨礙廠商追求產(chǎn)品的差異化.
本節(jié)從政策制定者和軟件開發(fā)商兩個視角,對第2節(jié)提出的方案進行系統(tǒng)評價.結(jié)果表明:如果數(shù)據(jù)結(jié)構(gòu)標準化的開源方案得到推廣,社會總體福利和消費者福利會得到相應的提高;除市場領(lǐng)導者以外的市場跟隨者和新進人者等大多數(shù)軟件開發(fā)商,傾向于支持本方案.因此,從社會和生產(chǎn)者的角度而言,本文提出的方案是可以實施的.
3.1 社會效率的變化
若方案得到推廣,從長期看,SP的整體產(chǎn)品研發(fā)成本會下降,從而導致產(chǎn)品價格的降低,進一步引起消費市場規(guī)模的擴大,而用戶獲得的價值因為新功能的出現(xiàn)會得到增加,所以,總體的社會效率、消費者和生產(chǎn)者的剩余都會增加.如圖6所示,陰影部分表示社會效率的增加量.據(jù)此可以得到命題1:
命題1:開源數(shù)據(jù)框架的廣泛采納,會引起社會總體福利以及消費者福利的提高.
圖6 社會效率變化
3.2 采納分析
與Jan Bouckaert等人[8]討論的價格競爭不同,行業(yè)軟件的企業(yè)和政府用戶對價格因素相對不敏感,他們更注重產(chǎn)品特性、服務和質(zhì)量等.對于市場支配者,采納方案相當于將原有IS的數(shù)據(jù)子系統(tǒng)轉(zhuǎn)為開源,市場中產(chǎn)品的競爭轉(zhuǎn)變?yōu)榉盏母偁?更多的競爭者會涌入,因為支配者支付大量成本用于產(chǎn)品研發(fā),而新進入者不需要承擔此項固定成本,并且新進入公司規(guī)模相對較小、靈活性強、管理成本較低,致使支配者原有的產(chǎn)品優(yōu)勢消失,取而代之的是成本劣勢.據(jù)此可以得到命題2:
命題2:在不存在政府等外界引導的純粹市場競爭情形下,市場支配者不愿采納方案.
對于市場跟隨者,如果支配者采納方案,無疑他們將跟隨采納,因為那樣可以盡快、低成本地縮小與市場中處于支配地位的產(chǎn)品間的差距.如果支配者拒絕方案,跟隨者仍然可以依靠開源的形式,通過集體研發(fā),縮小開源產(chǎn)品與支配者產(chǎn)品的差距.開源模式可以降低企業(yè)的研發(fā)成本,并提升參與企業(yè)的產(chǎn)品和成本競爭力.而新進入者,明顯落后于支配者和跟隨者,所以,無論二者中的哪個群體采納了開源方案,新進入者都會借鑒開源方案,降低自身進入行業(yè)的壁壘.據(jù)此得到命題3:
命題3:市場跟隨者與新進入者傾向于采納方案.
3.3 采納分析的案例佐證
雖然開源數(shù)據(jù)框架與2003年的《ERP規(guī)范》[7]有一定的差異,但當時廠商對《規(guī)范》的態(tài)度,對命題2和命題3仍然具有一定的佐證意義.當時,SAP、金蝶、Oracle等市場支配者希望自身的產(chǎn)品成為“事實標準”,從而抵制標準的制定和推廣;而神州數(shù)碼、用友、南北等市場跟隨者積極參與和采納標準,希望充分利用標準以獲得更高的市場份額[6-8].軟件開發(fā)商的這些行為與命題2和命題3的結(jié)論是一致的.
數(shù)據(jù)結(jié)構(gòu)標準化是行業(yè)軟件內(nèi)部標準化的基礎(chǔ),單純的技術(shù)解決方案不足以解決行業(yè)軟件內(nèi)部標準化問題.數(shù)據(jù)結(jié)構(gòu)標準化必須采取與軟件產(chǎn)業(yè)發(fā)展趨勢相一致的組織模式,才能得到較圓滿的解決方案.為此,本文基于開源數(shù)據(jù)框架提出了一種行業(yè)軟件數(shù)據(jù)結(jié)構(gòu)標準化的技術(shù)方案.該方案的推行,將有助于削弱轉(zhuǎn)換壁壘,加劇行業(yè)競爭,加強技術(shù)及商業(yè)模式創(chuàng)新,進而有助于提高消費福利和社會總體福利.
[1] 許煥梅,張思榮,王 鋒,等.基于分層的軟件系統(tǒng)體系結(jié)構(gòu)[J].計算機工程,2003,29(20):57-59.
[2] 郭迅華,張 楠,黃 彥.開源軟件的采納與應用:政府組織環(huán)境中的案例實證[J].管理科學學報,2010,13(11):65-76.
[3] 王 欽,高山行.基于知識披露的開源軟件創(chuàng)新博弈模型研究[J].管理工程學報,2010,24(4):104-109.
[4] 謝 謙,苗宗利.開源軟件標準化[J].值息技術(shù)與標準化,2008,7:49-53.
[5] 馬 艷,郭白瀅.開源經(jīng)濟學的形成與發(fā)展[J].經(jīng)濟學動態(tài),2010,5:102-106.
[6] 何進偉.ERP標準遭遇信任危機[J].電子商務,2004,4:23-24.
[7] Michael A. Jones,David L.Mothersbaugh,Sharon E.Beatty.Switching Barriers and Repurchase Intentions in Services[J].Journal of Retailing,2000,76(2):259-274.
[8] Jan Bouckaert et al. Enhancing Market Power by Reducing Switching Costs[J].Economics Letters,2012,114:359-361.
[9] Anat Hovav et al. Determinants of Internet Standards Adoption: The Case of South Korea[J]. Research Policy,2011,40:253-262.
[10]David Megias Jimenez, Amadeu Albos Raya et al. Economic Aspects and Business Model of Free Software[M]. Barcelona:Eureca Media,SL. 2010.
[11]Linus Dahlander, David M. Gann. How Open is Innovation?[J]. Research Policy,2010,39:699-709.
[12]Stefano Comino, Fabio M.Manenti. Dual licensing in Open Source Software Markets[J]. Information Economics and Policy,2011,23:234-242.
Research on Standardization Scheme of Industrial Software Data Structure Based on Open-source Framework
DAI Wen-feng, QI Chun-ze
(School of Information Engineering, Lanzhou University of Finance and Economics, Lanzhou 730020, China)
Based on theory and methodology of systems engineering, this paper analyzes the element and objective in data structure standardization of industrial software firstly. Then, this paper executes system analysis on standardization and stakeholders, and raises a technical solution whose core is an open source framework. Finally, system evaluation is carried out from the perspectives of policy makers and software vendors. The evaluation results show that the implementation of solution proposed in this paper would increase social welfare and consumer welfare accordingly. However, market dominators, followers and new entrants would make different decisions on solution adoption.
software engineering; industrial software; open source software; standard adoption; data structure standardization
2016-06-23
國家自然科學基金重點資助項目(91024029).
代文峰(1978-),男,博士,副教授,研究方向:管理信息系統(tǒng).
TP311.5
A
1671-119X(2016)04-0037-05