探索中国CIO人才现状 | 第四季调研报告
.NET环境中基于SaaS模式的企业信息管理平台
2014-03-04  作者:e--works 

  随着计算机软件技术和网络技术的不断应用和提高,国内各大专业软件商提供的ERP、CRM等管理软件在管理企业口常的采购、生产、销售已经得到了较好的应用。但这类软件较多地关注于经济实力较强的大企业,对于中小企业来说使用这类软件实现信息化管理门槛过高,尤其是经过了08年这一场百年不遇的金融危机,对于中小企业来说,如何低成本地快速构建企业信息化系统,提升企业内部的工作效率和管理能力,在激烈的市场竞争中赢得先机是一个值得思考的问题。


  SaaS,Software-as-a-Service,软件即服务,这是目前IT业的流行词汇,它指的是一种随着互联网技术发展和应用软件的成熟而兴起的完全创新的托管式应用服务模式。对于SaaS来说,从最初概念的热,到市场的观望,到现今重被市场推崇,业内人士对它褒贬不一。尽管如此,它独特的创新的托管式应用服务在给中小企业提供低成本、高质量企业信息化可能的同时也给软件企业带来了发展的空间。


  本文力求通过研究SaaS模式下企业信息化管理软件的特点,重点针对有进出口业务、外贸型的电子类中小企业,在.NET环境中构建出一个SaaS模式下的企业信息化管理平台的,给出系统的功能设计及对关键性问题的研究。


  1SaaS模式及其对中小企业信息化的意义


  一般来说,对于一个公司的IT预算主要在三大部分:软件、硬件、专业服务,软件是IT公司最直接的目标,而硬件和专业服务被视为软件实现的手段。在以往的软件应用服务模式下,硬件和专业服务占据了整个IT预算中的很大一部分,而真正用于软件的预算只占少数。


  SaaS模式以软件租用、在线使用方式提供软件服务,改变了人们构建、销售、购买以及使用软件的方式。对于用户来说,在Saas模式下,他们不再需要购买软件、购置昂贵的硬件设备,也不再需要因为软件维护而要花费大量的资金来聘请专业维护人员,他们只需根据自己的企业要求,向软件服务商定购所需的应用软件服务,按定购服务的多少和时间长短来支付租用费用。换句话说,用户只需为他们看得见的服务内容买单,而把软件的开发、硬件设施的架构、运作后期的维护这一系列风险投资全由服务商来承担。这种模式对于中小型企业的信息化来说,低建设成本、低维护成本、低投入风险。同时,SaaS模式是基于Internet来提供服务,很多的服务、应用交流可以通过已有的网络交流软件来实现,在现今这样一个信息化时代中,无疑是给中小企业降低了企业信息化的接入门槛。


  2SaaS模式下企业信息化管理软件的特点


  传统的企业信息化管理软件从实现和使用来说是独占式,具有很强的针对性。而SaaS企业管理软件分成平台型SaaS和傻瓜式SaaS。平台型Saas是把传统企业管理软件的强大功能通过SaaS模式交付给客户,有强大的自定制功能。傻瓜式SaaS则提供固定功能和模块,简单易懂但不能灵活定制的在线应用。对于平台型SaaS来说,进行企业信息化管理则要考虑软件要面对多个用户,要适应于不同用户的不同需求,因此:


  2.1不同的用户需要不同的页面元素支持


  SaaS模式下,用户的类型很复杂.有各企业单位的不同权限的用户。单位与单位之间用户的不同,对企业信息化管理关心的内容也就不同;同一单位内不同权限的用户对本单位信息化管理关心的内容也不同。


  2.2不同的用户要提供不同的处理逻辑支持


  企业信息化管理一般要包含企业内部的基本管理(如部门信息管理、员丁信息管理、仓库信息管理、产品信息管理等)、采购管理、销售管理、库存管理、财务管理等,尤其是对采购管理、销售管理、库存管理、财务管理,不同的单位对这几个管理的流程、着重点均不同,因而处理也就不同,有的着重于运算、有的着重于信息的传输,即使同为运算,也有的复杂有的简单。


  2.3不同的用户要提供不同的数据结构支持


  根据前两个特点应该可以看出,不同的企业用户在进行信息化时由于产品的差异性,在采购、销售等方面也肯定存在差异性,要针对不同的企业用户所需进行的不用业务处理提供不同的数据结构。


  3平台框架的建立


  1)基本数据管理主要包括公司信息管理、角色权限管理、仓位信息管理、计量单位管理、客户信息管理、供应商信息管理、产品信息管理、价格政策管理等。


  2)采购管理包括了采购信息发布、询价比价管理、采购订单管理。


  3)销售管理包括了订单管理、发货、退货、应收应付、支付配送管理。其中,支付配送要与主课题中其他模块及其他平台进行通信。


  4)库存管理包括了发货、收货、查询、盘点等管理。


  5)财务管理包括了外购订单发票、销售订单发票、预付款、预收款、利润分析管理。


  6)系统管理包括了日志管理、数据库备分、数据库恢复、系统帮助等。


  基于SaaS模式下需给不同用户不同页面支持、不同用户提供不同逻辑支持、不同用户提供不同数据结构支持的特点,在开发SaaS模式下的软件时,对于不同模块的设计需要将模块处理的内部数据、数据的表示以及输入输出控制部分进行分层设计,这迎合了MVC设计模式。MVC设计模式是Model(模型)-View(视图)-Controller(控制器)的简称,这一设计模式要求将一个应用的输入、处理、输出流程进行分离。将一个应用分成三个层:模型层、视图层、控制层,各层次模块的划分清晰,责任明确,开发出来的程序具有很好的扩展性、重用性。本文在选择ASP.NET作为软件开发的环境,ASP.NET本身提供了一个实现MVC模式的环境。在ASP.NET中,以页面为中心,每一个视图(.aspx文件)都有一个对应的控制器(页面隐藏代码.aspx.cs文件),页面控制器捕获视图中发生的事件和提交的数据,并调用模型来处理它们。


  4研究内容


  4.1多用户的管理


  在需求上,每个企业用户都期望拥有一个独立的数据库系统,企业与企业间的数据互相没有任何影响。同时,平台需要能方便的为新的企业用户添加独立的数据库系统。另外,根据支持硬件的需要,不同企业的数据库期望能架设在一台或多台数据库服务器上,满足系统的可扩展性。


  技术实现上主要是在用户登录到企业信息化模块时,根据用户输入的公司ID字段去访问数据库中的对应表格,判断该公司是否存在,若存在的话,则获取该公司的“公司负责人”、“公司名称”、“公司的数据库地址连接字符串”等信息并把信息经过加密处理。然后根据获取的“公司的数据库地址连接字符串”动态连接到该公司的数据库,并从该公司的数据库中判断该用户是否存在以及输入的密码是否正确,若正确则登录成功,否则,登录失败。


  4.2客户端数据的安全性


  SaaS模式下客户端数据的安全性是一个重要的考虑点,在本平台中安全性通过Cookie数据加密的实现.系统对Cookie中的数据进行了加密处理。当数据需要保存到Cookie中时。首先在后台把数据进行加密处理,然后把密文保存到Cookie中,当后台要访问Cookie中的数据时,首先获取Cookie对象,然后再进行解密操作来获取原始的数据。


  4.3动态权限管理


  本平台基于SaaS模式,需要满足不同用户对本企业内部员工的权限的个性化定制。从而实现不同用户显示不同页面元素,进行不同权限的操作。在这一方面的实现上,本平台需要综合利用数据库技术、TreeView组件以及递归调用的程序设计方法,实现对用户权限的动态管理。流程如图2。


  4.4数据库备份与恢复


  SaaS模式下的企业信息化管理而向的是不同企业用户,对数据的安全性要求很高,除了数据传输中的保密性为,及时有效的数据备份是必须考虑的问题。


  在本平台中,为了提高数据库系统的安全性,系统需要提供数据库的异地备份和恢复的功能,同时为保证异地备份的数据库中信息的保密性以及提高在上传或下载备份数据的效率,考虑采用数据压缩和数据加密技术。


  基本的备份流程和恢复流程如图3所示。


  6结束语


  一个成功的SaaS模式的运作并不仅仅在于软件的设计与实现,还需要足够的硬件支持和专业维护,例如,SaaS模式下用户的数据存储在服务提供者的硬件上,若需要对数据进行备份与恢复,实现这一操作的时间长短,不仅与软件有关,也与具体的硬件提供有关,所以,软件的运行还要与具体的硬件环境去进行结合。本文从软件开发的角度对SaaS模式下的企业信息化管理平台进行了分析,虽然对一些关键性的问题作出了研究,但还需在交付前针对硬件作出更细致的分析与研究。