基于saas模式在线软件系统开发方案的研究

上传人:xzh****18 文档编号:34277075 上传时间:2018-02-22 格式:DOC 页数:9 大小:66.50KB
返回 下载 相关 举报
基于saas模式在线软件系统开发方案的研究_第1页
第1页 / 共9页
基于saas模式在线软件系统开发方案的研究_第2页
第2页 / 共9页
基于saas模式在线软件系统开发方案的研究_第3页
第3页 / 共9页
基于saas模式在线软件系统开发方案的研究_第4页
第4页 / 共9页
基于saas模式在线软件系统开发方案的研究_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于saas模式在线软件系统开发方案的研究》由会员分享,可在线阅读,更多相关《基于saas模式在线软件系统开发方案的研究(9页珍藏版)》请在金锄头文库上搜索。

1、基于 SaaS模式在线软件系统开发方案的研究客户关系管理(customer relationship management,CRM),是企业信息化中非常重要的应用,但在传统的软件开发模式下,无论是企业用户还是软件供应商,CRM 的应用都存在很多的问题。0 引 言 客户关系管理(customer relationship management,CRM),是企业信息化中非常重要的应用,但在传统的软件开发模式下,无论是企业用户还是软件供应商,CRM 的应用都存在很多的问题。高成本,高门槛和高风险使很多中小型企业对 CRM 望而却步,也使很多大型企业很难得到预期的收效。另一方面,CRM 软件供应商重复

2、性地为各个企业开发相似的系统,软件和硬件投资的同质化非常严重,很难有效降低开发成本和提高软件创新性,并且传统的软件推广模式也不利于供应商推广 CRM 系统。与 CRM 类似,如 ERP,GroupWare 等企业信息化应用也存在类似问题。在这样不利于企业信息化发展的局面下,软件即为模式 SaaS 模式应运而生,在目前现有的软件和硬件条件下,它能很好解决以上问题。国内外已有基于 SaaS 模式成功地通过互联网提供企业 IT 应用的例子,如 SalesForce、阿里软件等。1 软件即为服务 SaaS1.1 SaaS 的特点和优势软件即为服务 SaaS(software as a service)

3、,是一种新兴的软件模式,与传统模式相比,最明显的特点是在此模式下,软件以服务的形式开放在互联网上,用户无需购买软件和部署软件所需的相应的软硬件资源,只需浏览器就町以随时随地使用软件上所有服务功能。它的优势体现在:相对于企业用户而言,SaaS 让用户以低成本,低门槛和低风险的方式使用软件服务;相对于软件供应商而言,SaaS 可以借助于互联网的传播能力高效,快速地推广软件服务,并且可以避免重复工作,使软件供应商专注于提高服务质量,提高核心竞争力。1.2 软件开发在 SaaS 模式下需要解决的关键问题(1)面向服务,基于业务。传统的软件大多是基于 IT 技术来构建,从 IT 技术的角度去满足业务的需

4、求。但在 SaaS 模式下,供应商需要更为敏捷地推出服务满足用户的业务需求,这就要求在软件构架方面要以服务为粒度,以面向服务的方式构建软件。(2)高安全性。传统的 CRM 等企业应用都是限制在企业内部,而 SaaS 会把应用暴露在互联网上,因此所面临的安全威胁将远远高于传统模式,并且要让用户放心地把关键数据交给供应商管理,必须在安全方面给予足够地重视。数据管理的责权转变使得安全性在软件构架中优先级更高。(3)数据隔离。传统的 CRM 针对的是单个企业,程序和数据库设计都是限制在单个企业范围内,而 SaaS 模式系统要面向多个企业。这要求程序和数据库设计要建立在多用户模型之上,使企业之间相互独立

5、和隔离。2 SaaS 系统中关键问题的解决方案SaaS 模式下系统设计和开发成败的关键点在于面向服务的系统架构,安全架构和多企业数据隔离设计。下面以 SaaS 模式下 CRM 系统为例,提出针对以上关键问题的解决方案。2.1 面向服务架构SOA(service oriented architecture),即面向服务架构,是以服务为粒度,基于业务来构建软件系统。本文将以 SOA 为基础构建 S 矩 s 系统架构,其原因有以下几点:以业务为驱动,更敏捷地满足用户的业务需求。提高系统复用性,更快速,代价更低地推出新服务。更好把服务与用户自有系统相整合。有利于把本系统的服务与其他 s缸 s 供应商的

6、服务进行整合。2.1.1 SOA 实施模式实施一个 SOA 项目有 3 种模式:Top-down、Bottom-up 和 Meet in the middle。Top-down 筒而言之就是从业务模型入手,把业务过程分解成服务组件,然后再通过具体的实现技术来构建各个服务模块。Bottom-up 与此正好相反,是从已存在的技术模块入手,把技术细节包装成服务模块,然后把这些服务模块组装成业务过程。Meet in the middle 融合了前两种模式,分别从业务过程和 IT 技术入手,最后把业务过程和各个服务模块组装在一起。本系统的实施要求完全以业务为驱动,并且也不存在任何残留系统,所以用 Top

7、-down 模式来实施 SOA。2.1.2 SOA 实施流程概述Top-down 模式决定了整个实施过程要以从业务过程到具体实现技术为路线。具体可以分为 4 个阶段:业务建模,构建组装,部署实施和管理监控。如图 1 所示。图 1 SOA 实施周期(1)业务建模:收集和分析业务需求,建模、模拟和优化业务过程。(2)构建组装:根据业务模型,设计服务组件、组装可重用的服务组件形成业务过程。(3)部署实施:把组装好的业务过程部署到集成环境中,并使用部署环境的专有服务对各个业务过程进行管理和支持。(4)管理监控:分别从业务和 IT 的角度对部署好的系统以及相关资源进行管理和监控,并把监控所得的各项信息反

8、馈给业务模型层面,使其更好地优化业务模型,进行下一轮SOA 实施周期的迭代。2.1.3 SOA 实施的具体步骤本文将以 CRM 系统中的商机管理模块为例,阐述 SOA 实施的具体步骤。在具体的实施开发中需要相应的开发工具进行支持,在本系统开发中使用了 IBM 的 SOA 产品线,其中包括业务建模工具 WBM(webshpere bussiness、modeler)、集成开发工具 WID(webshpere integration developer)、程序开发工具 RAD(rational application developer)、部署环境 WAS(webshpere applicatio

9、n server)和、WPS(websphere process server)。但 SOA 是标准规范而不是具体的实现技术,所以本文的解决方案不依赖具体的 SOA 厂商,在其他 SOA 厂商提供的平台上也能按照相同的思想和类似的步骤进行实施。(1)业务建模阶段。此阶段主要由业务人员参与,通过 WBM 完成以下工作:分析有关商机管理的业务需求,如创建、修改、删除和查找商机信息,对商机进行结案总结等。在 WBM 里,创建 Process,用 task 表示以上所有业务需求。确定业务所涉及的角色,如销售人员、部门领导和公司领导,并确定他们之间的关系,如公司领导可以管理部门领导和销售人员,部门领导可

10、以管理本部门的销售人员,销售人员管理属于自己的商机信息。在 WBM 里,在 Resources 里分别创建角色销售人员、部门领导和公司领导,并在Organizations 里配置角色之间组织结构。确定业务实体,如商机和人员。在 WBM 里,分别创建表示商机和入员的 Bussiness Item。并配置其相关属性。业务建模。根据以上创建的各项业务资源,创建业务流程。模拟和分析。配置所构建的业务过程涉及到的成本和产出,并对其进行模拟试验,最后得到详细和科学的分析报告,供业务人员分析,帮助其对业务过程进行优化。导出业务模型,供以下实施阶段使用。(2)构建组装阶段。此阶段主要由架构师和软件开发人员参与

11、,通过、WID 和 RAD完成以下工作:构建总体流程和实现框架。通过上一阶段得到了业务模型,用 IT 的手段来实现具体的业务流程和规则。在 WID 里,导入上一阶段得到的业务模型,得到了符合业务需求的总体框架。设计服务组件。面向服务组件的架构 SCA(service component architecture)是一种全新的、跟语言无关的编程模型,它提供了一种统一的调用方式,从而使得客户可以把不同的组件类型,比如 POJO、EJB、流程组件和人工交互组件等,通过一种标准的接口来封装和调用。SCA 是让 SOA 得以实施的有效手段。在这一阶段,用 SCA 的规范来设计各个服务组件。在设计服务组件

12、的过程中,需要把握好服务接口的粒度,尽可能地使服务组件得以重用。如在商机管理的模块中,可以设计一个专门服务商机管理流程的服务组件,在服务组件里构建各项操作,如创建、修改、删除和查找商机信息等等。在具体的实施中,需要、WID 和 RAD 配合使用,在 WID 里定义服务接口和服务组件所处的上下文,在 RAD 里去实现服务组件的各个接口。整合业务流程和服务组件。业务流程和服务组件设计好之后,需要把各个部分整合起来。业务流程是一个完整的事务单元,它需要多个服务组件的支持,通过服务组件的接口把服务组件和流程整合在一起,如果流程所需要的服务接口和服务组件提供的接口不一致,可以通过接口映射的手段,把异构的

13、接口对接起来。(3)部署实施阶段和管理监控阶段。这两个阶段主要是把所构建的业务流程和服务组件部署到实际运行环境,并对其进行监控和管理,主要依托的是 SOA 部署和监控工具的支持,本系统用到部署环境 WAS 和 WPS,监控工具 WebSphere Business Monitor。因为涉及设计和开发的内容不多,所以在这里省略相关内容的阐述,这些内容可以通过相关产品文档得到。2.2 安全架构在 SaaS 模式下,安全设计是整个程序设计成败的关键,并且相比于传统的企业级开发,难度要大。因为如果安全上存在隐患,用户是不敢把如客户信息等关键数据放到 SaaS 供应商这儿来,并且这样一个对安全要求很高的

14、系统是开放在互联网上,面临的安全上的威胁比局域网内的要大很多。总结起来,威胁主要来自以下 3 个方面:(1)数据传输链路上的安全威胁。用户的浏览器通过互联网连接到远程服务器,数据上的交换极其容易被他人截获,甚至是在 SaaS 供应商内部, DMZ(demilitarized zone)与保护区域内的数据交换也存在被他人截获的隐患。(2)业务逻辑上用户认证与授权的安全威胁。SaaS 为多个的企业提供软件服务,因此存在不同企业间数据窃取的隐患,甚至在一个企业内部,也存在越权操作的安全隐患。(3)数据储存上的安全威胁。成百上千的企业把关键数据存放在 SaaS 供应商这儿,极有可能造成数据丢失和数据被

15、窃取的严重后果。针对以上的安全隐患,本系统在数据传输,认证与授权和数据储存 3 个层面做安全上的设计。总架构如图 2 所示。图 2 安全设计架构(1)数据传输安全设计。本系统采用 SSL(secure socket layer)保护数据传输上安全。具体设计方案是在服务端生成密钥库和数字证书,当客户端通过 HTTPS 协议向服务端发送请求时,服务端向客户端发送数字证书和公钥,客户端通过已安装的公共 CA 证书验证服务器的可信度。客户端通过服务端发来的公钥把自己的私钥加密传输给服务端,服务端用自己的私钥解密得到客户端的私钥,在建立连接以后的数据传输中用这个对称的私钥进行加密保护。这样设计的目的在于

16、在保证可信度和安全的前提下,尽量减轻安全因素对系统性能上的影响。在服务端内部,也是通过 SSL 来保护 DMZ 与非 DMZ 之间数据传输的安全性。(2)认证与授权安全设计。对系统资源和业务流程的安全保障主要是通过对用户认证与授权来完成。为了提高系统整合程度和用户认证效率,本系统采用 LDAP(lightweight directory access protocol)来统一管理用户认证信息。认证服务器是系统的前端拦截器,通过访问 LDAP 服务器,对客户端的访问进行认证,并把用户的认证信息和用户的实际请求向后方服务器传递。安全策略服务器会根据用户认证信息和对资源的请求向授权服务器提取相应的授权信息,对整个集群环境下 Web 层和应用服务层里的资源加以安全监管。(3)数据存储安全设计。企业用户的数据在本系统中主要存储在数据库中,数据存储安全设计主要体现在以下 3 个方面:数据库服务器与应用服务器相分离。通过加装防火墙等形式对数据库实施更进一步安全保障。数据库服务器实现集群。在保证高

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号