基于SaaS模型的中小企业管理系统研究
CIO时代 发表于:12年02月02日 10:27 [转载] 比特网
在国内的中小企业管理软件市场中,如何应用企业管理软件来优化管理经营、不断提高生产效率,这一需求日益增长。其中面向SaaS模式的企业管理软件,由于它的高效性,正不断为许多企业,特别是中小企业所采用。SaaS系统着重于敏捷性和整合服务,同时强调对多用户的并发支持,所以在开发时,更多的会考虑系统的高并发性、高数据量的特点,而且也要求系统平台必须具有非常高的性能和伸缩性。由此可见,研发人员在设计和实现基于SaaS的管理软件时会面临着诸多挑战,如系统性能、系统安全、良好的伸缩性与扩展性等。本文主要从整体架构、数据模型、扩展性、伸缩性这几个方面分析目前SaaS平台管理系统的设计思路和主要特点。
1 整体架构
从整体系统架构设计的角度来看, 目前主流的SaaS平台主要采用以下三种结构:
1.1 独立用户架构
这种独立用户架构中,每个客户都拥有一个为其定制的应用实例,应用实例具有完全不同的底层代码。从系统架构而言,基于这种架构SaaS管理软件非常类似于传统的本地软件,它的基本特点是属于同一客户的不同终端用户使用客户端软件连接到同一个应用实例,与其它同时运行在服务器上的应用实例相比,该客户的应用实例在服务器上完全独立运行。因为这个原因,在花费少量开发资源和无需重新设计整个架构的前提下,传统的服务器/客户端的应用可以被改造成为这种架构的的SaaS系统。技术人员通过将已有的非SaaS系统重构为基于独立用户的SaaS系统,然后整合服务器资源,并降低管理成本,比起其它更为成熟的SaaS管理系统,这种方式可以在投入不大的情况下获得一定收益。所以目前不少企业管理软件开发商都常常使用这种架构来设计并实现自己的SaaS系统。但是,虽然在开发上投入较少,这种SaaS系统也具有不可避免的缺点,主要是在使用后期,随着所支持客户数的上升,系统硬件维护和平台运营费用会急剧升高。因此从长远角度来看,带来的收益有限。
1.2 独立但可配置的用户架构
在独立但可配置的用户架构中,尽管每个客户还是各自拥有一个单独的应用实例,但每个用户实例可以根据客户需求单独定制。独立但可配置的用户架构与独立用户架构相比,最大的不同点在于,独立但可配置的用户架构中,每个客户所使用的应用实例将基于完全相同底层的代码,但SaaS服务提供商可以提供详细的配置选项,不同的应用实例之间保持独立运行在服务器之上,并允许客户修改部分流程和应用的界面。独立但可配置的用户架构将所有客户的应用实例统一在同一代码库之下,它在很大程度上减少了服务提供商的服务需求。主要原因在于,此时对系统底层代码任何微小的改变都会马上影响到所有客户,虽然可以节省单独修改所付出的成本,但是比起独立用户架构,如果将一个传统的C/S系统重写为这一类基于独立但可配置的用户架构的SaaS管理软件系统,将需要花费更多的二次开发成本。最后,此类系统同独立用户架构相类似的一点是,它同样需要SaaS服务提供商提供足够的硬件资源来同时运行大量的并发应用实例,因此在后期运行中,需要非常高的运营成本和维护成本。因此不少企业管理开发商在开发基于SaaS管理软件系统时,已渐渐减少采用这种架构。