萬旭川+李凱豐+杜佳
摘 要
多租戶軟件模式以單實例支持多租戶的功能需求,對大型分布式企業的信息化建設具有重要意義。但不同租戶業務需求上以及權限管理上的差異導致實際建設中產生了大量的定制化需求。本文根據多租戶模式的特點,探討了多租戶軟件應用層定制的實現方式,研究了可擴展的訪問授權模型在多租戶軟件中的應用。
【關鍵詞】多租戶系統軟件即服務面向服務的體系結構訪問控制
大型分布式企業是指規模龐大,各子系統/部門在地理上分散且各相互間協作密切的企業。在傳統的企業信息化進程中,由于地域、業務、職能、經濟實力的不同,各子系統往往獨立建設信息系統,加上缺乏整體的統籌規劃,往往導致系統間接口不一致,系統重復建設等問題頻現,企業整體信息化建設效益低。網絡以及信息技術的不斷發展,特別是近年來SaaS的興起為大型分布式企業的信息化建設提供了新的思路。
軟件即服務(Software-as-a-service,簡稱SaaS)以多租戶模式為核心理念,以單實例支持多個租戶的功能需求,具有維護方便、價格適中等特點。分布式企業內部各子系統/部門均可以看做一個租戶,多租戶軟件能夠很好的滿足其共性軟件需求,采用SaaS模式能夠顯著降低信息化建設成本和運維成本,同時保證數據接口的一致性。
SaaS系統通常適用于多數用戶的通用需求,這是由其多租戶共享相同的應用層結構決定的。但從實際應用的角度來看,各租戶的業務邏輯往往具有一定的差異,因此SaaS系統需要根據實際情況進行一定程度的定制。是否能夠通過租戶的配置和二次開發來滿足其個性化的業務需求是決定SaaS能否在企業中得到廣泛應用的重要因素。對多租戶模式下的企業應用進行定制相較傳統應用系統來說更加復雜,一方面需要保障系統的共享性,另一方面需要滿足業務邏輯的可定制性。此外,多租戶共享同一應用實例的特點決定了多租戶應用的定制不能因為某一個租戶需要進行定制而重新部署應用程序。因此,應用層業務流程可配置性是分布式企業應用多租戶模式軟件的關鍵需求之一。
另外,大型分布式企業內部各子系統功能相對獨立,因此需要保證SaaS應用滿足各子系統的獨立性要求,同時需要適應各子系統/部門內部不同的組織結構和管理要求。因此安全可靠可靈活配置的系統權限管理方案是多租戶軟件部署能否取得成功的另一個重要因素。
本文將根據多租戶模式系統的特點,討論大型分布式企業內部多租戶軟件應用的體系架構和管理架構。
1 基于SOA的軟件架構
面向服務的體系結構SOA(Service-Oriented Architecture,SOA)可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用,SOA支持將業務分解為一系列相互關聯的服務或任務,通過對服務進行組合編排,完成特定的業務流程,因此能夠快速適應不同的客觀條件和需求。這種特性正是大型分布式企業部署多租戶應用所需要的,所以基于SOA的體系結構作為多租戶應用的基礎架構是非常理想的。
實現SOA業務流程定義關鍵技術之一是業務流程執行語言(Business Process Execution Language,BPEL)。BPEL只定義業務流程相關的邏輯,具體的功能由它所調用的服務來實現,BPEL通過調用Web 服務描述服務之間的交互與協作,對外則提供流程服務,從而將商業流程與軟件流程對應起來。
在多租戶應用的系統環境中,不同的企業內部子系統/部門將發起獨立的流程實例。在BPEL流程的執行環境中,使用同一個流程模板可以生成多個BPEL流程實例,同時BPEL所調用的服務并不會保留實例信息。為了保證將消息傳遞到正確的流程實例,需要建立消息與流程實例的映射關系。各租戶應用可將一組業務屬性定義為關聯集合,關聯集合中必須映射到唯一的一個BPEL流程實例,BPEL運行環境將消息路由到與該關聯集合相匹配的流程實例。對于流程中不同的接口,可以定義不同的關聯集合以靈活地適應不同的SaaS業務需求。
在構建多租戶應用的過程中,可以抽取業務流程中共性的邏輯形成模式以便流程建模時進行重用。我們通過BPEL定義結構化活動組件來描述基本流程模式,在此基礎上,用多個基本模式的組合來描述復雜的流程模式。結合多租戶軟件應用層的需求和特點,建立了多租戶軟件應用層定制化模型,如圖1所示。
該模型從邏輯上主要分為三部分:
(1)服務模塊:封裝具體的細粒度的業務邏輯,實現具體的業務功能。通用邏輯模塊為所有子系統用戶提供共性業務邏輯的實現,擴展邏輯模塊負責各子系統用戶個性化定制的業務邏輯的實現。
(2)流程定義模塊:通過BPEL設計工具,調用Web Service定義和編排業務流程,BPEL服務器負責運行流程實例并調用相應的服務。
(3)用戶接口模塊:為子系統用戶或管理人員提供簡便的流程定義接口,將子系統用戶對業務的描述轉變為標準的BPEL流程描述.
在多租戶軟件應用層定制化模型中,將各子系統用戶自定義的業務流程和通用的業務流程轉換為可執行的BPEL流程,隨后通過BPEL實例的運行,調用最終的Web Service實現具體的功能。
2 可擴展的訪問控制管理結構
由于多租戶應用的定制化特點,企業內各子系統/部門需要擁有不同的權限集合,此外,各系統各部們的組織架構和管理方式也不盡相同,子系統內部對人員的授權策略上也是不同的。因此多租戶應用的訪問控制策略首先要實現為每個租戶分配適合的權限集,還需要為租戶制定靈活的授權機制,保證各子系統/部門能夠實施規范化的管理。
擴展的角色管理模型(Administrative RBAC,ARBAC97)的基本思想是利用RBAC模型本身來進行RBAC模型的管理,包括用戶角色管理、權限角色管理、角色層次關系管理、限制管理等幾個部分。endprint
ARBAC97模型為企業提供了分層的管理職能分配解決方案。對于多租戶應用,ARBAC97模型同樣能夠完成權限管理的層次劃分任務。
多租戶應用中,不同子系統/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業內部子系統/部門,在此基礎上給出了多租戶訪問控制模型的形式化定義(N為自然數集,U代表員工集,R代表角色集,P代表權限集,RS代表資源集):
(1)定義1: TRTR ((Ti,Rj)TR,iN,jN)
表示從部門集到角色集的一對多映射,即角色Rj屬于部門Ti。
(2)定義2: UTU×T ((Ui,Tj)∈UT,i∈N,j∈N)
表示從用戶集到部門集的多對一映射,即用戶Ui屬于部門Ti。
(3)定義3: TPU×P ((Ti,Pj)∈TP,i∈N,j∈N)
表示從部門集到權限集的多對多映射,即部門Ti擁有權限Pj。
(4)定義4 :URUT×TR (((Ui,Tj),(Tj,Rk))∈UR,(Ui,Tj)∈UT,(Tj,Rk)∈TR,i∈N,j∈N,k∈N)
表示從用戶集到角色集的多對多映射,即部門Tj的員工Ui擁有角色Rk。
(5)定義5: RPR×TP ((Ri,(Tj,Pk))∈PR,Ri∈R,(Tj,Pk)∈TP,i∈N,j∈N,k∈N)
表示從角色集到權限集的多對多映射,即角色Ri擁有權限Pk。
根據如上的定義,一個完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權限集合上,從而實現對系統服務的訪問。
企業內部各子系統擁有獨立的角色集合,由超級管理員進行資源定義和權限定義,租戶級超級管理員僅能夠完成本系統內部的授權和角色定義,從而實現各子系統之間的獨立性,且保證整個企業的權限管理可以靈活拓展。
3 總結
多租戶模式對于大型分布式企業的信息化建設具有重要的指導意義,靈活可定制的流程架構以及管理架構是構建多租戶應用的關鍵因素。本文通過分析研究,探討了通過BPEL構建了多租戶軟件應用層定制化模型的方案并在ARBAC的基礎上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻
[1]Ahmed Elfatatry,Paul Layzell.Software As A Service:A Negotiation Perspective[C].Proceedings of the 26th Annual International Computer Software and Applications Conference,2002 IEEE:501-506.
[2]Dan Ma.The Business Model of “Software-As-A-Service”[C].2007 IEEE International Conference on Services Computing,SCC2007:701-702.
[3]Pasley,James.How BPEL and SOA are changing web services development[J].IEEE Internet Computing,Volume 9,Issue 3,May/June 2005:60-67.
[4]夏魯寧,荊繼武.一種基于層次命名空間的RBAC管理模型[J].計算機研究與發展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人。現為西安航天動力技術研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人。現就職于西安航天動力技術研究所信息中心。
杜佳(1986-),女,河南省安陽市人。現就職于西安航天動力技術研究所信息中心。
作者單位
西安航天動力技術研究所 陜西省西安市 710071endprint
ARBAC97模型為企業提供了分層的管理職能分配解決方案。對于多租戶應用,ARBAC97模型同樣能夠完成權限管理的層次劃分任務。
多租戶應用中,不同子系統/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業內部子系統/部門,在此基礎上給出了多租戶訪問控制模型的形式化定義(N為自然數集,U代表員工集,R代表角色集,P代表權限集,RS代表資源集):
(1)定義1: TRTR ((Ti,Rj)TR,iN,jN)
表示從部門集到角色集的一對多映射,即角色Rj屬于部門Ti。
(2)定義2: UTU×T ((Ui,Tj)∈UT,i∈N,j∈N)
表示從用戶集到部門集的多對一映射,即用戶Ui屬于部門Ti。
(3)定義3: TPU×P ((Ti,Pj)∈TP,i∈N,j∈N)
表示從部門集到權限集的多對多映射,即部門Ti擁有權限Pj。
(4)定義4 :URUT×TR (((Ui,Tj),(Tj,Rk))∈UR,(Ui,Tj)∈UT,(Tj,Rk)∈TR,i∈N,j∈N,k∈N)
表示從用戶集到角色集的多對多映射,即部門Tj的員工Ui擁有角色Rk。
(5)定義5: RPR×TP ((Ri,(Tj,Pk))∈PR,Ri∈R,(Tj,Pk)∈TP,i∈N,j∈N,k∈N)
表示從角色集到權限集的多對多映射,即角色Ri擁有權限Pk。
根據如上的定義,一個完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權限集合上,從而實現對系統服務的訪問。
企業內部各子系統擁有獨立的角色集合,由超級管理員進行資源定義和權限定義,租戶級超級管理員僅能夠完成本系統內部的授權和角色定義,從而實現各子系統之間的獨立性,且保證整個企業的權限管理可以靈活拓展。
3 總結
多租戶模式對于大型分布式企業的信息化建設具有重要的指導意義,靈活可定制的流程架構以及管理架構是構建多租戶應用的關鍵因素。本文通過分析研究,探討了通過BPEL構建了多租戶軟件應用層定制化模型的方案并在ARBAC的基礎上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻
[1]Ahmed Elfatatry,Paul Layzell.Software As A Service:A Negotiation Perspective[C].Proceedings of the 26th Annual International Computer Software and Applications Conference,2002 IEEE:501-506.
[2]Dan Ma.The Business Model of “Software-As-A-Service”[C].2007 IEEE International Conference on Services Computing,SCC2007:701-702.
[3]Pasley,James.How BPEL and SOA are changing web services development[J].IEEE Internet Computing,Volume 9,Issue 3,May/June 2005:60-67.
[4]夏魯寧,荊繼武.一種基于層次命名空間的RBAC管理模型[J].計算機研究與發展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人。現為西安航天動力技術研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人。現就職于西安航天動力技術研究所信息中心。
杜佳(1986-),女,河南省安陽市人。現就職于西安航天動力技術研究所信息中心。
作者單位
西安航天動力技術研究所 陜西省西安市 710071endprint
ARBAC97模型為企業提供了分層的管理職能分配解決方案。對于多租戶應用,ARBAC97模型同樣能夠完成權限管理的層次劃分任務。
多租戶應用中,不同子系統/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業內部子系統/部門,在此基礎上給出了多租戶訪問控制模型的形式化定義(N為自然數集,U代表員工集,R代表角色集,P代表權限集,RS代表資源集):
(1)定義1: TRTR ((Ti,Rj)TR,iN,jN)
表示從部門集到角色集的一對多映射,即角色Rj屬于部門Ti。
(2)定義2: UTU×T ((Ui,Tj)∈UT,i∈N,j∈N)
表示從用戶集到部門集的多對一映射,即用戶Ui屬于部門Ti。
(3)定義3: TPU×P ((Ti,Pj)∈TP,i∈N,j∈N)
表示從部門集到權限集的多對多映射,即部門Ti擁有權限Pj。
(4)定義4 :URUT×TR (((Ui,Tj),(Tj,Rk))∈UR,(Ui,Tj)∈UT,(Tj,Rk)∈TR,i∈N,j∈N,k∈N)
表示從用戶集到角色集的多對多映射,即部門Tj的員工Ui擁有角色Rk。
(5)定義5: RPR×TP ((Ri,(Tj,Pk))∈PR,Ri∈R,(Tj,Pk)∈TP,i∈N,j∈N,k∈N)
表示從角色集到權限集的多對多映射,即角色Ri擁有權限Pk。
根據如上的定義,一個完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權限集合上,從而實現對系統服務的訪問。
企業內部各子系統擁有獨立的角色集合,由超級管理員進行資源定義和權限定義,租戶級超級管理員僅能夠完成本系統內部的授權和角色定義,從而實現各子系統之間的獨立性,且保證整個企業的權限管理可以靈活拓展。
3 總結
多租戶模式對于大型分布式企業的信息化建設具有重要的指導意義,靈活可定制的流程架構以及管理架構是構建多租戶應用的關鍵因素。本文通過分析研究,探討了通過BPEL構建了多租戶軟件應用層定制化模型的方案并在ARBAC的基礎上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻
[1]Ahmed Elfatatry,Paul Layzell.Software As A Service:A Negotiation Perspective[C].Proceedings of the 26th Annual International Computer Software and Applications Conference,2002 IEEE:501-506.
[2]Dan Ma.The Business Model of “Software-As-A-Service”[C].2007 IEEE International Conference on Services Computing,SCC2007:701-702.
[3]Pasley,James.How BPEL and SOA are changing web services development[J].IEEE Internet Computing,Volume 9,Issue 3,May/June 2005:60-67.
[4]夏魯寧,荊繼武.一種基于層次命名空間的RBAC管理模型[J].計算機研究與發展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人。現為西安航天動力技術研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人。現就職于西安航天動力技術研究所信息中心。
杜佳(1986-),女,河南省安陽市人。現就職于西安航天動力技術研究所信息中心。
作者單位
西安航天動力技術研究所 陜西省西安市 710071endprint