CN102135883B - 一种支持SaaS应用生成与部署的方法和装置 - Google Patents

一种支持SaaS应用生成与部署的方法和装置 Download PDF

Info

Publication number
CN102135883B
CN102135883B CN201110059503.2A CN201110059503A CN102135883B CN 102135883 B CN102135883 B CN 102135883B CN 201110059503 A CN201110059503 A CN 201110059503A CN 102135883 B CN102135883 B CN 102135883B
Authority
CN
China
Prior art keywords
application
saas
generation
tenant
customization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110059503.2A
Other languages
English (en)
Other versions
CN102135883A (zh
Inventor
孔兰菊
李庆忠
王新军
张世栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN201110059503.2A priority Critical patent/CN102135883B/zh
Publication of CN102135883A publication Critical patent/CN102135883A/zh
Application granted granted Critical
Publication of CN102135883B publication Critical patent/CN102135883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种支持SaaS应用生成与部署的方法及装置,以解决目前SaaS软件生成、发布所面临的问题。包括以下步骤:A.独立软件开发商经过注册获得SaaS应用生成与部署装置的开发授权,成为正式开发用户;B.独立软件开发商通过ISV门户单元下载生成及测试工具集并将工具集集成到其本地生成环境中,使得本地生成环境成为快速生成SaaS应用的SaaS应用描述生成装置;C.独立软件开发商利用SaaS应用描述生成装置进行应用生成,并将应用的描述上传到SaaS应用部署装置中;D.SaaS应用部署装置将ISV生成的应用添加底层实现,将其部署成支持多租户及个性化定制的SaaS应用;E.租户对发布的SaaS应用进行试用、租赁、定制。

Description

一种支持SaaS应用生成与部署的方法和装置
技术领域
本发明涉及SaaS应用生成与部署技术领域,特别涉及一种支持SaaS应用生成与部署的方法和装置。
背景技术
SaaS(Software-as-a-service)的意思是软件即服务,SaaS是基于互联网提供软件服务的软件应用模式。相比较传统服务方式而言SaaS具有很多独特的特征:SaaS不仅减少或取消了传统的软件授权费用,而且厂商将应用软件部署在统一服务器上,免除了最终用户的服务器硬件、网络安全设备和软件升级维护的支出,客户不需要除了个人电脑和互联网连接之外的其他IT投资就可以通过互联网获得所需要软件和服务。
当前,软件开发商开发SaaS应用时需要解决复杂的底层技术实现细节,如需要考虑数据的高可信保护、需要增加相应的租户定制模块等,这些底层实现使独立软件开发商不能将主要精力集中在核心业务逻辑上,造成开发团队人力、物力资源的浪费。目前有开发商提出了一种基于在线的开发装置,独立软件开发商在装置上开发SaaS应用,如SalesForce公司的AppExchange平台,它提供开放的API接口供第三方调用,在线开发装置确实可以为独立软件开发商屏蔽掉一部分的底层实现细节,但在线开发装置也存在以下特点:首先,软件开发商开发的独立性较差,需要与固定的开发装置绑定而不能在传统的开发环境下开发;其次,对于定制的支持有限,无法充分满足租户的个性化需求;再次,在线开发装置支持的应用领域有限,目前市面上的在线开发装置大多集中在ERP和CRM等领域中,并且租户每次只能租赁一个应用,租户无法在使用不同的应用时获得一致的使用体验;最后,不同的在线装置开发规范标准各异,独立软件开发商需要浪费较长时间进行学习。因此,需要建立一个支持使用国际通用规范、支持租赁多个应用、支持多租户的SaaS应用生成与部署的装置。
发明内容
针对上述背景,本发明的思想在于提出一种支持SaaS应用生成与部署的方法及装置,以解决目前SaaS软件生成、发布所面临的上述问题。
为实现上述目的,本实用新型采用如下技术方案:
一种支持SaaS应用生成与部署的方法,包括以下步骤:
A.独立软件开发商经过注册获得SaaS应用生成与部署装置的开发授权,成为正式开发用户;
B.独立软件开发商通过ISV门户单元下载生成及测试工具集并将工具集集成到其本地生成环境中,使得本地生成环境成为快速生成SaaS应用的SaaS应用描述生成装置;
C.独立软件开发商利用SaaS应用描述生成装置进行应用生成,并将应用的描述上传到SaaS应用部署装置中;
D.SaaS应用部署装置将ISV生成的应用添加底层实现,将其部署成支持多租户及个性化定制的SaaS应用;
E.租户对发布的SaaS应用进行试用、租赁、定制。
所述步骤B中独立软件开发商在生成应用时是在传统开发环境下生成,对于应用的开发环境没有限制,SaaS应用生成与部署装置以插件形式提供集成到本地生成环境、便于开发商进行应用生成的生成及测试工具集,可令开发商方便的在本地构建SaaS应用描述生成装置。
所述步骤B中利用生成工具集里面的聚合模板开发工具,开发商针对某个行业而生成一种应用的默认组织形态,聚合模板包括应用功能点组成以及功能点的上下级关系、应用中的角色以及角色具有对功能点操作的权限、针对某种业务需求定制后的页面、应用的专用工作流组成、应用的业务流程组成、针对该业务需求的应用数据存储结构、针对该业务需求的参数的默认值、针对该业务需求的默认规则;如一个应用需要满足多租户需求,则开发商在提交一个应用的时候提交多个聚合模板。
所述步骤C中独立软件开发商在生成应用包括以下步骤:
C1.独立软件开发商对应用业务需求进行分析;
C2.独立软件开发商选择要描述的应用的层次,开发商选择页面、业务流程、工作流、服务、数据进行描述;
C3.SaaS应用描述生成装置按照开发商的选择进行初始化,对应生成应用的可视化生成环境;
C4.独立软件开发商按照业务需求进行可视化编辑,开发商在可视化生成环境中拖拖拽拽即可;
C5.SaaS应用描述生成装置按照开发商的可视化编辑结果自动生成应用描述;
C6.SaaS应用描述生成装置利用应用描述约束文件对生成的应用描述进行规范验证;
C7.SaaS应用描述生成装置自动生成与实现架构无关的SaaS应用描述并将应用描述按照规范自动打包;
C8.ISV将应用的描述上传到SaaS应用部署装置。
所述步骤D中,SaaS应用部署装置部署应用的步骤包括:
D1.应用包内文件位置检查和格式检查;
D2.对应用的各级描述文件进行解析;
D3.由监管部门对应用的数据存储模式进行选择;
D4.由监管部门对应用的页面翻译模式进行选择;
D5.生成应用的各级元数据并调用元数据服务将元数据存入元数据表中;
D6.添加应用的登录模块、添加所需的页面编译文件、修改主页为登陆模块;
D7.将应用中的服务信息进行注册;
D8.将页面按照上面选择的模式进行翻译;
D9.应用部署成功。
所述步骤E中,租户生成的业务系统是基于租赁的应用或租赁应用的组合而来的,租户对租赁的应用进行数据定制、服务定制、业务流程定制、工作流定制、规则定制和页面定制等个性化定制,租户每租赁一次应用,在性能满足前提的条件下,生成若干个业务系统,这些业务系统彼此单独运行,互不影响,其业务数据可按租户需求部分逻辑隔离或完全逻辑隔离。
一种支持SaaS应用生成与部署的装置,该装置包括:
SaaS应用描述生成装置,该装置以可视化的方式令独立软件开发商生成与实现架构无关的SaaS应用描述;
SaaS应用部署装置;该装置实现对SaaS应用描述文件的自动部署、为描述文件添加底层实现使其变为支持多租户、支持个性化定制的SaaS应用,部署即为ISV提供一个隔离的空间进行应用测试又通过模式映射实现应用的部署,支持应用自动实现多租户特性和个性化定制特性;
其中,
SaaS应用描述生成装置还包括:
可视化编辑模块,将SaaS应用各层次描述文件的各个节点进行可视化,将一个个的节点变成用户方便操作的图形,在可视化编辑模块每种不同的描述文件都有自己的一个图形托盘,托盘里是对应的图形化节点,当可视化编辑模块接收到要编辑某一描述文件时,它会读取/解析描述文件对应的节点信息,初始化图形托盘和每个节点的右键属性,当独立软件开发商编辑时将节点图形拖到操作区即建立一个新的节点,节点的位置等信息会记录下来用于生成描述文件时保存位置,开发商建立新节点后还可以通过点击右键来修改节点的属性,至此可视化编辑模块将对应用描述文件的直接编辑转化成了图形化操作,开发商只需拖拖拽拽即可实现。
自动化生成模块,自动化生成模块是可视化编辑模块的一个逆向过程,自动化生成模块负责将开发商在编辑区域的图形转化成符合标准的描述文件,其中会将各个节点的属性、位置、属性值等按照上述的格式保存下来,形成一个应用的描述文件。
规范验证模块,规范验证模块负责对自动化生成模块生成的描述文件的格式进行验证,这里采用schema语言对描述文件的逻辑结构进行验证,自动化生成模块生成的描述文件必须符合对应的schema约束,如果生成的描述文件不符合规范则开发商必须退回可视化编辑单元311重新对不符合的节点进行编辑,直到生成的描述文件符合规范。
SaaS应用部署装置还包括:
ISV门户模块,ISV门户模块是为独立软件开发商提供服务的窗口,独立软件开发商通过该装置下载资源、部署应用、升级应用;
ISV监管模块,它为运营机构提供服务的窗口,运营机构通过该装置进行应用管理、SLA管理等,SLA管理基于SLA的监控调整架构,然后构建基于SLA的动态调整策略实现;
试用模块,为潜在用户提供服务的窗口,该模块允许潜在用户试用业务系统和提交租户开户申请,试用业务模块为潜在用户包括租户和ISV提供开户注册和试用功能支持,试用满意后,租户开户成为正式用户,独立软件开发商通过注册成为正式开发用户;
租户模块,是平台为租户提供服务的窗口,租户通过该门户进行信息管理、应用租赁管理、业务系统管理。
所述ISV门户模块包括:
交付验证子模块,进行ISV信息管理和ISV注销管理;
交付部署子模块,进行生成插件管理和测试插件管理,支持ISV通过SaaS部署装置下载插件到本地进行应用生成和测试;
部署测试子模块,进行应用部署和应用升级,支持ISV将利用插件在本地生成的应用部署到SaaS部署装置中,并进行必要的升级管理等工作。
所述ISV监管模块包括:
注册管理子模块,负责ISV的注册管理工作,ISV首先从该模块填写注册信息,监管商会通过注册管理子模块对ISV的注册信息进行审批,当审批通过后ISV就会获得自己的门户。
租赁管理子模块,监管商可通过该子模块对SaaS应用的租赁情况进行查询和管理。
计量管理子模块,在该子模块中监管商可进行计费策略管理、计量管理、缴费管理,监管商通过子系统可以进行计费策略的设定,计费策略包括计费方式(业务量、时间)、单位费率、计算规则等;还可使用该子模块统计每个租户的业务量,计量可以定期批量进行,也可按照业务需要及时进行。缴费管理主要根据计费策略和计量结果进行计费(可以实时进行,也可以定期按计划执行),然后支持租户以多种方式(现金、邮局汇兑、支票转账、电子支付等)进行支付。
SLA管理子模块,运营机构可以对SLA协议的指标进行定义,包含租赁方式、计量方式、付费方式,可以管理同租户签订的SLA具体协议,对协议中规定的指标进行监测(QOS指标:服务的可靠性、响应时间、安全性等),然后对数据进行统计分析,检查协议是否满足,并给出分析报告。
所述试用模块包括:
租户试用子模块,租户成为SaaS应用生成与部署装置的正式用户之前,可以先在租户试用子模块中试用SaaS应用生成与部署装置提供的各种功能,包括SaaS应用的租赁、定制功能及业务系统的试用等,以从不同角度来体验SaaS应用生成与部署装置是否满足其需求。
租户开户子模块,租户试用满意后,即可在租户开户子模块中提交开户申请,租户开户子模块将租户的开户申请提交后,由监管机构完成租户的开户审批。租户开户申请成功后,即可生成其对应的租户门户。
所述租户模块包括:
定制引擎模块,在该模块中首先对SaaS应用的按需定制的服务需求进行特征分析,详细列出各个层次能够进行的定制活动,并以此为切入点,梳理出各个层次内部及不同层次定制活动之间的依赖关系,搭建数据层、服务层、业务流程层、UI层的定制结构模型,形成立体式依赖关系网络,。同时,为确保租户定制的合理性,需要建立涉及UI层、流程层、服务层、数据层的规则层,支持开发商、租户基于定制约束通过规则定制及规则验证规范个性化定制。
定制验证子模块,定制验证子模块基于业务平台的定制约束,对租户的按需定制结果进行验证,确保租户的定制结果没有违背业务平台的定制约束,确保租户定制的正确性和合理性。
定制隔离子模块,定制隔离子模块主要负责防止不同租户之间的定制执行和定制结果之间的相互干扰,对于租户来说,该SaaS应用就像是为该租户独享的一样。
本发明的有益效果是:
1、本发明使独立软件开发商具有很强的开发独立性,使其可在传统环境下开发SaaS应用,由支撑单元对应用多租户化、可定制化,SaaS应用部署到装置上以后就可成为支持多租户、支持个性化定制的业务系统;
2、独立软件开发商不需要解决繁琐的SaaS特性底层实现细节(如多租户共享与隔离、数据高可信保护、个性化定制等),可以将主要精力集中在核心业务逻辑上,从而加快了应用的开发进度,减少了开发成本;
3、租户管理员可按照行业需求对装置发布的所有应用进行租赁,并可将租赁的多个应用进行组合、分层定制使其成为适合自己行业需要的业务系统,这些由租户定制的业务系统可随需而变,更加符合租户的业务需求。
说明书附图
图1为SaaS应用生成与部署的方法总体流程图;
图2为SaaS应用生成的流程图;
图3为SaaS应用部署的流程图;
图4为SaaS应用生成与部署装置的结构框图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的说明:
参考图1,是本发明一种SaaS应用生成与部署的方法的流程图,包括以下步骤:
步骤101、独立软件开发商(ISV)可通过租户试用子模块40231浏览和试用SaaS应用生成与部署装置提供的功能,试用满意后,独立软件开发商可以通过租户开户子模块40232注册成为正式SaaS应用生成与部署装置的生成用户;
步骤102、独立软件开发商通过ISV门户模块4021下载生成及测试工具集并将工具集集成到其本地生成环境中,将本地生成环境变为SaaS应用描述生成装置401;
步骤103、独立软件开发商利用SaaS应用描述生成装置401进行应用生成,并将应用的描述上传到SaaS应用部署装置402中;
步骤104、SaaS应用部署装置402将独立软件开发商生成的应用添加底层实现,将其部署成可支持多租户及个性化定制的SaaS应用;
步骤105、租户通过租户试用子模块40231对发布的SaaS应用进行试用,试用满意后,租户可通过租户模块4024对业务系统进行租赁、定制。
SaaS应用描述主要包括页面、业务流程、工作流、服务、数据、应用等描述。页面描述主要由三部分组成:页面控件模型、页面数据模型、页面资源引用定义;页面控件模型负责描述页面上有哪些控件、控件的布局以及页面的显示风格;页面数据模型负责描述与当前页面相关的数据的结构,这些数据包括页面上显示的数据以及服务消息内容;页面资源定义负责定义页面上引用的资源;服务描述只是对已发布好的服务或POJO等服务实现进行描述,包括基本服务部分和复合服务部分,基本服务部分描述了应用中所有基本服务的名称、地址、接口类名称、实现类名称和其中的所有操作,复合服务部分描述了复合服务名称、复合服务发布文件包的路径、复合服务调用到的基本服务的WSDL地址、复合服务中的活动节点类型包括基元活动、结构活动和复合服务中可使用的服务、预定义变量、合作伙伴链接;应用级描述分别描述了功能点、角色和应用参数,其中功能点部分描述了应用的功能页面或功能页面的集合;角色部分描述了应用预定义的角色信息,包括了角色名称和角色具有的功能点列表(与功能点描述对应);应用参数部分描述了以参数形式进行配置来影响业务逻辑的相关数据,包括应用中所有的参数名、参数的描述、参数类型、参数默认值和参数取值范围。
参考图2,是本发明SaaS应用生成的流程图,包括以下步骤:
步骤201、独立软件开发商对应用业务需求进行分析;
步骤202、独立软件开发商选择要描述的应用的层次,开发商可选择页面、业务流程、工作流、服务、数据等进行描述;
步骤203、SaaS应用描述生成装置按照开发商的选择进行初始化,对应生成应用的可视化生成环境;
步骤204、独立软件开发商按照业务需求进行可视化编辑,开发商只需要在可视化生成环境中拖拖拽拽即可;
步骤205、SaaS应用描述生成装置按照开发商的可视化编辑结果自动生成应用描述;
步骤206、SaaS应用描述生成装置利用应用描述约束文件对生成的应用描述进行规范验证;
步骤207、SaaS应用描述生成装置自动生成与实现架构无关的SaaS应用描述并将应用描述按照规范自动打包;
步骤208、独立软件开发商将应用的描述上传到SaaS应用部署装置。
参考图3,是本发明SaaS应用部署的流程图,应用部署通过模式映射实现应用的部署,支持应用自动实现多租户特性和个性化定制特性。其中,UI映射、流程映射、服务映射、数据映射分别将应用对应层次具有多租户特性,定制映射支持应用具有按需定制特性,能够满足不同租户的个性化需求,SaaS应用部署、部署包括以下步骤:
步骤301、应用包内文件位置检查和格式检查,如果包内文件位置或者包内文件格式有错误则会为监管部门给出错误提示;
步骤302、对应用的各级描述文件进行解析,这里的描述文件包括有功能描述文件、角色描述文件、参数描述文件、服务描述文件、规则描述文件、业务流程描述文件、数据描述文件、工作流接口描述文件;
步骤303、由监管部门对应用的数据存储模式进行选择,在这里数据存储模式包括共享数据库独立模式、共享数据库共享模式和稀疏表模式;
步骤304、由监管部门对应用的页面翻译模式进行选择,在这里页面翻译模式可选择jsp、html或者Flex;
步骤305、生成应用的各级元数据并调用元数据服务将元数据存入元数据表中,将步骤302中各种描述文件解析后的数据存入实体类中,生成SaaS应用的各级元数据;
步骤306、添加应用的登录模块、添加所需的页面编译文件、修改主页为登陆模块,将SaaS应用部署装置上的统一的登录模块拷贝到SaaS应用的元数据中,添加所需的页面编译文件,这些编译文件可将页面描述文件编译成可访问的页面,将应用的主页改成前面添加的登录模块;
步骤307、将应用中的服务信息进行注册,这里的服务注册包括两个部分,包括往XFire服务引擎上面部署和往ESB上面的注册,往XFire服务引擎上部署时需要将ISV上传的JAR包进行拷贝和修改XFire引擎的配置文件,往ESB上面注册,包括将服务的接口描述、端点地址等信息注册到ESB上,由ESB进行统一管理;
步骤308、将页面按照上面选择的模式进行翻译;
步骤309、应用部署成功。
参考图4,是本发明SaaS应用生成与部署装置的结构图,包括SaaS应用描述生成装置401和SaaS应用部署装置402。
SaaS应用描述生成装置401由可视化编辑模块4011、自动化生成模块4012、规范验证模块4013组成,ISV借助SaaS应用描述生成装置401可以很方便的按照技术规范来进行应用的生成,SaaS应用描述生成装置401自动实现了装置要求的生成规范,支持应用的快速生成,技术规范中规定了一些有关可使用组件、禁止使用组件和使用方式的约定,软件开发商在生成时需要按照技术规范生成应用。软件开发商只需要按照生成普通应用的方式来生成,只需关注于应用本身的业务不必考虑到底层的一些实现细节。基于SaaS应用描述生成装置,开发商可以快速构建应用的框架,包括UI展示层、业务流程层、服务层、数据持久层,其中UI展示层的构建基于RIA技术中的控件库,业务流程的构建基于BPEL规范,服务层基于Web Service标准,数据层基于SQL规范。
SaaS应用部署装置402包括ISV门户模块4021、ISV监管模块4022、试用模块4023和租户模块4024。
ISV门户模块4021包括交付验证子模块40211、交付部署子模块40212和部署测试子模块40213。其中交付验证子模块40211负责对ISV上传的应用的文件位置、应用描述文件的格式进行验证,确保应用描述文件符合装置的规定和应用包的完整性;交付部署子模块40212负责将应用部署到平台上,为其添加多租户特性和个性化定制特性,为其添加运行所需的登录模块和filter,将应用里的web服务重新部署到SaaS部署装置中,应用部署通过模式映射实现应用的部署,支持应用自动实现多租户特性和个性化定制特性,其中,UI映射、流程映射、服务映射、数据映射分别将应用对应层次具有多租户特性,定制映射支持应用具有按需定制特性,能够满足不同租户的个性化需求;部署测试子模块40213负责对上面部署好的应用进行测试,有装置监管部门负责对应用进行测试,看其是否能够正常运行。
ISV监管模块4022主要包括注册管理子模块40221、租赁管理子模块40222、计量管理子模块40223、SLA管理子模块40224。
注册管理子模块40221,负责ISV的注册管理工作,ISV首先从该模块填写注册信息,监管商会通过注册管理子模块对ISV的注册信息进行审批,当审批通过后ISV就会获得自己的门户。
租赁管理子模块40222,监管商可通过该子模块对SaaS应用的租赁情况进行查询和管理。
计量管理子模块40223,在该子模块中监管商可进行计费策略管理、计量管理、缴费管理,监管商通过子系统可以进行计费策略的设定,计费策略包括计费方式(业务量、时间)、单位费率、计算规则等;还可使用该子模块统计每个租户的业务量,计量可以定期批量进行,也可按照业务需要及时进行。缴费管理主要根据计费策略和计量结果进行计费(可以实时进行,也可以定期按计划执行),然后支持租户以多种方式(现金、邮局汇兑、支票转账、电子支付等)进行支付。
SLA管理子模块40224,运营机构可以对SLA协议的指标进行定义,包含租赁方式、计量方式、付费方式,可以管理同租户签订的SLA具体协议,对协议中规定的指标进行监测(QOS指标:服务的可靠性、响应时间、安全性等),然后对数据进行统计分析,检查协议是否满足,并给出分析报告。
试用模块4023分为租户试用子模块40231和租户开户子模块40232,租户试用子模块40231主要为潜在用户,包括租户和ISV提供开户注册和试用功能支持。注册功能包括租户开户和ISV注册,租户试用模块40231则分别为租户和ISV提供试用支持,租户可以进行租赁、个性化定制等方面的试用,ISV可以浏览中间件系统提供的功能。试用满意后,租户可以通过租户开户子模块40232开户成为正式用户,ISV可以通过注册正式中间件系统的开发用户。
租户模块4024包括定制引擎40241、定制验证子模块40242、定制隔离子模块40243。
定制引擎40241主要负责SaaS应用UI、流程、服务、数据等各个层次的个性化定制,以满足不同租户的需求,其中对于UI,支持租户对UI层主题、背景颜色、图片、LOGO等进行定制,提供良好的定制交互界面,支持拖拽操作,实现租户对UI层实体的所见即所得定制,灵活调整UI布局;对于业务流程,提供两种方式的定制。第一种是提供流程模板库,支持租户从流程模板库中选择合适的模板,基于个性化需求进行进一步的定制,包括流程模板中节点的可用、服务的选择等;第二种是基于已有的服务库,选择合适的服务,基于某种组合规则及规范,通过服务组合的方式实现流程的个性化定义,以满足租户个性化需求;对于服务,基于业务平台生成的公共业务服务库及各行业生成的专属服务库,设计服务选择算法,按照租户需求及SLA标准等,将服务进行排序,提供最可靠、最优质的服务满足租户的服务定制需求;对于数据,利用基于元数据驱动的架构,构建数据对象元数据表、数据字段元数据表等各种元数据表,支持租户实现数据模型定制的灵活性。对租户提供数据对象的增加、删除、编辑,数据字段的增加、删除、编辑等定制功能,满足租户在数据层次的个性化需求。同时,构建OR映射机制,实现UI、流程、服务等层次数据对象同数据层后台物理存储的自动转换;
定制验证子模块40242基于业务平台的定制约束,对租户的按需定制结果进行验证,确保租户的定制结果没有违背业务平台的定制约束,确保租户定制的正确性和合理性;
定制隔离子模块40243主要负责防止不同租户之间的定制执行和定制结果之间的相互干扰,对于租户来说,该SaaS应用就像是为该租户独享的一样。
以上对本发明所提供的一种支持SaaS应用生成与部署的方法和装置,进行了详细的介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,根据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (6)

1.一种支持SaaS应用生成与部署的方法,其特征在于,包括以下步骤:
A.独立软件开发商经过注册获得SaaS应用生成与部署装置的开发授权,成为正式开发用户;
B.独立软件开发商通过ISV门户单元下载生成及测试工具集并将工具集集成到其本地生成环境中,使得本地生成环境成为快速生成SaaS应用的SaaS应用描述生成装置;所述步骤B中独立软件开发商在生成应用时是在传统开发环境下生成,对于应用的开发环境没有限制,SaaS应用生成与部署装置以插件形式提供集成到本地生成环境、便于开发商进行应用生成的生成及测试工具集,开发商在生成应用时遵守制定的生成规范;所述步骤B中利用生成工具集里面的聚合模板开发工具,开发商针对某个行业而生成一种应用的默认组织形态,聚合模板包括应用功能点组成以及功能点的上下级关系、应用中的角色以及角色具有对功能点操作的权限、针对某种业务需求定制后的页面、应用的专用工作流组成、应用的业务流程组成、针对该业务需求的应用数据存储结构、针对该业务需求的参数的默认值、针对该业务需求的默认规则;如一个应用需要满足多租户需求,则开发商在提交一个应用的时候提交多个聚合模板;
C.独立软件开发商利用SaaS应用描述生成装置进行应用生成,并将应用的描述上传到SaaS应用部署装置中;
步骤C中独立软件开发商在生成应用包括以下步骤:
C1.独立软件开发商对应用业务需求进行分析;
C2.独立软件开发商选择要描述的应用的层次,开发商选择页面、业务流程、工作流、服务、数据进行描述;
C3.SaaS应用描述生成装置按照开发商的选择进行初始化,对应生成应用的可视化生成环境;
C4.独立软件开发商按照业务需求进行可视化编辑,开发商在可视化生成环境中拖拖拽拽即可;
C5.SaaS应用描述生成装置按照开发商的可视化编辑结果自动生成应用描述;
C6.SaaS应用描述生成装置利用应用描述约束文件对生成的应用描述进行规范验证;
C7.SaaS应用描述生成装置自动生成与实现架构无关的SaaS应用描述并将应用描述按照规范自动打包;
C8.ISV将应用的描述上传到SaaS应用部署装置;
D.SaaS应用部署装置将ISV生成的应用添加底层实现,将其部署成支持多租户及个性化定制的SaaS应用;
所述步骤D中,SaaS应用部署装置部署应用的步骤包括:
D1.应用包内文件位置检查和格式检查;
D2.对应用的各级描述文件进行解析;
D3.由监管部门对应用的数据存储模式进行选择;
D4.由监管部门对应用的页面翻译模式进行选择;
D5.生成应用的各级元数据并调用元数据服务将元数据存入元数据表中;
D6.添加应用的登录模块、添加所需的页面编译文件、修改主页为登陆模块;
D7.将应用中的服务信息进行注册;
D8.将页面按照上面选择的模式进行翻译;
D9.应用部署成功;
E.租户对发布的SaaS应用进行试用、租赁、定制。
2.如权利要求1所述的支持SaaS应用生成与部署的方法,其特征在于,所述步骤E中,租户生成的业务系统是基于租赁的应用或租赁应用的组合而来的,租户对租赁的应用进行数据定制、服务定制、业务流程定制、工作流定制、规则定制和页面定制个性化定制,租户每租赁一次应用,在性能满足前提的条件下,生成若干个业务系统,这些业务系统彼此单独运行,互不影响,其业务数据按租户需求部分逻辑隔离或完全逻辑隔离。
3.一种支持SaaS应用生成与部署的装置,其特征在于,该装置包括:
SaaS应用描述生成装置,该装置以可视化的方式令独立软件开发商生成与实现架构无关的SaaS应用描述;
SaaS应用部署装置;该装置实现对SaaS应用描述文件的自动部署、为描述文件添加底层实现使其变为支持多租户、支持个性化定制的SaaS应用,部署既为ISV提供一个隔离的空间进行应用测试又通过模式映射实现应用的部署,支持应用自动实现多租户特性和个性化定制特性;
其中,
SaaS应用描述生成装置还包括:
可视化编辑模块,将SaaS应用各层次描述文件的各个节点进行可视化,将各个节点变成用户操作的图形,在可视化编辑模块中每种不同的描述文件都有自己的一个图形托盘,托盘里是对应的图形化节点,当可视化编辑模块接收到要编辑某一描述文件时,它会读取/解析描述文件对应的节点信息,初始化图形托盘和每个节点的右键属性,当独立软件开发商编辑时将节点图形拖到操作区即建立一个新的节点,节点的位置信息会记录下来用于生成描述文件时保存位置,开发商建立新节点后还能够通过点击右键来修改节点的属性,至此可视化编辑模块将对应用描述文件的直接编辑转化成了图形化操作,开发商只需拖拖拽拽即可实现;
自动化生成模块,自动化生成模块是可视化编辑模块的一个逆向过程,自动化生成模块负责将开发商在编辑区域的图形转化成符合标准的描述文件,其中会将各个节点的属性、位置、属性值按照开发商在生成应用时遵守制定的生成规范保存下来,形成一个应用的描述文件;
规范验证模块,规范验证模块负责对自动化生成模块生成的描述文件的格式进行验证,这里采用schema语言对描述文件的逻辑结构进行验证,自动化生成模块生成的描述文件必须符合对应的schema约束,如果生成的描述文件不符合规范则开发商必须退回可视化编辑单元重新对不符合的节点进行编辑,直到生成的描述文件符合规范;
SaaS应用部署装置还包括:
ISV门户模块,ISV门户模块是为独立软件开发商提供服务的窗口,独立软件开发商通过该装置下载资源、部署应用、升级应用;
ISV监管模块,它为运营机构提供服务的窗口,运营机构通过该装置进行应用管理、SLA管理,SLA管理基于SLA的监控调整架构,然后构建基于SLA的动态调整策略实现;
试用模块,为潜在用户提供服务的窗口,该模块允许潜在用户试用业务系统和提交租户开户申请,试用业务模块为潜在用户包括租户和ISV提供开户注册和试用功能支持,试用满意后,租户开户成为正式用户,独立软件开发商通过注册成为正式开发用户;
租户模块,是平台为租户提供服务的窗口,租户通过该门户进行信息管理、应用租赁管理、业务系统管理。
4.如权利要求3所述的支持SaaS应用生成与部署的装置,其特征在于,所述ISV门户模块包括:
交付验证子模块,进行ISV信息管理和ISV注销管理;
交付部署子模块,进行生成插件管理和测试插件管理,支持ISV通过SaaS部署装置下载插件到本地进行应用生成和测试;
部署测试子模块,进行应用部署和应用升级,支持ISV将利用插件在本地生成的应用部署到SaaS部署装置中,并进行必要的升级管理工作。
5.如权利要求3所述的支持SaaS应用生成与部署的装置,其特征在于,所述ISV监管模块包括:
注册管理子模块,负责ISV的注册管理工作,ISV首先从该模块填写注册信息,监管商会通过注册管理子模块对ISV的注册信息进行审批,当审批通过后ISV就会获得自己的门户;
租赁管理子模块,监管商通过该子模块对SaaS应用的租赁情况进行查询和管理;
计量管理子模块,在该子模块中监管商进行计费策略管理、计量管理、缴费管理,监管商通过子系统进行计费策略的设定,计费策略包括计费方式、单位费率、计算规则;该子模块统计每个租户的业务量,计量定期批量进行,或按照业务需要及时进行;缴费管理则根据计费策略和计量结果进行计费,然后支持租户以多种方式进行支付;
SLA管理子模块,运营机构对SLA协议的指标进行定义,包含租赁方式、计量方式、付费方式,管理同租户签订的SLA具体协议,对协议中规定的指标进行监测,然后对数据进行统计分析,检查协议是否满足,并给出分析报告。
6.如权利要求3所述的支持SaaS应用生成与部署的装置,其特征在于,所述试用模块包括:
租户试用子模块,租户成为SaaS应用生成与部署装置的正式用户之前,先在租户试用子模块中试用SaaS应用生成与部署装置提供的各种功能;
租户开户子模块,租户试用满意后,在租户开户子模块中提交开户申请,租户开户子模块将租户的开户申请提交后,由监管机构完成租户的开户审批,租户开户申请成功后,即生成其对应的租户门户;
所述租户模块包括:
定制引擎模块,在该模块中首先对SaaS应用的按需定制的服务需求进行特征分析,详细列出各个层次能够进行的定制活动,并以此为切入点,梳理出各个层次内部及不同层次定制活动之间的依赖关系,搭建数据层、服务层、业务流程层、UI层的定制结构模型,形成立体式依赖关系网络;同时,为确保租户定制的合理性,需要建立涉及UI层、流程层、服务层、数据层的规则层,支持开发商、租户基于定制约束通过规则定制及规则验证规范个性化定制;
定制验证子模块,对租户的按需定制结果进行验证,确保租户的定制结果没有违背业务平台的定制约束,确保租户定制的正确性和合理性;
定制隔离子模块,定制隔离子模块主要负责防止不同租户之间的定制执行和定制结果之间的相互干扰,对于租户来说,该SaaS应用就像是为该租户独享的一样。
CN201110059503.2A 2011-03-14 2011-03-14 一种支持SaaS应用生成与部署的方法和装置 Active CN102135883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110059503.2A CN102135883B (zh) 2011-03-14 2011-03-14 一种支持SaaS应用生成与部署的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110059503.2A CN102135883B (zh) 2011-03-14 2011-03-14 一种支持SaaS应用生成与部署的方法和装置

Publications (2)

Publication Number Publication Date
CN102135883A CN102135883A (zh) 2011-07-27
CN102135883B true CN102135883B (zh) 2014-05-14

Family

ID=44295677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110059503.2A Active CN102135883B (zh) 2011-03-14 2011-03-14 一种支持SaaS应用生成与部署的方法和装置

Country Status (1)

Country Link
CN (1) CN102135883B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
US20130159484A1 (en) * 2011-12-15 2013-06-20 Sap Ag Publishing mobile applications
CN102609271B (zh) * 2012-02-20 2014-09-10 山东大学 一种元数据驱动的SaaS应用的可视化定制方法及系统
CN102651775B (zh) * 2012-03-05 2015-08-12 国家超级计算深圳中心(深圳云计算中心) 基于云计算的多租户共享对象管理的方法、设备及系统
CN102937901B (zh) * 2012-10-17 2015-07-29 武汉钢铁(集团)公司 多租户架构设计方法
CN103077024B (zh) * 2012-12-28 2015-10-21 山大地纬软件股份有限公司 一种支持SaaS应用流程按需定制与运行的装置及方法
CN104123660A (zh) * 2013-04-27 2014-10-29 丰达软件(苏州)有限公司 一种自助定制软件的方法
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
JP2015001817A (ja) * 2013-06-14 2015-01-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN103440150A (zh) * 2013-08-30 2013-12-11 西安电子科技大学 一种从远程组件仓库按需下载的软件现场组装方法
CN103955384A (zh) * 2014-04-15 2014-07-30 南威软件股份有限公司 一种基于多租户模式的支持个性化定制的方法
CN104598382B (zh) * 2015-01-30 2018-03-27 北京京东尚科信息技术有限公司 一种测试控制方法和装置
CN104598249B (zh) * 2015-02-05 2017-09-01 浙江天正信息科技有限公司 多租户感知的软件个性化定制与部署方法
CN106886531A (zh) * 2015-12-16 2017-06-23 天脉聚源(北京)科技有限公司 一种区分入口变量参数配置方法及系统
CN106886432A (zh) * 2015-12-16 2017-06-23 天脉聚源(北京)科技有限公司 一种变量参数条件触发方法及系统
CN105430102B (zh) * 2015-12-28 2018-11-06 东软集团股份有限公司 SaaS网站与第三方系统的集成方法、系统及其装置
US9823919B2 (en) * 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
CN106095479A (zh) * 2016-05-31 2016-11-09 北京中亦安图科技股份有限公司 一种企业应用发布方法、装置及系统
CN106550045A (zh) * 2016-11-24 2017-03-29 北京中电普华信息技术有限公司 一种分布式数据处理方法及组件
CN108462596B (zh) * 2017-02-21 2021-02-23 华为技术有限公司 Sla分解方法、设备以及系统
CN108632074B (zh) * 2017-08-24 2020-10-02 新华三信息安全技术有限公司 一种业务配置文件下发方法和装置
CN107948134B (zh) * 2017-10-30 2020-07-28 广州易行信息技术有限公司 数据交互方法和装置
CN109165051A (zh) * 2018-08-01 2019-01-08 无锡同太科技有限公司 一种Linux通用软件快速SaaS化的应用系统及方法
CN108989453A (zh) * 2018-08-08 2018-12-11 国云科技股份有限公司 一种基于SaaS的APP自助创建管理云平台系统及其实现方法
CN109803057B (zh) * 2018-12-19 2020-10-30 北京仁科互动网络技术有限公司 CTI适配器、SaaS应用系统及方法
CN111208979B (zh) * 2019-12-31 2023-05-23 深圳易伙科技有限责任公司 一种基于平台框架的装配式开发方法及系统
CN111414350B (zh) * 2020-03-18 2023-05-12 腾讯科技(深圳)有限公司 一种服务生成方法及装置
CN111817887B (zh) * 2020-06-29 2023-06-23 深圳宝星行科技有限公司 一种数据私有的SaaS系统及其工作方法
CN111813582B (zh) * 2020-07-28 2023-12-29 东北大学 Ice服务部署编排方法
CN113746690B (zh) * 2020-08-12 2023-01-31 西安京迅递供应链科技有限公司 监控流量数据的方法、装置及计算机可读存储介质
CN112783485A (zh) * 2021-01-13 2021-05-11 厦门熵基科技有限公司 一种基于可视化规则策略配置业务规则定制方法及装置
CN113377784B (zh) * 2021-08-13 2021-12-03 成都市维思凡科技有限公司 一种基于中间件的数据处理方法、系统和存储介质
US11924036B1 (en) 2023-04-10 2024-03-05 Cisco Technology, Inc. Automatic SAAS optimization
CN117055905A (zh) * 2023-10-12 2023-11-14 北京谷器数据科技有限公司 一种SaaS平台快速本地化部署的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539855A (zh) * 2008-12-25 2009-09-23 厦门亿力吉奥信息科技有限公司 一种业务基础软件平台
CN101588366A (zh) * 2009-06-25 2009-11-25 用友软件股份有限公司 基于SaaS接入企业信息系统的系统和方法
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539855A (zh) * 2008-12-25 2009-09-23 厦门亿力吉奥信息科技有限公司 一种业务基础软件平台
CN101588366A (zh) * 2009-06-25 2009-11-25 用友软件股份有限公司 基于SaaS接入企业信息系统的系统和方法
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和系统

Also Published As

Publication number Publication date
CN102135883A (zh) 2011-07-27

Similar Documents

Publication Publication Date Title
CN102135883B (zh) 一种支持SaaS应用生成与部署的方法和装置
US9043458B2 (en) Framework for facilitating implementation of multi-tenant SaaS architecture
US9824390B2 (en) Cloud service brokerage service store
Sun et al. Software as a service: An integration perspective
US8504989B2 (en) Service definition document for providing blended services utilizing multiple service endpoints
US8683434B2 (en) Generic method and system for lifecycle management
US8448216B2 (en) Method and apparatus for orchestrating policies in service model of service-oriented architecture system
US20100262558A1 (en) Incorporating Development Tools In System For Deploying Computer Based Process On Shared Infrastructure
CN114625353A (zh) 模型框架代码生成系统及方法
US20140250306A1 (en) Decision service manager
EP2492806A1 (en) Unified interface for meta model checking, modifying, and reporting
Capilla et al. An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle
Hamdaqa et al. Stratus ML: A layered cloud modeling framework
Baghdadi et al. A guidance process to modernize legacy applications for SOA
Chauhan et al. A reference architecture for provisioning of tools as a service: meta-model, ontologies and design elements
Autili et al. CHOReVOLUTION: automating the realization of highly–collaborative distributed applications
Lindquist et al. IBM service management architecture
CA2679786A1 (en) Conceptual representation of business processes for cross-domain mapping
US9164734B2 (en) Ontology-based user requirement decomposition for component selection for service provision
US20220413843A1 (en) Combining model-driven applications and canvas-type applications with application lifecycle management
Park et al. An Approach for Reconstructing Applications to Develop Container‐Based Microservices
Glässner et al. Experiences from the Implementation of a Structured-Entity-Relationship Modeling Method in a Student Project.
Makki et al. Scalable and manageable customization of workflows in multi-tenant saas offerings
Srinivasmurthy et al. Web2exchange: A model-based service transformation and integration environment
Emadi et al. An improved methodology for service oriented architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Li Qingzhong

Inventor after: Wang Xinjun

Inventor after: Zhang Shidong

Inventor after: Kong Lanju

Inventor before: Li Qingzhong

Inventor before: Wang Xinjun

Inventor before: Zhang Shidong

Inventor before: Sun Lanju

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LI QINGZHONG WANG XINJUN ZHANG SHIDONG SUN LANJU TO: LI QINGZHONG WANG XINJUN ZHANG SHIDONG KONG LANJU

CB03 Change of inventor or designer information

Inventor after: Kong Lanju

Inventor after: Li Qingzhong

Inventor after: Wang Xinjun

Inventor after: Zhang Shidong

Inventor before: Li Qingzhong

Inventor before: Wang Xinjun

Inventor before: Zhang Shidong

Inventor before: Kong Lanju

CB03 Change of inventor or designer information
COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: YE JINFENG YAN ZHICHENG WU DAQIANG WU DAQIANG TO: WU DAQIANG YE JINFENG YAN ZHICHENG WU DAQIANG

C14 Grant of patent or utility model
GR01 Patent grant