为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于 SaaS 模式的 SOA 服务分析与设计

2011-11-20 8页 pdf 289KB 30阅读

用户头像

is_460290

暂无简介

举报
基于 SaaS 模式的 SOA 服务分析与设计 1 1 基于 SaaS 模式的 SOA 服务分析与设计 金珊 1 吴国芳 2 (1.宁波大红鹰学院,浙江 宁波 315175 2.绍兴拓普信息职业技术学院,浙江 绍兴 312000) [摘 要] 随着信息化水平的提高和网络技术的快速发展,SaaS 已经成为被广泛推荐使用的 软件服务提供方式,SaaS 应用服务被越来越多的用户所采用。本文主要介绍基于 SOA 的 SaaS 系统在中小企业信息化应用中的相关技术分析,并以宁波大红鹰 OA 系统的设计为依 据。 [关键词] 软件即服务; 企业管理软件; 信息化...
基于 SaaS 模式的 SOA 服务分析与设计
1 1 基于 SaaS 模式的 SOA 服务分析与 金珊 1 吴国芳 2 (1.宁波大红鹰学院,浙江 宁波 315175 2.绍兴拓普信息职业技术学院,浙江 绍兴 312000) [摘 要] 随着信息化水平的提高和网络技术的快速发展,SaaS 已经成为被广泛推荐使用的 软件服务提供方式,SaaS 应用服务被越来越多的用户所采用。本文主要介绍基于 SOA 的 SaaS 系统在中小企业信息化应用中的相关技术分析,并以宁波大红鹰 OA 系统的设计为依 据。 [关键词] 软件即服务; 企业管理软件; 信息化; 系统体系架构 0 前言 我国企业在经过了 20 多年的信息化建设,财务、ERP(企业资源)、 CRM(客户关系管理)、HR(人力资源管理)等企业管理软件已被广泛的应用。随着 企业信息化向着更深层次的应用发展,在 B2B(Bussiness to Bussiness)电子商务和 ERP 系统在更深层次的应用中出现了一些问,企业之间的物流、资金流、信息 流不能实现协同运行,出现了严重的“信息孤岛”现象,一些企业不得不通过手 工的方式实现系统间的数据同步,造成资源的极大浪费。 目前,软件技术发展迅速并日益成熟,SaaS(Software as a Service,软件即服 务)[1],WEB2.0[2],SOA(Service Oriented Architecture,面向服务的架构)[3]成为软 件解决方案的成熟架构和支撑技术,为应用系统的服务化,以及服务化之后的多 个服务之间的集成提供了坚实的技术基础。企业业务的增长,对 IT 系统的依赖 程度也大大提高,并且 IT 系统支持的业务范围逐渐扩大。在企业对 IT 系统扩建 和升级时,如何在最大化效率的同时,最小化投入显得尤为重要。因此,利用新 技术,改造并重用原有的 IT 系统,保留原有系统的优势,消除原有系统间的“信 息孤岛”成为企业的迫切需求。 1 国内外研究现状 1.1 SOA 国内外研究现状与发展动态 在国外,SOA 不是一个新潮的名词[4],早在 1996 年,Gartner Group 就提出 了 SOA 的概念,但是由于当时的技术没能支持这种架构,迟迟没有得到有效的 发展。随着网络技术的不断发展,IT 从业人员也在不断地积累经验,应用一些 2 2 好的模式和方法,SOA 与 Web Services 成了这两年大行其道的技术词汇。 在国内,SOA 还是个新鲜事物,近两年来已经有很多人开始关注这个架构, 也出现了一些杂志上推荐使用该架构的文章。但存在太多炒作的成分,有很多文 章都只说明了其优点,而没有实质性可参考的技术文献。在实践方面,还没有哪 家企业真正实现过 SOA 架构的应用系统,只有个别模拟了该架构的小程序,例 如 XML China 论坛。由此可见,国内在 SOA 方面还处于一个起步阶段。 SOA 作为一个新兴的技术,存在很多不确定性,但是这种不确定性不会阻 碍 SOA 的发展。SOA 虽然不是包治百病的灵丹妙药,但是它在解决 Internet 环 境下的不同商业应用之间的集成问题,使分布式应用具有更好的弹性和灵活性方 面给企业带来了巨大的好处。因此,可以预见 SOA 的发展会对软件设计思想产 生很大的影响并对分布式企业应用的不断普及起到重大的促进作用。 1.2 SaaS 国内外研究现状 1988 年,ASP 模式最早在美国诞生[5]。ASP 是一种业务租赁模式,得到了 企业的追捧,但随着互联网泡沫的破裂,技术不成熟,如远程集成问题一直没有 得到很好的解决,SaaS 就随之演变而来了。它是一种通过 Internet 提供软件的模 式,用户不再购买软件,而改用向提供商租用基于 WEB 的软件,来管理企业经 营活动,且无需对软件进行维护,服务提供商会全权管理和维护。 而在国内,SaaS 模式的运做也正展露身姿,2006 年下半年,800CRM.COM、 中华网软件、金算盘软件等公司推出了支持 SaaS 的信息化解决方案。2006 年 2 月 28 日在北京举办的“2006 电子商务财富年会”上,IEEE 服务计算委员会主席张 良杰在会议上提出了未来电子商务的十大趋势,其中之一就是 SaaS 模式下的系 统。 1.3 国内外企业信息化现状 国外企业信息化进程比较早[6],60 年代中期,MRP(物料需求计划)的概念被 提出,发展到 MRPII、ERP,2000 年美国 Gartner Group 公司提出了 ERPII 的概 念,将传统 ERP 的资源优化和业务处理扩展到利用企业间协作运营的资源信息 管理,实现了跨企业的合作,通过互联网交互信息。 我国企业信息化经历了三个阶段,第一个阶段是单一部门的财务信息化;第 二阶段是跨部门的进销存等软件;第三阶段是企业级的 ERP、CRM、HR 等系统。 3 3 如今,正在走向第四阶段,实现企业间和产业链的信息化,电子商务套件以企业 内部信息化为基础,渐渐成为掀起产业链级信息化第四次浪潮的中坚力量。 随着信息化应用向更深层次的发展,加强决策支持功能,运用 EAI、SOA 等技术,加强系统的集成性与开放性是当前的热点。 2 研究内容与关键技术 为了帮助企业解决这些问题,本文试图探索一种以客户为中心,面向自服务 的方法,研究.Net 平台下的 SaaS 系统开发需要的关键技术。 2.1 基于 SOA 的 SaaS 系统整体架构 针对基于 SOA 的 SaaS 系统体系架构进行分析与研究,尝试设计一个以支持 多用户高并发为核心的数据结构,同时建立一个允许基于 Internet 的浏览器为客 户端访问企业级管理应用的系统架构。该系统还将具备多层次的安全方案以保障 客户访问安全和系统数据安全,更具有灵活的扩展性和伸缩性来支持客户不断变 化的业务需求和系统的长远发展。图 1 是针对宁波大红鹰 OA 系统的整体架构的 设计。 图 1 宁波大红鹰 OA 系统的全局架构 2.2 数据访问模型中间件设计 一些必要的模型设计,可以实现 SaaS 系统模块之间松散耦合。本文中,结 合宁波大红鹰卷烟厂 OA 设计,为实现数据独立性,切换不同的服务时模型自适 应客户需求,快速访问数据库,提供了如图 2 所示的数据访问模型和图 3 所示的 客户端 …   IE  … IE 其他系统 应用程序 …… Web 示层 (Web 页面) Web 服务层 业 务 外 观 层 业 务 规 则 层 业务实体 系统框架 数 据 访 问 层 数据库 4 4 模型实现的主要类图。 图 2 基于 Web Services 的数据访问模型 SQLDbService StrConn BeginTrans() Open() Close() ExeSql() GetDataSet() GetDataTable() CommitTrans() ...() IDbServices TIDbServices Open() ExeSql() GetDataSet() ...() OLEDbService StrConn BeginTrans() Open() Close() ExeSql() GetDataSet() GetDataTable() CommitTrans() ...() GETDBS ServiceName StrConn GetDBService() ODBCDbService StrConn BeginTrans() Open() Close() ExeSql() GetDataSet() GetDataTable() CommitTrans() ...() 图 3 模型实现的主要类图 2.3 多用户高并发的数据模型 研究如何在数据共享和隔离策略间保持平衡的前提下,设计一个高效且成本 最优的 SaaS 系统的数据模型。同时为技术关键问题,例如如何构建一个弹性架 构以支持数目不定的客户、怎样消除大容量并发访问数据库对系统性能造成的压 力以及怎样允许用户按需扩展自定义数据等提出切实可行的解决方案。 在 SaaS 系统中,所使用的可伸缩可配置的这类系统架构可以通过负载均衡 来为众多的用户服务,每个用户的数据都可以单独存放,同时提供可供配置的元 Web 服 务接口 客户访 问接口 方法成员 选择服务 服务 说明 实现 SQL 数据服务 实现 OLEDB 数据服务 实现 ODBC 数据服务 5 5 数据为每个用户提供唯一的用户体验。 基于这种架构的 SaaS 系统,可以支持多用户,因为我们可以在不用修改系 统架构的基础上就可以随着需求的变化而变化,任何的变动可以很方便地作用于 大数量用户环境中,和修改一个客户端服务一样方便。 2.4 多层次数据安全性 在基于 SOA 架构的平台上运行的程序,几乎所有的信息都通过 SOAP 来传 递,因此,SOAP 的安全对整个系统有着非常重大的意义。以 SOAP 为基础,构 建一种基于 SOAP 消息的 Web 服务消息安全模型势在必行。基于这个原因,宁 波大红鹰 OA 系统构架设计了一种基于 SOAP 的 Web 服务消息安全模型,如图 5 所示。 SOAP 消息 SOAP 消息 SOAP 消息 图 4 支持多用户高并发的系统架构 用户 B 负 载 均 衡 实例 A 实例 B 用户 A SOAP 消 息 安 全 代 理 包 SOAP 消 息 安 全 代 理 包 提供者 Web 服务安全平台 UDDI 注册中心 请求者 6 6 图 5 基于 SOAP 的 Web 服务安全模型 这个平台定义了两个模块:第一,UDDI 注册中心,主要对服务提供者和请 求者进行管理并颁发证,以提供认证和权限;第二,Web 服务安全平台,主要 针对双方的身份认证过程和授权控制过程,服务双方都要获得安全平台颁发的证 书才能保证双方身份的正确性。其中,SOAP 消息安全代理包中包含了签名处理 和加密处理。 (一)SOAP 消息签名 请求者应对 SOAP 消息做一次签名,连同签名一起发送,当提供者接收到了 消息后,一边验证身份,一边对其签名进行认证,以确定消息在传输过程中并未 被修改。我们可以如此实现: 1、客户端 SOAP 中添加签名,如下所示: mywebserv.RequestSoapContext.Security.Tokens.Add(untoken) mywebserv.RequestSoapContext.Security.Elements.Add(New_MesageSignature (untoken)) mywebserv.WebMethod 以上代码实现了客户端根据 UsernameToken 生成签名,然后把签名加在 SOAP 消息中。 2、服务端不动 我们只要在客户端发送的 SOAP 中加入过签名,服务端就会自动认证签名的 有效性,服务端先验证用户名/密码,然后使用客户端传递用户名和密码对签名 进行认证,如果失败了,就说明该消息中途被篡改了,该请求就不成立了。 (二)SOAP 加密 客户端根据 UsernameToken 对 SOAP 进行加密,把密文加在 SOAP 消息中。 服务端则自动对该消息进行解密。 服务端验证用户名和密码,然后使用客户端传递的用户名和密码对解密数据 进行验证。服务端通过 WSE 自动从 windows 活动目录中取得密码,或者通过 AuthenticateToken 方法取得密码。同样,如果验证失败,则响应错误信息。实现 方法如下: mywebserv.RequestSoapContext.Security.Tokens.Add(untoken) mywebserv.RequestSoapContext.Security.Elements.Add(New_Microsoft.Web.S 7 7 ervices2.Security.EncryptedData(untoken)) mywebserv.WebMethod 以上实现方法均在 WSE2.0 中实现。 3 结论 基于 SOA 的 SaaS 系统的实现对于中国的中小企业具有特殊的意义,因为目 前国外的主流企业套件对于中小企业的商业定位往往从欧美实际出发,标准过 高。而中国的中小企业虽然在营业收入和利润等硬指标上往往还达不到这些标 准,但由于业务复杂度高和 IT 软硬件基础的薄弱,企业管理软件的实施难度绝 不逊色于欧美大企业。从这一角度出发,为国内的中小企业提供真正按需定制的 基于 SaaS 模式的企业管理软件,也许可以成为一个可以在短时间内提升国内中 小企业管理水平的捷径。 参考文献: [1]Abhijit Dubey and Dilip Wagle, “Delivering software as a service”, The McKinsey Quarterly, Web exclusive, May 2007 [2]Stephen B Morris. “ 使 用 Web2.0 体 系 结 构 实 现 更 灵 活 的 企 业 ”[EB/OL]. http://www.ibm.com/developerworks/cn/architecture/ar-web20/ [3]Martin C Brown. “ 基 于 SOA 构 建 网 格 应 用 程 序 ”[EB/OL]. http://www.ibm.com/developerworks/cn/grid/gr-soa/ [4]金珊. 基于 SOA 的企业信息平台研究与应用[D]. 上海: 复旦大学, 2007:1-84. [5]吴慧. SaaS 模式下的餐饮管理系统的分析与设计[D].太原理工大学,2008:1-71. [6]马立林,李红. 基于 SaaS 的中小企业信息化模式探讨[J].中国管理信息化,2009(1):78-81. [7] 周进登 ,白振兴 ,武杰 ,李寰宇 .基于扩展 UML 活动图的过程建模 [J],计算机应 用,2009(3):708-711. [8] 季一木,陆莉莉,王汝传.基于 SOA 的校园资源规划 CRP 模型研究[J],计算机应用研 究,2009(5),1810-1827. [9]Gerard Blokdijk. SaaS 100 Success Secrets-How companies successfully buy, manage, host and deliver software as a service[M]. USA: Emereo Pty Ltd, 2008:135-136. [10]许四平. SaaS 软件即服务模型研究[J]. 电子科学, 2009, 9. [11]焦玉昌. SaaS 应用中的服务集成方法研究[D].山东:山东大学,2008:1-49. 8 8 [12]刘古权,冯玉强,韩雪. SaaS 提升供应链竞争优势[J].企业信息化,2009(2):102-104. [13]刘春玲. 基于 SaaS 模式的电子商务与 ERP 集成研究[D].重庆:重庆大学,2007:1-58. [14]陈连平. 面向自服务的企业应用供应方法的探索和研究[D].西北工业大学,2007:1-62. [15]陈波. 基于 SaaS 的软件服务链研究[D]. 武汉理工大学, 2008:1-48. << /ASCII85EncodePages false /AllowTransparency false /AutoPositionEPSFiles true /AutoRotatePages /All /Binding /Left /CalGrayProfile (Dot Gain 20%) /CalRGBProfile (sRGB IEC61966-2.1) /CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2) /sRGBProfile (sRGB IEC61966-2.1) /CannotEmbedFontPolicy /Warning /CompatibilityLevel 1.4 /CompressObjects /Tags /CompressPages true /ConvertImagesToIndexed true /PassThroughJPEGImages true /CreateJDFFile false /CreateJobTicket false /DefaultRenderingIntent /Default /DetectBlends true /DetectCurves 0.0000 /ColorConversionStrategy /LeaveColorUnchanged /DoThumbnails false /EmbedAllFonts true /EmbedOpenType false /ParseICCProfilesInComments true /EmbedJobOptions true /DSCReportingLevel 0 /EmitDSCWarnings false /EndPage -1 /ImageMemory 1048576 /LockDistillerParams false /MaxSubsetPct 100 /Optimize true /OPM 1 /ParseDSCComments true /ParseDSCCommentsForDocInfo true /PreserveCopyPage true /PreserveDICMYKValues true /PreserveEPSInfo true /PreserveFlatness true /PreserveHalftoneInfo false /PreserveOPIComments false /PreserveOverprintSettings true /StartPage 1 /SubsetFonts true /TransferFunctionInfo /Apply /UCRandBGInfo /Preserve /UsePrologue false /ColorSettingsFile () /AlwaysEmbed [ true ] /NeverEmbed [ true ] /AntiAliasColorImages false /CropColorImages true /ColorImageMinResolution 300 /ColorImageMinResolutionPolicy /OK /DownsampleColorImages true /ColorImageDownsampleType /Bicubic /ColorImageResolution 300 /ColorImageDepth -1 /ColorImageMinDownsampleDepth 1 /ColorImageDownsampleThreshold 1.50000 /EncodeColorImages true /ColorImageFilter /DCTEncode /AutoFilterColorImages true /ColorImageAutoFilterStrategy /JPEG /ColorACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /ColorImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000ColorACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000ColorImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /GrayImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000GrayACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000GrayImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict << /K -1 >> /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False /Description << /CHS /CHT /DAN /DEU /ESP /FRA /ITA /JPN /KOR /NLD (Gebruik deze instellingen om Adobe PDF-documenten te maken voor kwaliteitsafdrukken op desktopprinters en proofers. De gemaakte PDF-documenten kunnen worden geopend met Acrobat en Adobe Reader 5.0 en hoger.) /NOR /PTB /SUO /SVE
/
本文档为【基于 SaaS 模式的 SOA 服务分析与设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索