




已阅读5页,还剩57页未读, 继续免费阅读
(计算机软件与理论专业论文)多租户软件中动态个性化配置与定制技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 随着互联网技术的成熟,“软件即服务的思想在软件行业中得到了确认, 软件由传统意义上的产品转变为服务。在s a a s 技术的发展过程中,多租户软件 的发展尤为引人注目,其最主要的优点是具有成本高效性,所有的租户共享软件、 硬件、应用程序开发和维护成本,从而达到降低每个租户的成本的目的;然而目 前多租户软件缺乏对租户个性化配置与定制的形式化描述,不能较好的支持租户 的个性化配置与定制,对于租户个性化配置与定制的隔离性问题也存在一定的缺 陷,迫切需要一种机制来支持多租户软件中的个性化配置和定制。 本文针对目前多租户软件无法较好满足租户个性化配置与定制的现状,提出 了一种基于约束与依赖关系统一描述的多租户软件模型。首先,本文针对多租户 软件定义、特点和应用,讨论了多租户软件中的可配置与定制内容,定义了多租 户软件的定制点模型,通过形式化语言描述了多租户软件中的绝大多数定制点以 及它们之间的约束与依赖关系;然后,在该定制点模型的基础上,对比传统多租 户软件模型,定义了基于约束与依赖关系统一描述的多租户软件模型,针对该模 型该处了动态个性化定制算法;最后,本文针对个性化定制的隔离性问题,给出 了一套具体的解决方案。 本文所提出的基于约束与依赖关系统一描述的动态个性化定制模型,与传统 多租户软件模型相比,增加了约束与依赖关系统一描述模块和动态个性化定制管 理引擎模块,通过这两个模块的配合工作能够根据租户选择的个性化定制点集合 生成基于约束与依赖关系的配置和定制序列,并按照预先定义的定制点模型动态 完成该配置和定制任务;在动态配置定制过程中能对出现的错误和异常给出合理 的提示,使租户和软件开发人员能合理调整配置或者定制内容、个性化定制点模 型:与此同时该模型能够保证租户与租户之间个性化定制内容、租户个性化定制 与公用模板之间的有效隔离,并针对多租户个性化定制的共享给出了一个具体的 解决方法。 关键词:s a a s ;多租户;约束;依赖;可变点模型;个性化定制点;定制管 理引擎 山东大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fs a a s ,t h ep r o g r e s so fm u l t i - t e n a n c ys o f t w a r ec a t c h e v e r y o n e se y e ,t h eu p p e r m o s tv a l u ei st h a te v e r yt e n e m e n ts h a r e st h ec o s to ft h e s o f t w a r e ,h a r d w a r ea n dd e v e l o p m e n ta n dm a i n t e n a n c eo fa p p l i c a t i o n s h o w e v e r , m u l t i t e n a n c y s o f t w a r ea t p r e s e n tl a c k st h ed e s c r i p t i o no fc o n f i g u r a t i o n sa n d c u s t o m i z a t i o n sf r o ms p e c i a lt e n e m e n t s ,c a r ln o t s u p p o r tt h ec o n f i g u r a t i o n sa n d c u s t o m i z a t i o n se f f e c t i v e l ya n di sn o tg o o da tt h ei s o l a t i o no ft h ec o n f i g u r a t i o n sa n d c u s t o m i z a t i o n sf r o md i f f e r e n tt e n e m e n t s i ti su r g e n tt op u tf o r w a r dan e wm e c h a n i s m t os u p p o r tt h ec o n f i g u r a t i o n sa n dc u s t o m i z a t i o n se f f e c t i v e l y t h i sa r t i c l eb r i n g sf o r w a r dam u l t i t e n a n c ys o f t w a r em o d e lb a s e do nt h eu n i f o r m d e s c r i p t i o na b o u tt h er e l a t i o n so fc o n s t r a i n ta n dd e p e n d e n c yo nt h ev a r i a b i l i t yp o i n t s f i r s t l y , w ed i s c u s s e dt h ec o n f i g u r a t i o n sa n d c u s t o m i z a t i o n s ,d e f i n e d a v a r i a b i l i t y - p o i n t sm o d e la n dd e s c r i b e dt h ev a r i a b i l i t yp o i n t sa n dt h e i rr e l a t i o n s h i p s w i t hf o r m a ls p e c i f i c a t i o nl a n g u a g e ;t h e no nt h ef o u n d a t i o no ft h i sm o d e la n dt h e t r a d i t i o n a lm o d e lo fm u l t i t e n a n c ys o f t w a r e , w ed e f i n e dt h em u l t i t e n a n c ys o f t w a r e m o d e lb a s e do nt h eu n i f o r m d e s c r i p t i o na b o u tt h er e l a t i o n so fc o n s t r a i n ta n d d e p e n d e n c ya n dg a v et h ea l g o r i s m so nt h em o d e l ;a tl a s t ,w eg i v eo u tan e ws o l u t i o n a b o u tt h ep r o b l e mo ft h ei s o l a t i o no fc o n f i g u r a t i o n sa n d c u s t o m i z a t i o n sf r o md i f f e r e n t t e n e m e n t s t h em u l t i - t e n a n c ys o f t w a r em o d e lb a s e do nt h eu n i f o r md e s c r i p t i o nf r o mt h i s a r t i c l ei sa b l et og e n e r a t eac o r r e c tp h a s eo fc o n f i g u r a t i o n sa n dc u s t o m i z a t i o n sf r o m t h ev a r i a b i l i t yp o i n t ss e l e c t e db yt h et e n e m e n t s ,c o m p l e t et h et a s ko fc o n f i g u r a t i o n s a n dc u s t o m i z a t i o n sa c c o r d i n gt ot h ev a r i a b i l i t yp o i n tm o d e la n dg i v et h ee l l o r sa n d e x c e p t i o n si n t h i sp r o c e d u r e ,w h i c hh e l p st h et e n e m e n t sa n ds o f t w a r ed e v e l o p e r st o a d ju s tt h ei n p u tc o n t e n t sa n dt h em o d e lp r o p e r l y t h i sm o d e la l s oc a l li s o l a t ea n d s h a r et h ec o n f i g u r a t i o n sa n dc u s t o m i z a t i o nf o r md i f f e r e n tt e n e m e n t s e f f e c t i v e l y k e y w o r d :s a a s ;m u l t i - t e n a n c y ;c o n s t r a i n t ;d e p e n d e n c y ;v a r i a b i l i t yp o i n t m o d e l ;c o n f i g u r a t i o n ;c u s t o m i z a t i o n ;c u s t o m i z em a n a g ee n g i n e ; i i 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文储虢f 型j - q l 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:丝导师签名:论文作者签名:i 眇秽导师签名: 日期: 山东大学硕士学位论文 1 1 本文研究意义和背景 1 1 1 多租户软件产生的背景 第一章绪论 互联网技术的飞速发展给各行各业带来了新的概念、机遇和挑战,而首当其 冲要算软件行业了,一系列巨大的变化给了我们重新审视软件与软件工程本质的 机会。软件行业一路走来,由传统的客户服务器的c s 模式到后来的b s s 模式, 由最早期的项目式开发到后来的套装式开发,再到平台式开发,我们一直将软件 和软件工程这一概念建立在软件产品之上,这就给了我们这样一种暗示:软件产 品是基于代码的改变而更新换代的,软件产品的最终目的地是客户,由此导致了 这样一种情况:所有的软件产品,不管是针对同一行业的客户还是不同行业的客 户,对于规模较小的软件开发商而言他们需要对每一个软件产品进行独立开发, 而对于某些规模较大的软件开发商来说,他们可能具有更好的软件重用管理机 制,针对同一行业的软件产品具有更高的重用性。然而,无论企业规模大小,相 同的是都需要进行新的软件产品开发,这就给软件开发商和用户造成了人力物力 的严重浪费,加大了软件产品的升级维护的难度,为软件项目的管理与控制带来 了巨大的不稳定性。在这样一种背景下,将软件看作是一种服务为我们带来了新 的灵感与机遇。 时下主流软件被当作一般产品进行开发、包装以及运输。这种产品的可配置 性与个性化可定制性受到严格限制;而基于服务的软件应该为客户提供灵活的可 配置与个性化定制解决方案,能灵活适应客户的工作环境、业务数据、工作流程、 商业规则。这样的软件才能满足客户的需求,为软件开发商带来巨大的市场,而 “软件即服务 正是基于这样一种目的出现的。 “软件即服务( s o f t w a r ea sas e r v i c e ,简称s a a s ) 是近几年软件产业的一 次创新性进步。随着i n t e m e t 的迅猛发展,将软件作为一种服务形式提供给客户 的需求逐渐增加,而s a a s 这个新模式的出现正是顺应的这个需求。s a a s 是指软 件开发商以单个客户为基础出租他们的产品,并为客户运行这些程序。开发商们 一般操纵与程序相关的数据中心,负责维护,更新底层的软件和硬件,而客户们 山东大学硕士学位论文 仅仅通过一个公共的网络入口便可以操作这些软件。它可以帮助软件开发商降低 成本、加速项目实施、并减少风险。大多数的中小型企业在信息技术软件和硬件 的购置方面存在预算瓶颈,s a a s 则是解决这一问题的有效途径。 s a a s 被看作是软件行业的一次革命,它与传统软件不同,不再出售软件授权, 用户不需要安装和维护自己的软件、硬件以及其他技术设备。在s a a s 平台下, 软件提供者运行和维护所有的必须的硬件和软件平台,软件购买者只需要通过 i n t e m e t 进行互联操作。s a a s 模式正在成为应用软件市场令人兴奋的发展趋势。 i d c ( i n t e m e td a t ac e n t e r ) 的研究报告表明,全球在2 0 0 4 年,以s a a s 方式发布的 软件已经达到4 2 亿美元的销售额。在未来5 年内,该数字将以2 6 的年度复合 增长率持续增长。到0 0 8 年整个市场规模将达到7 2 亿美元。目前,s a a s 在欧美 等信息化应用发达地区内已经被广泛接受。a m rr e s e a r c h 公司在2 0 0 5 年1 1 月 发表的一份针对美国地区用户的调查报告显示在美国的各主要垂直行业和不同 规模企业中。超过7 8 的企业目前使用或考虑使用s a a s 服务。只有1 8 的企业 暂时没有使用s a a s 的计划。其中基于s a a s 模式的c r m 是最为广泛的一种应 用。在国际市场上。非常有影响力的公司是s a l e s f o r c e t o m 。s a l e s f o r c e c o r n 在 短短8 年的时间里已经成长成为一个在s a a s 领域具有5 亿美元资产和5 0 亿市值 的c r m 软件公司。在全世界的2 4 8 万个公司拥有超过5 0 1 万个用户,并以每 年8 0 的速度增长。客户满意度高达9 7 。s a a s 模式已经上市的公司还包括美 国的r i g h t n o w 、t a l e o 和s u c c e s s f a c t o r 公司,他们的骄人业绩令其他的软件厂商 眼前一亮。 多租户软件就是在这样的背景下出现,多租户模式与以往s a a s 模式的最大 区别在于增加了元数据服务,其负责管理不同租户的应用配置。多租户使能层与 元数据服务发生互动,以检索描述各租户配置和扩展的相关信息。 1 1 2 多租户软件中动态个性化定制技术的意义 随着越来越多的软件开发商投入到s a a s 这一领域之中,s a a s 也获得了巨大 的发展并取得了一系列的成功,s a l e s f o r c e t o m 公司的巨大成功也为s a a s 软件开 发商树立了行业标杆。为了获得巨大的收益,s a a s 供应商必须能吸引大量的客 户,通过w e b 方式支持多租户同时运行在一个应用实例上。客户不必购买软件 2 山东大学硕士学位论文 授权,也不必进行本地安装维护。s a a s 的设计目标就是能在同一个应用实例之 上为成千上万的客户提供软件服务。s a a s 供应商比为任何一个客户可发和保存 不同的软件版本。 对s a a s 供应商来说最理想的状态是所有客户都是无差别的,每一个客户都 使用同一个标准的软件版本。然而通常这种理想状态在企业级应用软件中是不存 在的,现实社会中的每个客户都是唯一的,这导致了对多租户软件各式各样需求 的提出,其中的原因可能包括:行业侧重点的不同、租户文化种族背景的不同、 租户行为习惯的不同、产品种类的不同、管理规则的不同以及运作策略的不同。 目前绝大多数的软件都需要进行或多或少的修改以适应某一特殊客户的需求,然 而众所周知的是多租户软件并不为每一个单独的客户提供特殊的版本,而来自租 户的千差万别的个性化需求又在多租户软件的成功中扮演了极为重要的角色。不 幸的是,目前无论是技术理论还是商业应用之中都不存在这样一个现成的基于租 户个性化定制的解决方案。 1 2 相关研究综述 1 2 1典型研究 随着s a a s 软件思想的成熟,与多租户软件相关的理论、技术均得到了较快的 发展,本文接下来将以目前几个最为著名的软件厂商为例,对目前多租户软件相 关研究现状进行介绍。 1 、i b m 策略驱动的软件即服务定制化方法 m 提出一个策略驱动的软件即服务定制化方法( 定制化策略、验证算法和 定制化指令) 参考了制造业中的“大规模定制”的概念,提出了w e b 服务客户 化定制的思想,建立w e b 服务客户化定制的模型及其支持系统的框架。 文献 7 】探索了配置和定制的相关内容,分析了租户个性化配置与定制为多租 户软件厂商所带来的机遇与挑战,在文献中给出了基于配置与定制的能力模型框 和理论框架,用以评估多租户软件厂商对于配置和定制能力的评估。 文献【2 8 】给出了一种基于s a a s 平台的电子合同管理系统,以该系统为例给出 了关于元数据、安全性、共享服务和对多租户个性化定制模型的支持。该文献中 的基于s a a s 平台的多租户模型可以降低软件供应商的成本,提高了租户的个性 3 山东大学硕士学位论文 化配置和定制能力,从而为租户节省了成本。 2 、微软:抓住长尾市场的架构策略和基于多用户的体系结构 文献 2 】中,微软提出了抓住长尾市场的架构策略,将s a a s 软件分为基于企 业用户和个人用户两大类,并对传统软件厂商由传统软件到s a a s 软件过渡提出 了自己的观点和建议,将s a a s 软件划分为四个成熟度模型,认为s a a s 的市场在 于抓住长尾市场,s a a s 模式比传统模式更节约成本,对于可扩展性较强的s a a s 应用而言,随着客户的增多,每家客户的运营成本会不断降低;同时,随着客户 的增多,供应商将加强多用户这一重要特性,以更低的成本提供更高质量的服务, 即便考虑到s a a s 供应商的硬件和专业服务成本,客户仍能用相同的预算实 现高得多的纯软件功能。 文献【3 】中,微软基于多用户的体系结构着重处理了s a a s 软件的安全性问题, 讨论了如何处理与完全隔离数据直至共享数据,并根据不同的地点的数据隔离和 共享情况支持创建数据体系结构的三种方法。随后,通过对经济问题、安全性考 虑因素、用户考虑事项、行业监管考虑和综合技能考虑等几个因素的探讨所采用 的解决方案;最后,针对安全性、创建可扩展数据模型以及数据基础结构的可扩 展性等方面提出了一些设计模式。 3 、s a l e s f o r c e t o m :c 剐m 系统 s a l e s f o r c e c o m 作为全球按需c r m 解决方案的领导者,它拥有业界无可比拟 的客户成功率。当前,全球有2 9 ,8 0 0 多家公司和6 4 6 ,0 0 0 注册用户正使用 s a l e s f o r c e t o m 的强大功能分享客户信息,以及开发具有更高收益的客户关系。 文献【1 2 】中介绍了a p pe x c h a n g e 给合作伙伴的应用开发平台。a p e x 平台很容 易的提高了c r m 系统的可扩展性,这是绝大多数复杂的c r m 系统所无法做到 的:因为a p e x 是一个平台,开发者可以创建新的应用来扩展c r m 系统的能力 以解决不同的需求。a p e x 平台可以实现以下工作: 定制( c u s t o m i z a t i o n ) :a p e x 平台可以很方便的对s a l e s f o r c e c o m 的应用程序 进行修改,小到添加客户关心的一种商品的新属性,达到对客户所提供的一种专 业服务的资产状态进行跟踪,这在a p e x 平台中毒是很容易进行定制。 集成( i n t e g r a t i o n ) :采用a p e x 平台可以很容易的与第三方软件厂商的产品进 行集成,如e r p 、账户管理、s a p 系统等。 应用程序的创建、开发和分发( a p p l i c a t i o nc r e a t i o n ,d e v e l o p m e n t , a n d 4 山东大学硕士学位论文 d i s m b u t i o n ) :a p e x 作为一个平台,其最强大的功能是可以进行新的应用程序的 创建、开发和分发。 文献【1 3 】中,s a l e s f o r o e c o r n 提出了多租户的概念,租户的配置和定制是基于 元数据驱动的模型的,所有的定制和配置基于元数据模型的。a p e x 提供了三种 类型的应用程序,单一型( n a t i v e ) 、混合型( c o m p o s i t e ) 和客户机型( c l i e n t ) 。 自然型是指这类应用程序是完全基于元数据配置的,没有进行任何源码的改动, 不需要任何扩张服务和设备即可运行在a p e x 平台上:混合型是指这类应用程序 在自然型应用程序的基础上牵涉到了一部反较低级别的a p i 接口和编码,提供更 强的可扩展性和集成性;客户机型是指这类应用程序运行在a p e x 用户界面之外, 仅仅使用a p e x 的a p i ,将a p e x 平台当作一个数据资源。 s a l e s f o r c e c o r n 如何能提供比别人更多的成功机会? 方法很简单:强大的功 能:当今业界技术最先进的产品第2 0 代产品具有1 , 0 0 0 多种功能,因此具 有统领全球业务的能力;灵活的定制:这是业界灵活度最高的c r m 解决方案, 独有的自定义选项卡和全新设计的c u s t o m f o r c e 令自定义灵活度大大提高,用 户可深度扩展,因此能满足各种规模的企业的需求;最佳的用户体验:方便易用, 简洁的界面一目了然;多语言支持:支持1 4 种语言;按需应用、按需付费:速 实施:多数公司在3 0 天之内把s a l e s f o r c e t o m 成功融合于企业运转之中:快 速回报:通常在实施后的几个月之内,客户即可获得可观的回报;有安装费:软 件托管于s a l e s f o r c e t o m 公司的强大数据中心,用户只需登陆即可使用,免除 软硬件购买、安装、调试过程;度安全:系统和数据处于层层保护之中;费版本 更新;免费用户支持。 s a l e s f o r c e c o r n 这个客户关系管理软件租用的龙头老大,开辟了一种新的软件 应用模式:通过互联网使用企业级应用软件,s a l e s f o r c e t o m 不满足c r m 市场的 狭小空间,在2 0 0 5 年放言要占领微软的办公软件既得市场,s a l e s f o r c e c o m2 0 0 8 年度收入突破1 0 亿美元大关,成为全球首个收入破1 0 亿美元的s a a s 公司。 4 、其他厂商 随着s a a s 市场的不断发展,s o a 、b s m 、i t i l 等厂商也制定了各自的发展 计划,提出具有自己特色的研究方案。相信不久的将来,s a a s 市场必将出现百 家争鸣的景象。 5 山东大学硕士学位论文 1 2 2 目前存在问题 通过对上述典型研究的学习与分析,可以看到在目前多租户软件研究过程中 主要存在以下几个问题: 1 租户的个性化需求涉及到多租户软件应用系统的各个层面,从界面展示 到数据表示,从服务质量到用户体验等,现有机制各自描述各个层面的个性化需 求,难以从整体上描述层次之间的相互关系,由此带来的问题就是多租户软件开 发商无法从整体上对租户的需求进行系统的把握,导致无法对租户所提出的个性 化定制点进行有效定制,或者无法满足租户的需求,或者满足了租户的需求但导 致了系统整体架构的混乱。 2 深入描述个性化需求在系统各层次之间的约束和依赖关系,保证个性化 定制的正确性及高效性,成为一个亟待解决的问题。也就是说,对于租户所提出 的个性化定制点以及它们之间的关系进行形式化的描述,以该描述为基础进行动 态的定制生成,从而保证多租户软件开发的高效性和正确性。 3 对于单一租户模式,个性化需求可以通过独立应用或参数配置等来实现, 并且从不涉及其他租户的运行问题,模式相对比较固定;但是对于多租户模式, 在共享应用的架构上,保证租户大规模个性化需求实现和在线升级不影响其它租 户,是一个始终存在的难点。 1 3 本文的主要研究内容和结构 本文参考了以上典型研究相关技术与理论,在多租户模式的基础上,开展动 态个性化定制在层次之间映射相关工作的研究,确保为租户提供个性化的、动态 的、高质量的定制技术支撑。主要解决的问题: 1 对个性化需求约束与依赖关系的统一描述 租户有不同的扩展数据的需求;租户有不同的扩展业务逻辑的需求:租户选 择合适的软件服务,基于流程编排、装配来实现租户更高层次的个性化业务需求: 租户根据操作模式、个人喜好等定制交互界面;对于以上各层次元数据描述,需 要增加统一的形式化依赖关系的描述。 2 根据形式化的依赖关系描述,探讨根据约束与依赖关系的动态个性化定 制生成算法 6 山东大学硕士学位论文 各个层次之间是密切相关的,不能单一的考虑某一个层次的需求;层次之间 的依赖关系可能包含直接依赖、传递依赖等各种类型:需要探讨基于约束与依赖 关系的动态个性化定制的生成机制,解决原先手工盲目配置的问题。 3 租户在线定制和升级与其它租户的隔离问题 在实现个性化的需求时,不能只考虑单一租户的需求,要保证其他租户的正 常运行;在线演化时,不能影响其他租户的正常运行。 本文针对上述问题对个性化需求约束与依赖关系给出了统一描述,并给出了 个性化定制点概念模型;在该模型的基础上,定义了多租户软件的动态个性化定 制模型,给出了形式化的约束与依赖关系描述,并探讨了基于约束与依赖关系的 动态个性化定制生成算法:最后对租户在线定制和升级的隔离问题给出了具体的 解决方案。 本文是按照下面的结构组织的: 第二章是在绪论基础上对文章背景知识进行了详细的说明,介绍了多租户软 件的定义、特点和应用模式,并在此基础上给出了个性化定制技术相关概念,讨 论了多租户软件中个性化定制点的具体内容、个性化定制点之间的相互关系,最 后给出了个性化定制点的概念模型。 第三章首先给出了基于约束与依赖关系模块的多租户软件模型,并与传统模 型做了具体对比,接下来对约束与依赖关系给出了形象化描述并将其模型化,最 后讨论了该模型的主要特点。 第四章在第二、三章基础上了给出了个性化定制点的元数据描述,在此基础 上定义了了基于约束与依赖关系动态可定制化模型的相关概念,并将其抽象化为 有向图,并提出了进行动态个性化定制的相关算法及其复杂度分析。 第五章讨论了动态个性化定制的隔离性工作,给出了租户元数据描述,在此 基础上分析了租户与租户之间、租户与公用模板之间的隔离问题,最后并给出了 一套具体的实施方案。 最后一部分对全文工作进行总结并展望未来,指出文章及此方向需要改进和 继续研究的几个方面。 7 山东大学硕士学位论文 第二章多租户软件与个性化定制技术 2 1 多租户软件 2 1 1 多租户软件的定义 在给出多租户软件定义之前,本文首先回顾一下什么是s a a s 。s a a s 是 s o f t w a r e 嬲as e r v i c e 的缩写,也就是“软件即服务”,是近来被微软、甲骨文、 s u n 等业界行业领袖所推崇的一种核心的、准确的分发和管理软件的基础。然而 时至今日,如何准确定义“软件即服务 ( s a a s ) 仍然没有定论,问几个人可能 就会有几种不同的答案。不过,大多数专家可能会在s a a s 区别于传统套装软件 和简单w e b 站点的一些基本特点上达成一致。简言之,软件即服务具备以下特 点: “软件部署为托管服务,通过因特网存取。 根据上述定义,软件即服务的主要特点在于应用代码所处的位置以及部署和存取 应用代码的方式。文献【3 】认为为软件即服务有两大类别: l 、面向企业的服务( l i n e o f - b u s i n e s ss e r v i c e ) ,向各种规模的企业和组织提 供的服务。面向企业的服务通常是可定制的大型商务解决方案,旨在协助开展财 务、供应链管理以及客户关系等商务工作。这种服务通常采用用户预订的销售方 式。 2 、面向个人消费者的服务( c o n s u m e r - o r i e n t e ds e r v i c e ) ,向公众提供的一类 服务。面向个人消费者的服务有时以用户购买的方式销售,不过通常免费提供给 用户,从广告中赚取收入。 在s a a s 概念之下,s a a s 软件供应商提供的不再是产品而是服务,这从本质 上改变了一直以来软件厂商设计、开发和销售软件的方法和策略。 在商业运作上,软件的“所有权”从客户转移至外部供应商;技术基础设施 和管理等方面( 如硬件与专业服务) 的责任从客户重新分配给供应商;软件供应 商需要通过专业化和规模经济降低提供软件服务的成本;降低软件销售的最低成 本以针对小型企业的长尾市场做工作。 8 山东大学硕士学位论文 在应用架构上,同一套软件可以为尽可能多的用户提供服务,出色的s a a s 应用具有可扩展性、多用户高效性,而且可配置。应用的可扩展性是指能最大限 度地提高并行性,以便更高效地利用应用资源,例如,我们要优化锁定时间、无 态性、共享线程和网络连接等汇集资源、高速缓冲参考数据以及对大型数据库进 行分区等。独立的单用户应用设计在传统软件中一统天下,而s a a s 针对的则是 多用户性。例如,一家公司的用户使用c r m 应用服务存取客户信息时,该用 户连接的应用实例同时可能还会为其他几十家,甚或是数百家公司的用户提供服 务,各用户之间彼此互不知情。这就要求应用架构能够最大化不同用户问的资源 共享,不过仍要区分属于不同客户的数据。当然,如果我们必须用一台服务器上 的单个应用实例满足多家不同公司的需求,那么我们就难以针对某个最终用户的 使用体验编写定制代码,因为只要针对某个客户进行了应用定制,就会改变其他 用户的使用。因此,我们不是在传统的意义上进行应用定制,而是让每个客户用 元数据配置应用的外观和行为,如何确保客户应用配置的简易性,同时还不必为 每项配置支付额外的开发或运营成本。 在这里本文引入了多租户的概念,多租户是一种应用程序模型,在这个模型 中所有的用户和应用可以共享同一个基础架构和代码平台。与传统的单租户( 用 户) 程序相比,多租户的设计是基于这样一种思想的,多个租户可以共享运行在 同一套硬件平台之上的单个应用软件实例,这类似于g o o s e 的邮件服务。多租 户的设计使得快部署、低成本的理想成为现实。多租户软件正是基于s a a s 平台, 采用多租户设计思想进行设计、开发和运行的应用软件的总称。由圈2 - l 可以更 为形象的了解多租户软件与传统软件的区别。 t r a d n a l a p p i i c a b 0 bm u l 6 j 0 b a p p l i c a t i o n 图2 一l 多租户软件与传统软件的区别 山东大学硕士学位论文 2 1 2 多租户软件的特点 由图2 1 结合多租户软件的定义及其应用,我们可以看到多租户软件与传统 软件相比具有以下典型特点: 1 基于s a a s 运营模式 多租户软件本质上仍属于s a a s 软件,是s a a s 众多模式中的一种,与以往s a a s 模式的最大区别在于增加了元数据服务,其负责管理不同租户的应用配置。多租 户使能层与元数据服务发生互动,以检索描述各租户配置和扩展的相关信息。多 租户软件的所有权由客户转移到软件供应商。 2 部署在软件托管方 将技术基础设施和管理等方面( 如硬件与专业服务) 的责任从客户重新分配 给供应商,多租户软件购买的不是传统的软件授权,不需要安装到本地,不需要 购买、维护和升级软件、硬件平台,购买的是一种服务,多租户软件部署在多租 户软件供应商购买的软、硬件平台之上,软件的安装、维护、升级对用户是透明 的。 3 通过安全的网络发布给众多租户 由于多租户软件是部署并运行在托管方的软硬件平台之上的,多租户软件客 户购买的仅是供应商提供的服务,所以多租户软件供应商只需要通过安全的网络 来为众多租户提供服务即可。 4 租户完全感知不到其他租户的存在 多租户软件为不同客户提供主机服务,运行相同的实例,不同客户的数据彼 此分开,可配置的元数据可以提供独特的用户体验与特性集。s a a s 系统具备可 扩展性,可轻松适应大规模客户的需要,可在无需对应用进行额外架构设计的情 况下根据需求灵活地增减后端服务器的数量,不管有多少用户,都能像针对单个 用户一样方便地实施应用修改。 5 费用通常以月和年的方式支付,不必一次投入巨大成本新建系统 通过专业化和规模经济降低提供软件服务的成本;降低软件销售的最低成 本,针对小型企业的长尾市场做工作。 6 供应商负责故障修理、维护、升级服务 由于租户购买的不是传统意义上的软件授权书而是供应商所提供的软件服 1 0 山东大学硕士学位论文 务,租户不需要进行本地软件、硬件平台的安装、维护,相反有供应商提供故障 修理、维护、升级工作,这些全部包含在租户购买的服务之中。 2 1 3 多租户软件的应用 最早的s a a s 服务之一当属在线电子邮箱,极大地降低了个人与企业使用电 子邮件的门槛,进而改变了人与人、企业与企业之间的沟通方式。发展至今,s a a s 服务的种类与产品已经非常丰富,主要的应用包含两大类:面向个人用户的服务 与面向企业用户的服务。 面向个人用户的服务包括:帐务管理、文件管理、照片管理、在线文档编辑、 表格制作、资源整合、日程表管理、联系人管理等等。 面向企业用户的服务包括:在线存储管理、网上会议、项目管理、c r m ( 客 户关系管理) 、e r p ( 企业资源管理) 、h r m ( 人力资源管理) 、s t s ( 销售管理) 、e o a ( 协 调办公系统) 、财务管理、在线广告管理以及针对特定行业和领域的应用服务等 等。 2 2 个性化定制技术 2 2 1 相关概念 为了对多租户软件与个性化定制技术做进一步的讨论,本文引入以下概念: 定义2 1 : 可变点:v a r i a b i l i t yp o i n t ,在多租户软件中可以根据客户自身特点进行配置、 定制的元素,包括可配置点和可定制点。 定义2 2 : 可配置化点:c o n f i g u r a t i o n p o i n t ,在多租户软件中,客户可以按照自身特点 无需修改源代码即可进行修改的元素,例如多租户软件的皮肤、语言设置、相关 应用模块的命名等。 定义2 3 : 可定制化点:c u s t o m i z a t i o np o i n t ,在多租户软件中,客户无法自行配置需要 进行代码修改或重开发来适应自身特点的元素,例如多租户软件中特殊工作流、 山东大学硕士学位论文 特别组织机构等与常规应用相悖的元素。 定义2 - 4 : 约束:在多租户软件中,可变点对于输入值、输入规则的域值要求。 定义2 5 : 依赖:在多租户软件中,可变点之间存在的值与规则互为条件而不可分离的 关系,例如机构设置的改变会导致工作流程的改变,会间接导致数据处理规则的 改变;数据处理关则的改变也会导致工作流程的改变,工作流程的改变则也会对 机构设置产生或多或少的影响。 定义2 6 : 直接依赖:在多租户软件中,可变点a 改变必然导致可变点b 的改变,可 变点a 、b 之间的关系成为直接依赖,又叫做强依赖,可变点a 成为依赖的发起 者,可变点b 成为依赖的接受者。 定义2 7 : 间接依赖:在多租户软件中,可变点a 、b 之间存在直接依赖,可变点b 、 c 之间存在直接依赖,可变点a 、c 之间存在间接依赖,又叫做弱依赖。 定义2 8 : 单向依赖:如果可变点a 、b 之间存在依赖关系,可变点a 的改变会导致可 变点b 的改变,可变点b 的改变不会导致可变点a 的改变,这种依赖关系称为 单向依赖。 定义2 - 9 : 双向依赖:如果可变点a 、b 之间存在依赖关系并且可变点a 、b 的改变均 会导致对方的改变,这种依赖关系称为双向依赖。 定义2 1 0 : 个性化定制点:在多租户软件中,租户根据自身特点需要多租户软件供应商 进行配置和定制的可变点集合。 定义2 1 1 : 动态个性化定制技术:在多租户软件中,对个性化定制点进行配置和定制的 相关技术称为个性化定制技术。传统的个性化定制技术在对租户提出的个性化定 制点进行配置与定制的同时,必须维护与该定制点有约束与依赖关系的其他定制 点,这个过程需要多租户软件开发人员首先找到与租户所提出定制点有约束与以 1 2 山东大学硕士学位论文 来关系的定制点,然后对这些定制点的变化做出评估,对它们定制先后顺序做出 评判,最后对相关定制点进行维护升级以适应租户所提出定制点的个性化定制, 这个过程往往是费时费力的,对软件开发人员要求较高,而且最后不一定能够得 到理想的效果。动态个性化技术与此不同,仅需要对租户提出的个性化定制点进 行配置与定制,与该定制点有约束与依赖关系的其余定制点会自动进行相应的配 置与定制,是一个动态过程,这个过程是自动完成的,不需要手工维护与租户选 择的定制点相关联的其他定制点。 2 2 2 可配置与可定制 由2 1 节可知,多租户软件设计的目的是为了在同一套硬件平台之上共享唯 一的应用软件实例,但是由于租户之间因业务侧重点、文化种族背景、运营规则、 个人喜好等的千差万别,导致了个性化需求的不同,这就需要根据租户的个性化 需求对多租户软件提供的服务进行个性化剪裁,这主要牵涉到两种方法:配置 ( c o n f i g u r a t i o n ) 与定制( c u s t o m i z a t i o n ) 。根据文献【7 】,当租户对软件的不适性 降低时,多租户软件供应商的利润成单调增长状态,为了降低租户的这种不适性, 多租户软件供应商应该提供良好的配置与定制方法,然而大部分软件开发人员会 对这两个术语感到模糊,因为它们之间确实不存在严格意义的界限。为了将一个 标准的多租户软件提供给一个特殊的租户,接下来本文尝试去区分二者,并给出 一个明确的界限描述。 无论配置还是定制,在一定程度上它们都具备将一个标准的多租户软件改造 为一个适合特殊租户需求的能力,这也是二者的相同点。它们的不同点是复杂的, 首先配置不牵涉到多租户软件代码的修改,一般来说配置是指通过设置应用程序 预先定义好的参数来支持客户的不同需求或者通过特殊的配套工具在一定阈值 约束范围内来改变应用程序中某些函数的功能,如变换页面外观与感觉、增加新 的数据域、修改属性名称、改变业务规则等。无论修改哪些内容,增加哪些功能, 它们都是预先定义好的,是不需要改动源代码就可以完成的。定制则不同,它牵 涉到多租户软件中源代码的修改,这部分修改是超出配置功能之外的。 与配置相比,定制是一种代价更高的解决方法,无论是对多租户软件供应商 还是租户来说,因为定制对于多租户软件供应商来说意味着源代码的改变,可能 1 3 山东大学硕士学位论文 是升级,也可能是重新设计、开发,而这个过程不可避免的会出现以下情况:相 比较配置人员来说定制人员需要更高的技术水平,这代表着软件供应商需要支付 更高的薪水;分配额外的资源和设备来管理软件版本;需要更长的周期来进行代 码开发、调试、测试和部署工作,最坏的是在这个过程中可能会丧失很多商业合 同,因为有些客户不能接受在他们看来很简单的改动所带来的定制的巨大复杂性 与高昂代价。与此同时,随着多租户软件的发展,定制会变得越来越复杂,因为 软件供应商不得不对每个租户的个性化定制进行维护;多租户软件的升级不得不 考虑单个租户的个性化定制问题。无论如何,多租户软件供应商对租户提出的个 性化需求应该尽量使用配置方法而避免进行定制,然而在很多情况下个性化定制 是不可避免的,这就需要一种高效的动态个性化定制技术来支撑多租户软件的发 展。 通过上述分析,配置与定制的本质区别在于是否对源代码进行改动,因此本 文可以得出以下结论:配置是不需要给变多租户软件源代码而能满足租户个性化 需求的技术;定制是在配置无法满足租户个性化需求之后采取的修改软件源代码 来满足租户需求的技术。 2 3 个性化定制点 2 3 1多租户软件中的个性化可定制点 程序设计语言中有经典等式:算法+ 数据结构= 程序,在软件产品中也有类 似的等式:用户界面+ 产品要素= 软件产品。文献【7 】中提出了给新可变点模型, 但是该模型并未将可变点分层描述,仅仅给出了可变点内容及其之间关系。本文 根据目前s a a s 多租户应用系统中所牵涉到的功能模块,将可定制化点划分为两 大部分,部分是与应用程序用户界面相关的功能模块,这部分是所有用户每天 必然接触的,也是在未深入了解与使用s a a s 多租户软件之前,评价s a a s 多租户 软件系统最重要的依据,一般包括用户界面和报表两个功能模块,称之为表现层 定制点集合;另一部分则是与用户业务密切相关的功能模块,这一部分是s a a s 多租户软件的核心功能部分,也是用户在熟悉界面和报表模块后最为关心的业务 功能部分,一般包括组织结构、应用数据、工作流、数据处理规则、商业规则等 功能模块,称之为逻辑层定制点集合。接下来将按照这两大部分进行详细介绍。 1 4 山东大学硕士学位论文 1 表现层定制点集合 表现层定制点集合包括用户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情境模拟在历史教学中核心素养的作用
- 促进能源装备绿色发展的人才培养与引进
- 强化水源地生态修复与可持续发展策略
- 翻转课堂对教育学专业学生综合素质提升的促进作用
- 高校体育教育开放平台的建设与应用
- 加强人才国际化视野的培养与国际合作
- 创新思维训练与解决复杂问题能力的培养
- 城市水资源管理与生态水系恢复策略
- 茶旅融合与地方经济可持续发展的协同机制
- 小学宪法考试试题及答案
- 中医护理常规呕吐
- 粤语文化课件图片
- 2025至2030中国甲状腺素淀粉样变(ATTR)行业发展趋势分析与未来投资战略咨询研究报告
- 产品质量监督管理制度
- 失血性休克麻醉病例分享
- 小学竹编教学课件
- DB43-T 2724-2023 农村公路养护工程预算编制办法及定额
- CJ/T 480-2015高密度聚乙烯外护管聚氨酯发泡预制直埋保温复合塑料管
- CJ/T 197-2010燃气用具连接用不锈钢波纹软管
- 儿科试题及答案泌尿感染
- 入股瑜伽店协议书
评论
0/150
提交评论