论文部分内容阅读
软件即服务(Software as a Service)的出现将软件商业模式从商品供需模式转换为服务供需模式,这符合行业发展的潮流,必将成为软件行业未来发展的方向。多租户是SAAS的核心技术,它本质上是一种软件架构技术,允许所有的租户和应用共享同一个基础架构和代码平台。 本文以多租户技术为切入点,分析在以信息内容展示为主的这类网站的开发过程中实现多租户SAAS网站系统开发的可行性,结合多租户的第四级成熟度模型以及软件体系架的分层风格,设计多租户SAAS网站的体系架构,在此基础上进行了系统的开发实现,并对其进行了性能的测试,该系统使租户快速完成网站的构建。在系统的开发实现过程中为了满足界面可配置性、可伸缩性、自定义字段扩展、分布式缓存,分别给出如下的解决方案: 1、针对本系统网站的网页在颜色、布局等方面会有很大的共同点,本文提取有代表性的网页,定义该网页的网页框架,形成网页模板,在网页模板中通过CSS样式机制实现网页显示的多样化和个性化,通过将FreeMarker标签嵌套进模板文件来动态控制网页信息内容的显示。 2、针对可伸缩性,从应用服务器的水平扩展和数据库服务器的水平扩展两方面来解决,对于应用服务器的水平扩展,采用Apache http Server的负载集群结合Tomcat来实现,对于数据库服务器的水平扩展,由于系统是提供给大量用户作为信息浏览的平台而真正进行数据录入和修改的只有租户本身,依据此情况本文采用读写分离方式实现数据库服务器的水平扩展。 3、深入分析自定义字段扩展,结合元数据提出数据集、数据列、数据值这三种元数据,使用它们来描述自定义字段扩展,其中数据集描述数据库中的表,包括表的名称、表的实际显示名称等,数据列描述了表中列的信息,包括列的名称、含义、数据类型等,数据值存放表中列的具体值。 4、使用Memcached作为分布式缓存软件,它突破了单台服务器的内存限制,为系统应用提供更多的物理内存来缓存数据。 由于所进行的多租户SAAS网站的开发实现具有一定的广泛性,因而能够为其他类似的多租户SAAS系统的实现提供一定的参考借鉴价值。