(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf_第1页
(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf_第2页
(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf_第3页
(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf_第4页
(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机软件与理论专业论文)面向soa的多租户(multitenancy)技术的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近年来,软件即服务( s a a s :s o f t w a r e 髂as e r v i c e ) 模式正在成为应用软件市 场发展的新趋势。作为当前主流s a a s 应用的核心支撑技术,多租户 ( m u l t i t e n a n c y ) 正受到越来越多的重视。其核心思想在于通过对系统软硬件的 复用,有效提高资源的利用率,并降低实施和管理的成本。然而,由于该问题的 复杂性,目前仍然没有普遍适用的理论或原则。进一步,在纯多租户( n a t i v e m u l t i - t e n a n c y ) 场景下,除了传统的安全、隔离、定制等需求外,由于所有t e n a n t 共享一个应用的实例,在保证每个t e n a n t 的服务质量、数据安全等方面与单租 户应用相比技术上的难度更大。开发满足s a a s 应用需求的纯多租户应用对系统 架构和开发人员都提出了更高的要求和挑战。另一方面,鉴于s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 架构拥有的灵活快速适应业务变化的能力,与s a a s 要求 的满足客户动态异构需求相吻合,越来越多的s a a s 应用已经开始基于s o a 架 构开发。 本课题在深入分析多租户技术的业务需求和特点的基础上,对s o a 环境下 的纯多租户s a a s 应用的设计思路和体系架构进行了有效的探索和研究,提出并 实现了一种新的,用于构建应用层的纯多租户应用的设计策略和编程模型。该模 型的一个特色是设计了一个用于隔离屏蔽多租户敏感资源和业务的中间层,并 据此将开发人员的角色划分为多租户感知( m u l t i t e n a n c ya w a r e n e s s ) 的和多租 户屏蔽( m u l t i t e n a n c yu s a w a r e n e s s ) 两种类型。多租户感知的开发人员( 通常 是系统架构的底层设计人员) 通过实现第三方接口,将多租户隔离层和真正应用 系统环境资源映射起来。而多租户屏蔽的开发人员( 通常是业务流程u i 开发人 员) 则无需关心多租户技术的细节实现,只需简单的遵循一定的编程接口,就能 使其开发的应用系统自动支持多租户。利用本文给出的编程模型,一方面使绝大 多数开发人员能专注于业务逻辑的开发;同时使业务逻辑代码和用于实现多租户 技术相关的代码最大程度的隔离,从而有效地提高了软件的重用性和可维护性。 关键词: 多租户 软件即服务面向服务的体系架构编程模型 a b s t r a c t r e c e n t l y ,s a a s ( s o f t w a r e 嬲as e r v i c e ) b e c o m e sm o r ea n dm o r ep o p u l a rp a r e m i ne n t e r p r i s ea p p l i c a t i o ns o f t w a r e & s e r v i c ed o m a i n m u l t i - t e n a n c yt e c h n o l o g yi so n e o ft h e k e yt e c h n o l o g i e s f o rt h es u c c e s so fs a a sa p p l i c a t i o n s t h et a r g e to f m u l t i t e n a n c yt e c h n o l o g i e si st os h a r eh a r d w a r e s o f t w a r er e s o u r c e sa m o n gm u l t i p l e t e n a n t s ,s oa st or e d u c et h eo n b o a r d i n g ,o p e r a t i o na n dm a n a g e m e n tc o s to fs a a s a p p l i c a t i o n s h o w e v e r , b e c a u s eo ft h el a r g ec o m p l e x i t yo ft h et e c h n o l o g i e s ,t h e r ei s s t i l ln og e n e r a lm e t h o d o l o g ya n dp r a c t i c e st or e s o l v et h i sp r o b l e m w e l l f u r t h e r m o r e , i nn a t i v em u l t i - t e n a n c ye n v i r o n m e n t s ,s i n c ea l lt e n a n t ss h a r eas a n l ea p p l i c a t i o n i n s t a n c e ,t h eh i g hr e q u i r e m e n t so ns e c u r i t y , c u s t o m i z a t i o na n dm a n a g e m e n ti s o l a t i o n b e c o m e m o r ed i f f i c u l t , w h i c ho b v i o u s l yp r o p o s e dg r e a tc h a l l e n g et ot h o s es a a s a p p l i c a t i o na r c h i t e c t sa n dd e v e l o p e r s o nt h eo t h e rh a n d ,t h ec a p a b i l i t yt oe a s i l ya d o p t t h e d y n a m i cb u s i n e s sr e q u i r e m e n t sc h a n g e sm a k e ss o a ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) ah i g hp o t e n t i a la r c h i t e c t u r ef o rs a a sa p p l i c a t i o nd e v e l o p m e n t i nt h i sp a p e r , w ee x p l o r et h ep o t e n t i a ld e s i g np r i n c i p l ea n dp r a c t i c eo fm u l t i t e n a n c y t e c h n o l o g i e s i ns o ae n v i r o n m e n t s ,a n d p r o p o s e an o v e l a p p l i c a t i o n l e v e l p r o g r a m m i n gm o d e la n df r a m e w o r kt oe n a b l et h es o ab a s e dn a t i v em u l t i - t e n a n c y a p p l i c a t i o nd e v e l o p m e n te f f e c t i v e l y i nt h i sf r a m e w o r k ,am u l t i - t e n a n c ye n h a n c e m e n t l a y e ri sp r o v i d e dt oi s o l a t et h o s em u l t i t e n a n c ys e n s i t i v er e s o u r c e sa n db u s i n e s s p r o c e s s e s ,a n dt h u sd i v i d e dt h ed e v e l o p e r si n t ot w oc a t e g o r i e s f i r s t ,m u l t i t e n a n c y a w a r e n e s sd e v e l o p e r sf o c u so nm a p p i n gt h em u l t i t e n a n c ys e n s i t i v er e s o u r c e sw i t h t h ei s o l a t i o nl a y e rb yu s i n gt h et h i r dp a r t yi n t e r f a c ew ep r o v i d e d s e c o n d l y , m u l t i t e n a n c yu n a w a r e n e s sd e v e l o p e r s ,s u c ha su id e s i g n e r , b u s i n e s sl o g i c s d e v e l o p e re t e ,n e e d n tt oc a r ea b o u tt h ed e t a i l so fm u l t i - t e n a n c yt e c h n o l o g i e s b y f o l l o w i n gs o m es i m p l ep r o g r a m m i n gi n t e r f a c e ,t h e yc a ne a s i l yt r a n s f o r mt h e i r a p p l i c a t i o n sa sm u l t i - t e n a n c ye n a b l e d t os l i mu p ,t h em e r i t so ft h ep r o g r a m m i n g m o d e lp r o p o s e di nt h i sp a p e rm a i n l yi n c l u d e s :1 ) m o s to fd e v e l o p e r sw i l lf o c u so nt h e d e s i g na n di m p l e m e n t a t i o no ft h e i rk e yb u s i n e s sl o g i c s ,w h i l en o ti n v o l v i n gt h e d e t a i l so fm u l t i - t e n a n c yt e c h n o l o g i e s ;2 ) m a k et h es a a sa p p l i c a t i o nm o r ee a s i l y m a i n t e n a n c ea n dr e u s e db ys e p a r a t i n gt h em u l t i t e n a n c ye n h a n c e m e n tc o d e sf r o m t h o s eb u s i n e s sl o g i c s f i n a l l y , t h ep r o g r a m m i n gm o d e lh a sa k e a d yb e e np r o v e da sa p r a c t i c a la n de f f e c t i v em e t h o db ys o m er e a ls a a sa p p l i c a t i o nd e v e l o p m e n t k e yw o r d s :n a t i v e m u l t i t e n a n c y , s a a s ( s o f t w a r ea sas e r v i c e ) ,s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) ,p r o g r a m m i n gm o d e l 独创性声明 本入声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成 果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得苤鲞盘茎或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表 示了谢意。 学位论文作者签名:高演签字日期:z 卯1 年j 月z 7 日 学位论文版权使用授权书 本学位论文作者完全了解苤垄盘堂有关保留、使用学位论文的规定。特授 权墨鎏盘茎可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影 印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或 机构送交论文的复印件和磁盘。, ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:蔫域导师签名: 签字e l 期:z 扣1 年1 月翻日 。 惫够 签字日期: 溉7 年f 月7 日 第一章概述 第一章概述 1 1 软件发展现状与趋势分析 一般的,企业级应用主要有三种交付和运营模式:1 ) 传统模式:客户根据 自己的需求,定制开发一套完全属于自己的系统,客户需要购买并维护各种所需 的硬件软件资源,这是最为传统和常见的模式;2 ) 托管模式:主要是为使客户 脱离软件维护和管理的束缚而产生的。在此模式下,虽然整个系统仍然是为客户 定制开发的,但是软硬件资源的维护和管理则由专业的公司作为服务的形式提 供;3 ) 软件服务模式( s a a s :s o f t w a r e a s a - s e r v i c e 1 1 ) 的出现,彻底的改变了系 统交付和用户使用的方式。s a a s 应用通过计算机网络,尤其是i n t e m e t ,以服务的 形式交付。用户无需为应用系统的开发付费,也无需购置软硬件资源,而是通过 租赁使用s a a s 服务运营商提供的基于w e b 或其他模式的s a a s 应用。在使用过程 中,客户无需对系统进行维护,服务提供商会全权管理和维护系统,它消除了企 业购买、构建和维护基础设施和应用程序的需要,同时使企业能够实现按需的业 务管理( o n d e m a n db u s i n e s s 2 j ) ,以快速适应客户需求、市场机遇以及外部威胁 等。 多租户技术( m u l t i t e n a n c y ) 是s a a s 应用的核心技术之一。其基本思想是, 通过在多个企业之间复用软硬件资源,运营管理维护资源,有效降低s a a s 应用 的成本。m u l t i t e n a n c y 技术的核心在于平衡资源复用所带来的收益和风险弊端, 如安全,定制,管理复杂性等等。进一步,纯多租户( n a t i v em u l t i t e n a n c y ) 指 的是多个企业租户( t e n a n t ) 共享同一个应用实例。这个场景提高了资源复用的 程度,也加剧了安全隔离等方面的挑战。在保证每个t e n a n t 的服务质量、数据 安全等方面与单租户应用相比技术上的难度更大。开发满足s a a s 应用需求的 n a t i v em u l t i - t e n a n c y 应用对系统架构和开发人员都提出了更高的要求和挑战。 目前,面向服务的架构( s o a :s e r v i c eo r i e n t e da r c h i t e c t u r et 3 1 ) 在国内外已 经取代一度风靡的面向对象、b s 结构、三层结构等软件解决方案,成为热门词 汇。大多数公司都会将自己的应用过渡至i j s o a 架构,并采用支持国际标准的w e b s e r v i c e 技术和x m l 数据标准。而对于s a a s 应用开发和运营商而言,s o a 架构拥 有的灵活快速适应业务变化的能力,与s a a s 要求的满足客户动态异构需求相吻 合,越来越多的s a a s 应用已经开始基于s o a 架构开发。 第一章概述 采用s o a 和支持m u l t i t e n a n c y 是区分当前s a a s 和传统的a s p ( a p p l i c a t i o n s e r v i c ep r o v i d e r s ) 的一个主要标志,它允许s a a s 解决方案提供商有能力提供更加 灵活可扩展,具备更高性能和价格比的s i m s 应用,并且易于快速定制和集成以便 适应用户需求的变化,这种廉价、高可用性及灵活定制性对中小型企业 ( s m b :s m a l la n d m i d s i z e b u s i n e s s ) 是非常重要的,他们可咀用较低的成本实现 企业信息化管理的需要。p h i l i p p ev m c e n t 认为:“最后归结为你是否是一个 m u l t i t e n a n e y 的环境,第一代的a s p s 在一个单租户( s i n g l e - t e n a n t ) 的环境里以按 需( o nd e m a n d ) 的方式提供传统的软件服务,这种模式是不能完全满足日益动 态变化的应崩环境的叫”。而基于s o a 架构和m u l t i - t e n a n c y 技术的s a a s 应用提供 商能够在一个应用的实例上,为成千上万的客户提供服务,但是他们的软件仍然 能够非常灵活和可扩展,同时便于软件版本管理。“s a a s 提供商要提供能灵活满 足客户需求的软件,而没有一个设计非常好的s o a 的m o d e l 是很难实现这点的” ,可见,s o a 环境下的m u l t i t e n a n c y 技术模犁醴计的好坏,是关系到箍个s a a s 应片j 是否能够成功的非常重要的因素。 2m u i t i t e n a n c y 技术国内外研究现状 m u l t i t e n a n c y 在实现方法上,有物理隔离、虚拟化、应用支持的m u l t i - t e n a n c y 三大类。物理隔离及o s 级别的虚拟化等技术已经发展的比较成熟,近年来关于 m u l t i t e n a n c y 的研究,主要集中在h y b n d 和n a t i v em u l t i t e n a n c yh ,两种技术 各有优缺点和适用的场景,下面简单对比一下返两种m u l t i - t e n a n c y 技术。( 关于 m u l t i t e n a n c y 技术的详细分类和发展情况的讨论,会存2 2 中专门介绍) h y b r i dm u l t i - t e n a n c y ( x 4 p , h * t 3 t a t f , 月神州 n a t i v em u l t i - t e n a n c y ( j a l u y o r c e ) 图1 ih v b r i dm u l t i t e n a n c y n a t i v em u l t i t e n a n c y 如图1 - 1 所示,h y b r i dm u l t i t e n a n e y 3 b f i 个独征企业租,1 ( t e n a n t ) 建立 个独立的应用实例( a p p l i c a t i o ni n s t a n c e i 。其优点是具有较高的安全性和隔离性 第一章概述 且对应用本身的要求较低,便于遗留系统的集成;而缺点是资源利用率较低,软 硬件成本较高,因此比较适合于具备较强财力的中大型企业。s a p 、n e t s u i t e 、 r i p :;l _ l t n o w 等都是基于这一模型作为其s a a s 的体系结构的典型代表。 n a t i v em u l t i - t e n a n c y 中,一个应用实例会被多个企业租户共享,其优点是资 源利用率较高,对每个租户来说,费用较低:但是其缺点是隔离和安全性相对较 弱,定制相对不够灵活,在用户量较大时服务质量( s l a :s e r v i c el e v e la g r e e m e n t ) 也不易得到保证。但是,对于大多数的中小企业而言,n a t i v em u l t i t e n a n c y 应用 模式显然将成为主流,因为对于每一个租户而言,该模式能够提供更为廉价的服 务。s a l e f o r c e c o r n 大获成功也证明了这一点。 作为一种应用层技术,n a t i v em u l t i - t e n a n c y 技术需要贯穿s o a 应用的几乎所 有层面和纬度,从用户界面、业务流程到数据层面;从a p p l i c a t i o nl e v e l 至l j m i d d l e w a r el e v e l 到o sl e v e l 等等。同时对隔离、定制、安全、可扩展性、资源 分配以及s l a 等功触非功能性需求都提出了很高的要求。目前的n a t i v e m u l t i - t e n a n c y i 尚处于研究和探索阶段,已有的方案主要是利用复杂的u 层和d a t a 层简单协作来实现的,而对核心的商业流程( b u s i n e s sp r o c e s s ) 层目前没有很好 的方案,对面向s o a 的m u l t i t e n a n c y 的研究也处于探索阶段。 1 3 本课题研究的内容及意义 在n a t i v em u l t i t e n a n c y 场景下,对于每个t e n a n t 来说,除了传统的安全、隔 离、定制等需求外,由于所有t e n a n t 共享一个应用的实例,在保证每个t e n a n t 的服务质量、数据安全等方面与单租户应用相比技术上的难度更大;而开发 n a t i v e 的m u l t i t e n a n c y 对系统架构和开发人员都提出了更高的要求和挑战。 本课题在深入分析多租户技术的业务需求和特点的基础上,对s o a 环境下 的纯多租户( n a t i v em u l t i t e n a n c y ) s a a s 应用的设计思路和体系架构进行了有效的 探索和研究,提出并实现了一种新的,用于构建应用层的纯多租户应用的设计策 略和编程模型。该模型的一个特色是设计了一个用于隔离屏蔽多租户敏感资源 和业务的中间层,并据此将开发人员的角色划分为多租户感知( m u l t i t e n a n c y a w a r e n e s s ) 的和多租户屏蔽( m u l t i t e n a n c y1 1 1 1 a w a r e n e s s ) 两种类型。多租户感 知的开发人员( 通常是系统架构的底层设计人员) 通过实现第三方接口,将多租 户隔离层和真正应用系统环境资源映射起来。而多租户屏蔽的开发人员( 通常 是业务流棚开发人员) 则无需要关心多租户技术的细节实现,只需简单的遵 循一定的编程接口,就能使其开发的应用系统自动支持多租户。 利用本文给出的编成模型,一方面使绝大多数开发人员能专注于业务逻辑的 第一章概述 开发;同时使业务逻辑代码和用于实现多租户技术相关的代码最大量的隔离,从 而有效地提高了软件的重用和维护性。 1 4 章节安排 本文主要介绍的是作者在i b m 中国研究院期间所参与的关于m u l t i t e n a n c y 技术的部分研究工作。通过对s o a 架构下的m u l t i t e n a n c y 的需求的深入分析, 给出了对面向s o a 的m u l t i - t e n a n c y 应用的编程模型和参考实现。其中: 第二章对比分析了当前m u l t i - t e n a n c y 技术的各种实现方法,并介绍了一些相 关的概念,如s a a s ,s o a 等。 第三章从多个不同角度研究和分析了n a t i v em u l t i t e n a n c y 技术的需求,继而 给出了面向s o a 的m u l t i - t e n a n c y 系统设计核心思想和编程模型。 第四章对m u l t i t e n a n c y 涉及的各个方面给出了详细的分析,并对其中的几个 给出了参考实现。 第五章简要介绍了一个基于我们提出的系统架构的m u l t i t e n a n c y 的企业级 应用,对其中应用的m u l t i t e n a n c y 技术和特性进行了分析。 第六章分析了s a a s 发展趋势,对m u l t i t e n a n c y 技术的研究做出了一些总结 和展望。 4 第二章m u l t i t e n a n c y 及相关概念 第二章m u l t i - t e n a n c y 及相关概念 2 1 软件即服务( s a a s ) 软件即服务( s a a s s o f t w a r e a s a - s e r v i c e ) ,是随着互联网技术的发展和应用 软件的成熟,在2 l 世纪开始兴起的一种完全创新的软件应用模式。它是一种通 过i n t e m e t 提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户 可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的 服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户 不用再购买软件,而改用向提供商租用基于w e b 的软件,来管理企业经营活动, 且无需对软件进行维护,服务提供商会全权管理和维护软件。对于许多小型企业 来说,s a a s 是采用先进技术的最好途径,它消除了企业购买、构建和维护基础 设施和应用程序的需要。在这种模式下,客户不再象传统模式那样花费大量投资 用于硬件、软件、人员,而只需要支出一定的租赁服务费用,通过互联网便可以 享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级,这是网络应 用最具效益的营运模式, s a a s 服务模式与传统的销售软件永久许可证的方式有很大的不同,它是未来 管理软件的发展趋势,相比较传统服务方式而言s a a s 具有很多独特的特征: 其一:软件供应商与客户的关系发生了彻底的转变:从售卖关系转变为服务关 系; 其二:基于互联网的运用,完全采用标准的浏览器作为交互界面: 其三:真正彻底的移动办公,因为它可以在任何可以上互联网的地方使用,不 必增加任何特别的软件和硬件;客户不必为s a a s 新增任何软件、硬件、集成甚至 i t 人员; 其四:快速、简洁的交付、设置和培训过程,一般不超过3 个月: 其五:s a a s 采用“一对多”模式,其本质是一种多租户系统构架,它是一种便 于升级、安全性高、随处可用的,可以同时支持数千名用户同时使用;软件的升 级将变成软件服务商的职责之一,随时提升软件性能,可以让客户一直享用最先 进版本的软件9 其六:s a a s 按照服务模式进行付费,用多少付多少,付款方式十分灵活,可 以是按年支付,也可以是按月支付,或者买断一定年限: 最近的一些调查显示,企业确信s a a s 将是他们未来的一部分。 第二章m u l t i t e n a n c y 及相关概念 在i t 咨询公司c u t t e rc o n s o r t i u m 于2 0 0 5 年1 0 月进行的一次调查中【5 1 ,6 5 的 回答者说他们使用或考虑使用s a a s 产品,3 5 的人说还没有考虑它。在3 4 考虑 采用s a a s 的人中,8 2 的人说他们计划在半年到1 年内做这件事。 目前用户关注的热门s a a s 应用包括,c r m 、销售人员自动化、e r p 、人力 资源管理和供应链管理。 s a a s 虽然在中国还是个刚刚兴起的新生事物,但是由于国内具有非常良好的 生长土壤,目前备受业界的关注。据统计我国约有1 2 0 0 万家中小企业,这是一 个数量非常庞大的s a a s 消费群体。我国的中小企业由于受到i t 预算少、缺乏专 业的技术支持人员、决策时间长等问题的困扰,企业的信息化普及率一直不高。 而另一方面,中小企业灵活多变、发展迅速等特点,又急需专业的i t 系统和服 务来帮助其提高工作效率、提升管理质量、降低运营成本,以增强其核心竞争能 力。s a a s 正是解决这些矛盾的最佳途径,用户可以根据自己的应用需要从服务 提供商那里定购相应的应用软件服务,并且可以根据企业发展的变化来调整所使 用的服务内容,具有很强的伸缩性和扩展性,同时这些应用服务所需要的的专业 维护与技术支持也都是由服务商的专业人员来承担。具体来说s a a s 可以为客户 带来如下的价值: 1 ) 服务的收费方式风险小,灵活选择模块,备份,维护,安全,升级 2 ) 让客户更专注核心业务 3 ) 灵活启用和暂停,随时随地都可使用 4 ) 按需定购,选择更加自由 5 ) 产品更新速度加快 6 ) 市场空间增大 7 ) 实现年息式的循环收入模式 8 ) 有效降低营销成本 9 ) 准面对面使用指导 1 0 ) 在全球各地,7 * 2 4 全天候网络服务 1 1 ) 不需要额外增加专业的i t 人员 1 2 ) 大大降低客户的总体拥有成本 在客户通过s a a s 获得巨大收益的同时,对于软件厂商而言就变成了巨大的 潜在市场。因为以前那些因为无法承担软件许可费用或者是没有能力配置专业人 员的用户,都变成了潜在的客户。同时,软件服务化模式还可以帮助厂商增强差 异化的竞争优势,降低开发成本和维护成本,加快产品或服务进入市场的节奏, 有效降低营销成本,改变自身的收入模式,改善与客户之间的关系。 目前s a a s 国内外主要厂商有: 6 第二章m u l t i - t e n a n c y 及相关概念 n e t s u i t e :最早的s a a s 模式的e r p 软件供应商之一。提供财务、客户、采购、 工资、库存等模块,也提供功能有限的生产管理模块。 s a l e s f o r c e :在年初推出了划时代的基于互联网的软件开发和集成平台( 国内的 8 0 0 c r m 也推出了类似平台) ,和合作伙伴一起,推出了大量s a a s 模式e r p 模 块。s a l e s f o r c e 于2 0 0 4 年在纽约证券交易所成功上市。 微软:微软在西方市场推出了s p l a 合作计划,合作伙伴通过运营微软的企业 管理软件为终端客户提供s a a s 模式的e r p 产品。根据a m r 研究机构的调查, 此计划的进展缓慢。 s a p :为合作伙伴推出了p o w e r e db ys a p 产品,但还是传统的a s p 模式。最 近又推出了h y b r i ds a a s 模式,此模式与微软的s p l a 计划类似。 甲骨文o n d e m a n d :收购s i e b e l 之后,延续了其s a a s 模式的c r m 产品线。 s a a s 无论是对客户还是对厂商而言,都具有强大的吸引力,将会给客户和厂 商之间带来双赢的大好局面。 2 2 多租户( m ui ti - t e n a n c y ) m u l t i t e n a n c y 是s a a s 的核心技术,不同的机构从不同的角度对其定义: l 、a p p - e x c h a n g ep l a t f o r m ( s a l e s f o r c e c o m ) :m u l t i t e n a n c y 是一种应用模型, 所有的用户和应用共享一个单独的通用的基础结构和相同的代码。 2 、a m rr e s e a r c h :一个应用的实例数据模型,被提供给多个客户使用。 3 、r i g h tn o w - 所有的应用共享一个高性能的s e r v e r ,成千上万的客户通过 这个s e r v e r 访问应用,共享一套代码,同时又可以通过配置的方式改变特性。 目前有三大类实现m u l t i t e n 锄c y 的方法【6 】= 1 、物理分隔 2 、虚拟化 3 、应用支持的m u l t i t e n a n c y 7 第二章m u l t i - t e n a n c y 及相关概念 j ,” l 图2 - 1m u l t i _ i e n a n c y 技术分类吲 图2 - l 所示的是接着t e n a n t 密度由高到低排列的,越在上层的技术,在同等 资源下能支持的t e n a n t 的数目就越多。 通过物理隔离实现的m u l t i t e n a n c y 很容易理解,对每个t e n a t l t 为其配置其独 占的物理资源,实现了在物理层面上的隔离。同时可以按着每个t e n a n t 的需求, 对运行在物理机器上得应片 进行个性化。然而这种模式的软硬件成本较高,只适 用于中大型企业。 虚拟机器( v i r t u a lm a c h i n e ) 模拟了物理机器,所以可以在一台物理机器上 运行多个服务器环境和程序,各种物理资源被虚拟机器共享。可以在每个虚拟机 器内对t e n a n t 进行个性化。但当有成千r 万的t e n a n t 的时候,给每个t e n a n t 都建立独立的虚拟机器是不合理和没有效率的。 虚拟服务( v i r t u a ls e r v i c e s ) 起一个新* 的技术它主要的目的是为了减少 为达到隔离日的而产生的独占性资源。与对o s 层做整体的虚拟化不同,多个虚 拟服务可以共享一些基水o s 内核,例如各种驱动程序等。与虚拟机器样,虚 8 i 裔 o t 秭 辫雠热i j i 裂器 第二章m u l t i - t e n a n c y 及相关概念 拟服务很难支持成千上万的客户,但对s a a s 运营商优化机器资源分配等方面, 却是一个很有用的技术。 前面介绍的两种虚拟化的技术都是以t e n a n t 为核心,进行预先分配资源。用 户会话虚拟化技术( u s e rs e s s i o nv i r t u a l i z a t i o n ) 是在一个多用户操作系统中,动 态的对被认证的用户会话进行资源分配。为了在s a a s 中应用用户会话虚拟化, 必须要有一系列的终端服务( t e r m i n a ls e r v i c e ) 被预先建立起来,以接收基于浏 览器的终端客户端连接请求,并且这些终端服务能够通过配置使得用户只能访问 某个特定的应用而不是真个w i n d o w s 桌面。然而这种方式从本质上就存在扩展 性差的缺点,不能支持大量的t e n a n t ,这是因为终端服务最早是用来做远程桌面 登陆的,所以有很多的关于用户的p r o f i l e 等的信息在每个用户会话时都会被加 载到内存中,能支持的t e n a n t 的客户的数目和与终端服务的l i c e n s e s 的数目以及 机器的硬件配置直接相关。 应用池( a p p l i c a t i o np o o l s ) 是用来隔离应用实例的服务器端沙箱。i i s 应用 池就是这种技术的应用。应用池可以用来控制安全和性能的问题,这样一个应用 实例的问题不会影响其他实例。每个应用池都有一系列的操作系统进程来处理应 用请求,通过设定每个应用池中的进程数目,能够起到控制系统最大资源利用情 况和容量评估等。这种方式被很多的托管商用来托管不同客户的w e b 应用,也 就是通常所说的h y b r i dm u l t i t e n a n c y 。 客户端应用沙箱( c l i e n ts i d ea p p l i c a t i o ns a n d b o x ) 是一种利用s a a s 模型来发 布s t a n d a l o n e 的应用的有效的方法,例如o f f i c e 就可以被打包并发送到客户的 电脑上,然后在客户端沙箱中执行,过程中需要的各种库以及系统文件都在沙箱 中存在着,程序的运行不会更改底层的操作系统配置。 共享应用实例( s h a r e da p p l i c a t i o ni n s t a n c e ) 是用在一个应用实例上,为成千 上万个t e n a n t 提供服务,t e n a n t 间是隔离的,并且t e n a n t 可以用配置的方式, 对应用进行定制。也就是通常所说的n a t i v em u l t i t e n a n c y 。这种技术的好处是由 于应用本身对m u l t i t e n a n c y 的支持,所以在资源利用率和配置灵活性上都较虚 拟化的方式好,并且由于是一个应用实例,在管理维护方面也比虚拟化的方式方 便。 对比各种m u l t i t e n a n c y 的实现,我们可以看到,随着实现层面从物理机器到 应用程序自身支持,资源利用率呈上升趋势,整体软硬件的c o s t 呈下降趋势, t e n a n t 间的隔离程度呈下降趋势,资源利用率大幅提高,客户o nb o a r d i n g 时间 变短,如图2 2 所示: 9 第二章m u l t i - t e n a n c y 及相关概念 图2 - 2m u l t i t e n a n c y 技术对比 我们的研究重点是应用支持的m u l t i - t e n a n c y 。通过对n a t i v em u l t i t e n a n c y 的 需求和特点的深入分析,提出了一种全新的编程模型,配合一些开发时和运行时 组件的支持,使得应用支持m u l t i - t e n a n c y ,同时对开发人员从m u l t i - t e n a n c y 技术 的细节中解脱出来。 23 面向服务的体系架构( s o a ) 在1 9 9 6 年g a r t n e rg r o u p 就提出了面向服务的体系结构( s o a :s e r v i c e o r i e n t e da r c h i t e c t u r e ,) 的概念,但是那个时候软件技术还不足以从真正意义上支 持企业实现s o a 。随着网络技术的不断发展,在2 0 0 2 年1 2 月,g a r t n c r 再次提 出了s o a 是“现代应用开发领域昂重要的课题”,并预计到2 0 0 8 年,s o a 将成 为占有绝对优势的软件工程实践方法。 s e r v i c e - a r c h i t e c t u r ec o r n 将s o a 定义为i ”:“本质上是服务的集合。服务间彼此 通信这种通信可能足简单的数据传送,也可能是两个或更多的服务协调进行某 些活动。服务问需要某些方法进行连接。所谓服务就是精确定义、封装完善、独 立于其他服务所处环境和状态的函数。” s o a 在i b m s o af o u n d a t i o n 州中的定义如f : “现在应该清楚的是s o a 不仪仅涉t ;5 乏到技术领域。i b m 将s o a 视为业 务和i t 部门问的全方位关系。s o a 包含用于捕获业务设计和使用设计信息帮 第二章m u l t i t e n a n c y 及相关概念 助改进业务的各种工具和方法。它还包含用于在信息系统中实现业务设计的工 具、编程模型和技术。它包含用于承载该实现的中间件基础设施。s o a 包含该 实现的管理,从而确保其对业务的可用性,并确保在执行该实现的过程中高效地 使用各种资源。它包含指定谁具有权威的机制和用于控制业务设计中的更改以及 其在信息系统中的实现的过程。最后,s o a 可加快体现这些优势的价值。 总结起来,s o a 是一种结构模型,将企业的业务处理看作服务,使用一种粗 粒度、松藕合结构,通过标准、简单、精确的定义进行通讯,并可以进行分布式 部署、组合和使用的一种企业信息架构。s o a 将能够帮助我们站在一个新的高 度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以 更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以s o a 架构的系 统能够更加从容地面对业务的急剧变化,给企业的业务和i t 都带来好处。 s o a 的业务好处 1 、效率:将业务流程从”烟囱”状的、重复的流程向维护成本较低的高度利用、 共享服务应用转变。 2 、响应:迅速适应和传送关键业务服务来满足市场需求,为客户、雇员和合 作伙伴更高水准的服务。 3 、适应性:更高效地转入转出让整个业务变得复杂性和难度更小,达到节约 时间和资金的目的。 s o a 的i t 好处 1 、复杂性降低:基于标准的兼容性,与点到点的集成相比降低了复杂性。 2 、重用增加:通过重用以前开发和部署的共享服务,实现了更有效的应用 程序项目开发和交付。 3 、遗留集成:用作可重用服务的遗留应用程序降低了维护和集成的成本。 第三章面向s o a 环境的m u l t i t e n a n c y 需求分析与设计思路 第三章面向s o a 环境的m u l t i t e n a n c y 需求分析与设计思路 3 1 需求分析 在n a t i v em u l t i - t e n a n c y 场景下,成百上千的t e n a n t 将共享同一个应用程序实 例,这与传统的单租户程序有着巨大的差异,要求应用程序本身在几乎所有的功 能和非功能层面上都要支持m u l t i t e n a n c y 技术,从而满足用户在安全,定制, 性能等各方面的需求。 本节将从用户使用和系统功能两个角度对n a t i v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论