首先我們先來聊聊什么是二次開發(fā)。二次開發(fā)是與一次開發(fā)是相對應(yīng)的,所以凡是由用友軟件公司提供產(chǎn)品之外的功能都屬于用友二次開發(fā)。從這個(gè)定義出發(fā)用友二次開發(fā)包含以下幾種模式。
1.獨(dú)立開發(fā)模式,獨(dú)立于產(chǎn)品
在開發(fā)過程中基本不利用U8產(chǎn)品的構(gòu)件(只利用登錄構(gòu)件),開發(fā)成果形成單獨(dú)的可執(zhí)行文件及動態(tài)庫,模塊不需要與U8門戶程序集成,二次開發(fā)模塊的權(quán)限設(shè)置、功能升級、部署均獨(dú)立于產(chǎn)品。
優(yōu)點(diǎn):
對產(chǎn)品的影響小,產(chǎn)品可升級性強(qiáng),不受產(chǎn)品功能制約。模塊功能靈活度大,能夠?qū)崿F(xiàn)很復(fù)雜的功能。
缺點(diǎn):
二次開發(fā)的模塊產(chǎn)品風(fēng)格與U8 產(chǎn)品風(fēng)格差距較大,產(chǎn)品中一些很完善的功能(權(quán)限、打印、格式設(shè)置、輸出等)不能被二次開發(fā)利用,打印、輸出等基礎(chǔ)功能需要重新開發(fā),開發(fā)效率低。
2.通過產(chǎn)品插件接口開發(fā)模式
模式描述:
此模式的開發(fā)是利用產(chǎn)品開放的插件接口對原產(chǎn)品模塊做功能擴(kuò)展。開發(fā)成果形成單獨(dú)的動態(tài)鏈接庫,模塊功能不能單獨(dú)使用,一般由產(chǎn)品模塊通過插件接口依據(jù)插件注冊信息自動調(diào)用。二次開發(fā)模塊的權(quán)限設(shè)置、功能升級、部署均獨(dú)立于產(chǎn)品。
優(yōu)點(diǎn):
利用插件方式開發(fā),對產(chǎn)品影響小,產(chǎn)品可升級性強(qiáng)。插件機(jī)制可以規(guī)范二次開發(fā)模塊的開發(fā)方式,插件產(chǎn)品重用性強(qiáng),功能配置靈活。
缺點(diǎn):
受產(chǎn)品插件接口開放程度的限制,目前只有庫存模塊提供了二次開發(fā)插件接口,其他模塊還未提供,而庫存模塊也只提供了單據(jù)保存、審核、明細(xì)行雙擊等部分事件的插件接口,面對用戶多種多樣的二次開發(fā)需求,產(chǎn)品的插件接口開放程度還很不夠。
3.利用產(chǎn)品提供的工具、服務(wù)的開發(fā)模式
模式描述:利用產(chǎn)品提供的二次開發(fā)工具、二次開發(fā)服務(wù)實(shí)現(xiàn)客戶的個(gè)性化需求的開發(fā)模式。
優(yōu)點(diǎn):基本不用或只做少量的編碼工作、開發(fā)效率高、與原產(chǎn)品風(fēng)格一致、集成度高、易部署。
缺點(diǎn):產(chǎn)品提供的開發(fā)工具能夠解決的問題有限,特別是針對二次開發(fā)常涉及的供應(yīng)鏈、財(cái)務(wù)等模塊,目前只提供了自定義報(bào)表的二次開發(fā)工具。
4.申請產(chǎn)品源碼做修改、替換原產(chǎn)品模塊或新增模塊節(jié)點(diǎn)的開發(fā)模式
模式描述:向集團(tuán)申請?jiān)创a直接修改產(chǎn)品功能模塊的方式。
優(yōu)點(diǎn):基于原產(chǎn)品模塊的代碼進(jìn)行二次開發(fā)可以實(shí)現(xiàn)很復(fù)雜的功能,開發(fā)靈活性、與產(chǎn)品集成度高。
缺點(diǎn):如果需要以這種模式進(jìn)行二次開發(fā),必須首先向集團(tuán)伙伴開發(fā)部申請開放部分源碼,由伙伴開發(fā)部提供二次開發(fā)環(huán)境,分公司程序員不得將源碼帶回分公司。如果采用新增模塊的方式,產(chǎn)品可以做補(bǔ)丁升級;如果采用替換原產(chǎn)品模塊的方式導(dǎo)致產(chǎn)品不能進(jìn)行升級,否則產(chǎn)品升級后會覆蓋二次開發(fā)的模塊,一定要升級需要二次開發(fā)人員對升級的安全性做測試,確認(rèn)產(chǎn)品升級后不會影響二次開發(fā)模塊的功能。
5.行業(yè)插件的開發(fā)模式
模式描述:行業(yè)本部針對某個(gè)行業(yè)的行業(yè)特點(diǎn)對產(chǎn)品局部功能做行業(yè)化改造或開發(fā)新模塊的開發(fā)模式,最終形成行業(yè)插件產(chǎn)品。
優(yōu)點(diǎn):開發(fā)規(guī)范遵循U8產(chǎn)品的開發(fā)規(guī)范,與產(chǎn)品開發(fā)過程一致。行業(yè)插件產(chǎn)品經(jīng)過嚴(yán)格、專業(yè)的測試,保證開發(fā)質(zhì)量。