.net erp(办公oa)开发平台架构概要说明之表单设计器
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
背景:搭建一個(gè)適合公司erp業(yè)務(wù)的開發(fā)平臺(tái)。
架構(gòu)概要圖:
表單設(shè)計(jì)開發(fā)部署示例圖
?
表單設(shè)計(jì)開發(fā)部署示例說明
1)每個(gè)開發(fā)人員可以自己部署表單設(shè)計(jì)至本地一份(當(dāng)然也可以共用一套開發(fā)環(huán)境,但是如果開發(fā)交叉功能也比較容易沖突和調(diào)試沖突,特別是服務(wù)經(jīng)常調(diào)試產(chǎn)生沖突)。完成某個(gè)功能開發(fā)以后,通過項(xiàng)目一鍵發(fā)布至測(cè)試環(huán)境進(jìn)行集成測(cè)試。在集成測(cè)試ok后,一鍵發(fā)布至線上開發(fā)環(huán)境。
2)正式線上部署可以按照項(xiàng)目為單位建立負(fù)載均衡,按照項(xiàng)目為單位整體建立集群。單個(gè)web站點(diǎn)包含表單文件服務(wù)和表單代碼服務(wù)。表單文件服務(wù)為一些css,js,html,圖片等的靜態(tài)文件。表單代碼服務(wù)為一些動(dòng)態(tài)C#代碼服務(wù),隨時(shí)編譯,隨時(shí)發(fā)布,以http方式提供服務(wù)。表單文件可以通過js調(diào)用這些http服務(wù)。
表單項(xiàng)目管理功能
圖:
?
說明:
表單設(shè)計(jì)按照項(xiàng)目的方式管理,表單文件服務(wù)和表單代碼服務(wù)及各自相應(yīng)的編輯及文件。所以建立表單設(shè)計(jì)前,應(yīng)該要先建立項(xiàng)目。
項(xiàng)目名稱是整個(gè)項(xiàng)目發(fā)布,開發(fā)的唯一約定名稱,不得重復(fù)。
若有公用的項(xiàng)目,則建立公用的項(xiàng)目,里面可包含公用的js,公用的圖片,公用的css等。這個(gè)也是所有表單項(xiàng)目可公用的基礎(chǔ)前端框架。
發(fā)布和撤銷服務(wù)按鈕:用于發(fā)布當(dāng)前的c#后端代碼成服務(wù)接口。若當(dāng)前項(xiàng)目設(shè)置了負(fù)載均衡,相應(yīng)的負(fù)載均衡節(jié)點(diǎn)會(huì)在2s-5s內(nèi)自動(dòng)更新服務(wù)。
發(fā)布上線按鈕:用于發(fā)布當(dāng)前項(xiàng)目至另外一個(gè)項(xiàng)目環(huán)境。比如測(cè)試或線上環(huán)境。目前至支持全量發(fā)布,未來可優(yōu)化。
清除緩存按鈕:清理表單文件服務(wù)的靜態(tài)文件緩存。因?yàn)楸韱挝募际菚?huì)在單個(gè)網(wǎng)站存儲(chǔ)靜態(tài)文件緩存,從而降低數(shù)據(jù)庫的壓力和靜態(tài)文件負(fù)載均衡實(shí)現(xiàn)。理論上靜態(tài)文件更新,本身相應(yīng)項(xiàng)目的負(fù)載均衡節(jié)點(diǎn)也會(huì)在2s-5s內(nèi)更新相應(yīng)的緩存文件。
表單文件管理
列表圖
?
前端詳情圖
?
后端詳情圖
?
全屏編輯示例:
?
表單文件包含前端文件(css,js,html,圖片等靜態(tài)文件)和后端文件(.cs 的c#后端代碼文件)這兩種文件,相應(yīng)的不同類型文件會(huì)形成相應(yīng)的不同服務(wù)。
前端文件相關(guān)介紹
前端文件包含(css,js,html,圖片等靜態(tài)文件),其中可以通過上傳附件的方式如(jquery框架.js文件),也可通過編輯文本的方式提交。會(huì)根據(jù)不同的后綴進(jìn)行解析輸出,同時(shí)支持跨域訪問。
歷史版本:默認(rèn)根據(jù)文件名保留歷史版本,故也可恢復(fù)使用歷史版本。
內(nèi)部方式按鈕:不使用站點(diǎn)緩存文件訪問,直接訪問數(shù)據(jù)庫輸出文件。
外部方式按鈕:會(huì)使用站點(diǎn)緩存文件訪問輸出文件。
調(diào)試預(yù)覽按鈕:可以打開新的頁面進(jìn)行當(dāng)前編輯效果的實(shí)時(shí)調(diào)試,一鍵刷新,所見即所得。
(編輯器控件,參考http://runjs.cn/code)
后端文件相關(guān)介紹
后端文件包含.cs c#代碼文件;c#后端文件分為接口文件和公用代碼文件兩種類型。
接口文件:會(huì)自動(dòng)公開該文件的類的方法為接口,支持http訪問。js即可調(diào)用。
公用代碼文件:該類默認(rèn)為static靜態(tài)類及靜態(tài)方法。可被其他類訪問。
第三方程序集的支持:第三方程序集放到站點(diǎn)的BuildsAssemblys文件下面,即可被其他類庫所調(diào)用。(目前不支持第三方程序集的自動(dòng)發(fā)布,正式發(fā)布要手工拷貝到線上)
快速編譯:根據(jù)本地的cs文件緩存,快速編譯。
重新編譯:重新下載當(dāng)前項(xiàng)目所有的cs文件至本地,重新編譯。
提交并發(fā)布:先重新編譯->將當(dāng)前內(nèi)容保存到數(shù)據(jù)庫(非草稿保存)->發(fā)布當(dāng)前服務(wù)到所在站點(diǎn)(不會(huì)發(fā)布到負(fù)載均衡節(jié)點(diǎn))。
代碼調(diào)試:目前僅支持接口通過模擬http的方式調(diào)試,方便接口調(diào)試。
其他介紹:
保存草稿:編輯器默認(rèn)在進(jìn)行編輯后每10s保存一次草稿到數(shù)據(jù)庫。
備注說明:
個(gè)人更傾向于絕對(duì)定位形式的表單設(shè)計(jì)器,類似ccflow。但是因?yàn)楣镜脑?#xff0c;決定使用常規(guī)頁面設(shè)計(jì)的方式。而頁面展現(xiàn)形式因?yàn)槎嘧?#xff0c;普通的頁面表單設(shè)計(jì)器不能滿足。
因?yàn)槿耸?#xff0c;成本,不開源等原因,目前僅為粗糙之作,未做很細(xì)性能考慮,僅考慮架構(gòu)擴(kuò)展和平行性能擴(kuò)展。
by 車江毅
轉(zhuǎn)載于:https://my.oschina.net/chejiangyi/blog/600645
總結(jié)
以上是生活随笔為你收集整理的.net erp(办公oa)开发平台架构概要说明之表单设计器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部署JTBC2.0网上商城(apache
- 下一篇: 关于烂代码的那些事(上)