python审批流系统_有赞移动关于权限与审批流程的标准化
一、背景
有贊移動有weex發布平臺、移動配置中心平臺、App分發平臺、熱修復平臺等。這些平臺都需要發布,而發布就需要規范化,需要審批制度。如果為各個平臺開發這個審批流程,看起來是一種浪費。
首先想到第一種方案:接入現有的前后端發布平臺。
移動側的發布基本是配置類的發布,跟后端應用和前端應用的發布不一樣。后端應用和前端應用的發布都是將指定的內容推送到某臺或者多臺機器進行部署、啟動。兩者如果硬要做抽象,成本反而更大,而且不易維護。所以放棄第一種方案。
那么是否可以抽象成單獨的統一管理平臺,進行標準化呢?
二、梳理
首先看一下標準的發布審批流程一般是怎么樣的?
第一步:申請人提交發布單
第二步:負責人審批
第三步:申請人發布
而這里申請人和負責人就是以權限為區分。
一般的權限角色有模塊負責人、開發、運營、測試等。
其中,審批人是模塊負責人,而申請人可以是開發,也可以是模塊負責人。而二方平臺還可以根據不同角色賦予不同的權限。
2.1 權限
權限實質上指的是用戶和模塊之間的關系。所以只需要模塊的唯一標識和用戶的唯一標識,用戶的唯一標識由統一的用戶認證服務提供,模塊的唯一標識由各個二方平臺提供。對于二方平臺來說,只要提供模塊唯一標識和用戶唯一標識,然后獲得角色即可,然后根據角色進行相應的操作。所以這一層就可以單獨抽離出來。現有的前后端發布平臺也已經驗證了這一點。
2.2 審批
審批需要哪些元素呢? 申請人、審批內容、審批人、審批狀態。其中審批內容在各個二方平臺是不一樣的。
盡管如此,還是可以抽象成兩個字段:審批單唯一標識和用于查看審批詳情的鏈接。這兩個字段都可以由二方平臺提供。所以審批也是可以做抽象的。
三、設計
如何設計這個統一的平臺將權限與審批流程標準化呢?首先看一下二方平臺和有贊移動權限與審批統一管理平臺(以下簡稱統一管理平臺)的交互流程圖。
首先,二方平臺和統一管理平臺都要依賴CAS,CAS是有贊的用戶認證平臺。這樣,就可以基于同個用戶進行權限管理。
3.1 二方平臺與統一管理平臺的交互
從圖中可以看到,二方平臺與統一管理平臺主要有四大交互:添加模塊、獲取權限、提交發布單、獲取發布單狀態。
3.1.1 添加模塊
模塊是最小的可配置權限的元素,比如weex發布平臺對應的各個模塊、熱修復平臺對應的App等。需要在發布平臺配置權限的時候,就需要選擇模塊。所以,二方平臺在注冊模塊的時候,需要同步到發布平臺,帶上平臺和模塊的唯一標識,以及模塊的名稱,增強可讀性。
3.1.2 獲取權限
權限由統一管理平臺管理,模塊負責人可以編輯權限,其他人可以申請權限。
二方平臺通過攜帶平臺和模塊的唯一標識,以及用戶的唯一標識,從統一管理平臺獲取權限,依賴權限進行相應的操作。
3.1.3 提交發布單
移動側的各個二方平臺發布的內容基本是配置類的信息,配置的內容、格式、條件都不一樣。
比如weex發布的內容包含平臺、環境、規則、描述,和頁面列表,如圖:
而熱修復平臺發布的內容包括應用版本、補丁文件、描述、下發模式(規則)等:
首先想到的是將這些配置類內容抽象成內容、規則和描述。但是如果這么做的話,各個二方平臺展示時各自需要重新解析,也不便于根據內容里的字段進行搜索。
所以,各個二方平臺的發布頁面由各個平臺自己開發,提交發布單的時候,再將唯一標識符(包含平臺、模塊、發布單ID等)和發布單詳情的url傳給統一管理平臺,統一管理平臺來維護一張審批表,包含發布單唯一標識符、狀態、申請人、發布單詳情url等。
其中,狀態包括待審批、審批通過、審批拒絕。發布單詳情url用于審批人在統一管理平臺審批時可以跳轉查看審批內容詳情。
3.1.4 獲取發布單狀態
各個二方平臺有各自的發布單詳情表,而審批狀態統一從統一管理平臺獲取。二方平臺通過審批狀態,判斷是否可以進行發布。
3.2 優化改進
3.2.1 權限申請入口
考慮到每次需要添加的權限的時候,都需要模塊負責人去權限管理頁面添加,對于負責人來說是一種不必要的時間浪費。于是增加權限申請的入口,不僅在統一管理平臺可見,在各個二方平臺也開發入口,通過再url后面攜帶平臺、模塊、角色等參數,跳轉到統一管理平臺的權限申請頁面。申請后,模塊負責人會收到通知(企業微信、釘釘或者其他形式),同意申請即可。既減少了模塊負責人的操作成本,也減少了模塊負責人與申請人的溝通成本。
3.2.2 審批通知與審批結果通知
申請人發起發布申請后,審批人會實時收到通知。而審批人通過/拒絕申請后,申請人也會實時收到通知。減少了二者的溝通成本。
3.2.3 允許關閉審批
可能有一些模塊的特殊性(測試模塊),或者環境的特殊性(有贊的網絡環境分為Daily、QA、Pre、Prod),有些模塊在某些環境需要關閉審批,這樣更能提高效率。否則在測試環境,每次發布都要審批,著實比較麻煩。
四、總結
由此,所有的審批操作和權限操作都在統一管理平臺進行。添加模塊、提交發布單和發布、回滾等操作在各自的二方平臺進行。統一管理平臺以Dubbo的形式向二方平臺提供統一標準接口:
接口一:在統一管理平臺創建模塊
接口二:獲取到用戶在發布平臺的角色
接口三:在統一管理平臺創建/撤回審批單
接口四:獲取審批單的進度
統一管理平臺的后臺操作頁面,主要是權限管理界面和審批界面。
由此就將發布的審批流程和權限管理進行了標準化。現有的二方平臺,以及將來更多二方平臺都可以通過統一管理平臺提供的接口接入,在統一管理平臺上進行權限和審批流程的管理。后續隨著二方平臺的復雜度變高,權限角色的增加,審批類型的增加都可以很方便地進行擴展和復用。
標準化意義在于降低成本,包括開發成本和使用成本。日常開發中需要更多思考,識別業務中哪些可以標準化哪些需要個性化,然后將可標準化的部分抽象出來做成服務,對于效率和擴展性來說都是更好的選擇。
總結
以上是生活随笔為你收集整理的python审批流系统_有赞移动关于权限与审批流程的标准化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c加加中print是什么意思_砖家财经:
- 下一篇: eureka server配置_spri