萬旭川+李凱豐+杜佳
摘 要
多租戶軟件模式以單實(shí)例支持多租戶的功能需求,對大型分布式企業(yè)的信息化建設(shè)具有重要意義。但不同租戶業(yè)務(wù)需求上以及權(quán)限管理上的差異導(dǎo)致實(shí)際建設(shè)中產(chǎn)生了大量的定制化需求。本文根據(jù)多租戶模式的特點(diǎn),探討了多租戶軟件應(yīng)用層定制的實(shí)現(xiàn)方式,研究了可擴(kuò)展的訪問授權(quán)模型在多租戶軟件中的應(yīng)用。
【關(guān)鍵詞】多租戶系統(tǒng)軟件即服務(wù)面向服務(wù)的體系結(jié)構(gòu)訪問控制
大型分布式企業(yè)是指規(guī)模龐大,各子系統(tǒng)/部門在地理上分散且各相互間協(xié)作密切的企業(yè)。在傳統(tǒng)的企業(yè)信息化進(jìn)程中,由于地域、業(yè)務(wù)、職能、經(jīng)濟(jì)實(shí)力的不同,各子系統(tǒng)往往獨(dú)立建設(shè)信息系統(tǒng),加上缺乏整體的統(tǒng)籌規(guī)劃,往往導(dǎo)致系統(tǒng)間接口不一致,系統(tǒng)重復(fù)建設(shè)等問題頻現(xiàn),企業(yè)整體信息化建設(shè)效益低。網(wǎng)絡(luò)以及信息技術(shù)的不斷發(fā)展,特別是近年來SaaS的興起為大型分布式企業(yè)的信息化建設(shè)提供了新的思路。
軟件即服務(wù)(Software-as-a-service,簡稱SaaS)以多租戶模式為核心理念,以單實(shí)例支持多個(gè)租戶的功能需求,具有維護(hù)方便、價(jià)格適中等特點(diǎn)。分布式企業(yè)內(nèi)部各子系統(tǒng)/部門均可以看做一個(gè)租戶,多租戶軟件能夠很好的滿足其共性軟件需求,采用SaaS模式能夠顯著降低信息化建設(shè)成本和運(yùn)維成本,同時(shí)保證數(shù)據(jù)接口的一致性。
SaaS系統(tǒng)通常適用于多數(shù)用戶的通用需求,這是由其多租戶共享相同的應(yīng)用層結(jié)構(gòu)決定的。但從實(shí)際應(yīng)用的角度來看,各租戶的業(yè)務(wù)邏輯往往具有一定的差異,因此SaaS系統(tǒng)需要根據(jù)實(shí)際情況進(jìn)行一定程度的定制。是否能夠通過租戶的配置和二次開發(fā)來滿足其個(gè)性化的業(yè)務(wù)需求是決定SaaS能否在企業(yè)中得到廣泛應(yīng)用的重要因素。對多租戶模式下的企業(yè)應(yīng)用進(jìn)行定制相較傳統(tǒng)應(yīng)用系統(tǒng)來說更加復(fù)雜,一方面需要保障系統(tǒng)的共享性,另一方面需要滿足業(yè)務(wù)邏輯的可定制性。此外,多租戶共享同一應(yīng)用實(shí)例的特點(diǎn)決定了多租戶應(yīng)用的定制不能因?yàn)槟骋粋€(gè)租戶需要進(jìn)行定制而重新部署應(yīng)用程序。因此,應(yīng)用層業(yè)務(wù)流程可配置性是分布式企業(yè)應(yīng)用多租戶模式軟件的關(guān)鍵需求之一。
另外,大型分布式企業(yè)內(nèi)部各子系統(tǒng)功能相對獨(dú)立,因此需要保證SaaS應(yīng)用滿足各子系統(tǒng)的獨(dú)立性要求,同時(shí)需要適應(yīng)各子系統(tǒng)/部門內(nèi)部不同的組織結(jié)構(gòu)和管理要求。因此安全可靠可靈活配置的系統(tǒng)權(quán)限管理方案是多租戶軟件部署能否取得成功的另一個(gè)重要因素。
本文將根據(jù)多租戶模式系統(tǒng)的特點(diǎn),討論大型分布式企業(yè)內(nèi)部多租戶軟件應(yīng)用的體系架構(gòu)和管理架構(gòu)。
1 基于SOA的軟件架構(gòu)
面向服務(wù)的體系結(jié)構(gòu)SOA(Service-Oriented Architecture,SOA)可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用,SOA支持將業(yè)務(wù)分解為一系列相互關(guān)聯(lián)的服務(wù)或任務(wù),通過對服務(wù)進(jìn)行組合編排,完成特定的業(yè)務(wù)流程,因此能夠快速適應(yīng)不同的客觀條件和需求。這種特性正是大型分布式企業(yè)部署多租戶應(yīng)用所需要的,所以基于SOA的體系結(jié)構(gòu)作為多租戶應(yīng)用的基礎(chǔ)架構(gòu)是非常理想的。
實(shí)現(xiàn)SOA業(yè)務(wù)流程定義關(guān)鍵技術(shù)之一是業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language,BPEL)。BPEL只定義業(yè)務(wù)流程相關(guān)的邏輯,具體的功能由它所調(diào)用的服務(wù)來實(shí)現(xiàn),BPEL通過調(diào)用Web 服務(wù)描述服務(wù)之間的交互與協(xié)作,對外則提供流程服務(wù),從而將商業(yè)流程與軟件流程對應(yīng)起來。
在多租戶應(yīng)用的系統(tǒng)環(huán)境中,不同的企業(yè)內(nèi)部子系統(tǒng)/部門將發(fā)起獨(dú)立的流程實(shí)例。在BPEL流程的執(zhí)行環(huán)境中,使用同一個(gè)流程模板可以生成多個(gè)BPEL流程實(shí)例,同時(shí)BPEL所調(diào)用的服務(wù)并不會保留實(shí)例信息。為了保證將消息傳遞到正確的流程實(shí)例,需要建立消息與流程實(shí)例的映射關(guān)系。各租戶應(yīng)用可將一組業(yè)務(wù)屬性定義為關(guān)聯(lián)集合,關(guān)聯(lián)集合中必須映射到唯一的一個(gè)BPEL流程實(shí)例,BPEL運(yùn)行環(huán)境將消息路由到與該關(guān)聯(lián)集合相匹配的流程實(shí)例。對于流程中不同的接口,可以定義不同的關(guān)聯(lián)集合以靈活地適應(yīng)不同的SaaS業(yè)務(wù)需求。
在構(gòu)建多租戶應(yīng)用的過程中,可以抽取業(yè)務(wù)流程中共性的邏輯形成模式以便流程建模時(shí)進(jìn)行重用。我們通過BPEL定義結(jié)構(gòu)化活動組件來描述基本流程模式,在此基礎(chǔ)上,用多個(gè)基本模式的組合來描述復(fù)雜的流程模式。結(jié)合多租戶軟件應(yīng)用層的需求和特點(diǎn),建立了多租戶軟件應(yīng)用層定制化模型,如圖1所示。
該模型從邏輯上主要分為三部分:
(1)服務(wù)模塊:封裝具體的細(xì)粒度的業(yè)務(wù)邏輯,實(shí)現(xiàn)具體的業(yè)務(wù)功能。通用邏輯模塊為所有子系統(tǒng)用戶提供共性業(yè)務(wù)邏輯的實(shí)現(xiàn),擴(kuò)展邏輯模塊負(fù)責(zé)各子系統(tǒng)用戶個(gè)性化定制的業(yè)務(wù)邏輯的實(shí)現(xiàn)。
(2)流程定義模塊:通過BPEL設(shè)計(jì)工具,調(diào)用Web Service定義和編排業(yè)務(wù)流程,BPEL服務(wù)器負(fù)責(zé)運(yùn)行流程實(shí)例并調(diào)用相應(yīng)的服務(wù)。
(3)用戶接口模塊:為子系統(tǒng)用戶或管理人員提供簡便的流程定義接口,將子系統(tǒng)用戶對業(yè)務(wù)的描述轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)的BPEL流程描述.
在多租戶軟件應(yīng)用層定制化模型中,將各子系統(tǒng)用戶自定義的業(yè)務(wù)流程和通用的業(yè)務(wù)流程轉(zhuǎn)換為可執(zhí)行的BPEL流程,隨后通過BPEL實(shí)例的運(yùn)行,調(diào)用最終的Web Service實(shí)現(xiàn)具體的功能。
2 可擴(kuò)展的訪問控制管理結(jié)構(gòu)
由于多租戶應(yīng)用的定制化特點(diǎn),企業(yè)內(nèi)各子系統(tǒng)/部門需要擁有不同的權(quán)限集合,此外,各系統(tǒng)各部們的組織架構(gòu)和管理方式也不盡相同,子系統(tǒng)內(nèi)部對人員的授權(quán)策略上也是不同的。因此多租戶應(yīng)用的訪問控制策略首先要實(shí)現(xiàn)為每個(gè)租戶分配適合的權(quán)限集,還需要為租戶制定靈活的授權(quán)機(jī)制,保證各子系統(tǒng)/部門能夠?qū)嵤┮?guī)范化的管理。
擴(kuò)展的角色管理模型(Administrative RBAC,ARBAC97)的基本思想是利用RBAC模型本身來進(jìn)行RBAC模型的管理,包括用戶角色管理、權(quán)限角色管理、角色層次關(guān)系管理、限制管理等幾個(gè)部分。endprint
ARBAC97模型為企業(yè)提供了分層的管理職能分配解決方案。對于多租戶應(yīng)用,ARBAC97模型同樣能夠完成權(quán)限管理的層次劃分任務(wù)。
多租戶應(yīng)用中,不同子系統(tǒng)/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統(tǒng)的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業(yè)內(nèi)部子系統(tǒng)/部門,在此基礎(chǔ)上給出了多租戶訪問控制模型的形式化定義(N為自然數(shù)集,U代表員工集,R代表角色集,P代表權(quán)限集,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)
表示從部門集到權(quán)限集的多對多映射,即部門Ti擁有權(quán)限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)
表示從角色集到權(quán)限集的多對多映射,即角色Ri擁有權(quán)限Pk。
根據(jù)如上的定義,一個(gè)完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權(quán)限集合上,從而實(shí)現(xiàn)對系統(tǒng)服務(wù)的訪問。
企業(yè)內(nèi)部各子系統(tǒng)擁有獨(dú)立的角色集合,由超級管理員進(jìn)行資源定義和權(quán)限定義,租戶級超級管理員僅能夠完成本系統(tǒng)內(nèi)部的授權(quán)和角色定義,從而實(shí)現(xiàn)各子系統(tǒng)之間的獨(dú)立性,且保證整個(gè)企業(yè)的權(quán)限管理可以靈活拓展。
3 總結(jié)
多租戶模式對于大型分布式企業(yè)的信息化建設(shè)具有重要的指導(dǎo)意義,靈活可定制的流程架構(gòu)以及管理架構(gòu)是構(gòu)建多租戶應(yīng)用的關(guān)鍵因素。本文通過分析研究,探討了通過BPEL構(gòu)建了多租戶軟件應(yīng)用層定制化模型的方案并在ARBAC的基礎(chǔ)上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻(xiàn)
[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].計(jì)算機(jī)研究與發(fā)展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人?,F(xiàn)為西安航天動力技術(shù)研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人?,F(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
杜佳(1986-),女,河南省安陽市人?,F(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
作者單位
西安航天動力技術(shù)研究所 陜西省西安市 710071endprint
ARBAC97模型為企業(yè)提供了分層的管理職能分配解決方案。對于多租戶應(yīng)用,ARBAC97模型同樣能夠完成權(quán)限管理的層次劃分任務(wù)。
多租戶應(yīng)用中,不同子系統(tǒng)/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統(tǒng)的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業(yè)內(nèi)部子系統(tǒng)/部門,在此基礎(chǔ)上給出了多租戶訪問控制模型的形式化定義(N為自然數(shù)集,U代表員工集,R代表角色集,P代表權(quán)限集,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)
表示從部門集到權(quán)限集的多對多映射,即部門Ti擁有權(quán)限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)
表示從角色集到權(quán)限集的多對多映射,即角色Ri擁有權(quán)限Pk。
根據(jù)如上的定義,一個(gè)完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權(quán)限集合上,從而實(shí)現(xiàn)對系統(tǒng)服務(wù)的訪問。
企業(yè)內(nèi)部各子系統(tǒng)擁有獨(dú)立的角色集合,由超級管理員進(jìn)行資源定義和權(quán)限定義,租戶級超級管理員僅能夠完成本系統(tǒng)內(nèi)部的授權(quán)和角色定義,從而實(shí)現(xiàn)各子系統(tǒng)之間的獨(dú)立性,且保證整個(gè)企業(yè)的權(quán)限管理可以靈活拓展。
3 總結(jié)
多租戶模式對于大型分布式企業(yè)的信息化建設(shè)具有重要的指導(dǎo)意義,靈活可定制的流程架構(gòu)以及管理架構(gòu)是構(gòu)建多租戶應(yīng)用的關(guān)鍵因素。本文通過分析研究,探討了通過BPEL構(gòu)建了多租戶軟件應(yīng)用層定制化模型的方案并在ARBAC的基礎(chǔ)上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻(xiàn)
[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].計(jì)算機(jī)研究與發(fā)展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人?,F(xiàn)為西安航天動力技術(shù)研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人?,F(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
杜佳(1986-),女,河南省安陽市人。現(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
作者單位
西安航天動力技術(shù)研究所 陜西省西安市 710071endprint
ARBAC97模型為企業(yè)提供了分層的管理職能分配解決方案。對于多租戶應(yīng)用,ARBAC97模型同樣能夠完成權(quán)限管理的層次劃分任務(wù)。
多租戶應(yīng)用中,不同子系統(tǒng)/部門擁有不同的訪問控制策略,因此,多租戶訪問控制模型的表述不同于傳統(tǒng)的RBAC模型的訪問控制模型,本文引入符號Ti,用以表示ID為i的企業(yè)內(nèi)部子系統(tǒng)/部門,在此基礎(chǔ)上給出了多租戶訪問控制模型的形式化定義(N為自然數(shù)集,U代表員工集,R代表角色集,P代表權(quán)限集,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)
表示從部門集到權(quán)限集的多對多映射,即部門Ti擁有權(quán)限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)
表示從角色集到權(quán)限集的多對多映射,即角色Ri擁有權(quán)限Pk。
根據(jù)如上的定義,一個(gè)完整的多租戶訪問控制模型如圖2所示。
在多租戶體系中,通過角色間接地映射到租戶所擁有的權(quán)限集合上,從而實(shí)現(xiàn)對系統(tǒng)服務(wù)的訪問。
企業(yè)內(nèi)部各子系統(tǒng)擁有獨(dú)立的角色集合,由超級管理員進(jìn)行資源定義和權(quán)限定義,租戶級超級管理員僅能夠完成本系統(tǒng)內(nèi)部的授權(quán)和角色定義,從而實(shí)現(xiàn)各子系統(tǒng)之間的獨(dú)立性,且保證整個(gè)企業(yè)的權(quán)限管理可以靈活拓展。
3 總結(jié)
多租戶模式對于大型分布式企業(yè)的信息化建設(shè)具有重要的指導(dǎo)意義,靈活可定制的流程架構(gòu)以及管理架構(gòu)是構(gòu)建多租戶應(yīng)用的關(guān)鍵因素。本文通過分析研究,探討了通過BPEL構(gòu)建了多租戶軟件應(yīng)用層定制化模型的方案并在ARBAC的基礎(chǔ)上列出了多租戶模式下訪問控制模型的形式化定義。
參考文獻(xiàn)
[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].計(jì)算機(jī)研究與發(fā)展,2007,44(12):2020-2027.
作者簡介
萬旭川(1975-),男,陜西省寶雞市人。現(xiàn)為西安航天動力技術(shù)研究所所長助理,信息中心主任。
李凱豐(1986-),男,河南省平頂山市人。現(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
杜佳(1986-),女,河南省安陽市人?,F(xiàn)就職于西安航天動力技術(shù)研究所信息中心。
作者單位
西安航天動力技術(shù)研究所 陜西省西安市 710071endprint