林 坚
云计算技术的飞速发展,给网站群[1]系统的设计和开发带来了新的思路和方法。网站群技术最初是从普通的网站开发技术发展而来,从最简单的“网站集合”,到统一设计、统一开发部署,再到统一开发、分布式部署,经历了分散式——集中式——分布式的发展过程。云计算以服务为核心的理念,要求网站群开发不仅仅是实现功能,更重要的是要提供服务,满足各类用户的需求。根据NIST(美国国家标准和技术研究院)对云计算3层架构模型(IaaS、PaaS、SaaS,又被简称为SPI模型)的定义[2],云计算系统提供5大关键功能[3]:按需自助服务、无处不在的网络访问、动态资源分配、快速弹性服务、可计量的服务。这就要求云计算平台下的网站群系统从硬件架构、开发平台、业务逻辑框架与功能模块等各方面重新设计,以实现云计算系统的高可用性、高可靠性和易扩展性。
目前高校实际应用中基于云计算架构网站系统并不多,大部份网站还是用单机环境下的技术进行建设和管理,随着学校规模的扩大,网站的数量不断增长,日常管理中出现了诸多问题[4][5]。
1)各类网站代码版本繁多,运行平台混乱。早期的部门网站通常由业务部门自行建设,网站代码的来源比较复杂,同一套代码可能存在多个版本,需要多个平台去支撑这些代码的运行。
2)占用大量服务器资源,安全隐患大、网站管理难度高。网站存在的大量代码类型和运行平台环境,需要占用大量的服务器资源。混乱的代码带来了巨大的安全隐患,网站易受攻击。
3)网站之间信息难以共享,形成“信息孤岛”。各网站之间的信息互相孤立,同样的信息可能在多个站点之间重复传递,信息共享极为不便,网站浏览者无法精确定位自己所需的信息。
通过对目前高校网站管理现状、存在问题的分析,我们可以进一步确定云计算平台下的网站群系统的需求,如图1所示。
图1 高校网站群系统需求分析
通过对图1的分析可以发现,用户希望网站群系统首先能够提供安全可靠的访问服务;希望能够提供灵活的网站定制服务,能够实现手机、PC、笔记本电脑、平板电脑等多种终端设备的访问;希望可以实现内容管理与系统管理分离,用户只需要进行内容维护,而不用操心系统的后台运行情况。这些需求说明高校用户对SaaS的需求是比较大的;用户更希望网站是作为一种服务供他们使用。其次用户希望各部门的网站信息实现共享,信息可以在站点之间快捷、准确的传递;这就要求网站群系统有统一的开发平台,采用统一的数据标准。另外IT管理部门希望可以提高服务器的使用率,节能减排;系统可以进行统一管理,具备良好的扩展性,提高系统的生命周期,降低系统投入的总成本。这些都需要从 PaaS和IaaS层面对网站群系统进行重新设计。
在需求分析的基础上,结合高校网站建设的特点,利用云计算IaaS、PaaS和SaaS的优势及关键技术,可以对高校云平台下的网站群系统进行进一步的设计。整个系统的逻辑架构如图2所示:
下面本文依据云计算SPI模型对整个系统的逻辑架构进行详细的分析。
SaaS层的设计需要解决如下几个问题:统一的Web服务获取、灵活的功能模块搭配、丰富的页面展示、严格的用户访问权限控制。
1)统一的Web服务。随着移动互联网技术的爆发,Web访问的方式并不局限于PC,智能手机、平板电脑等终端设备也占据了相当一部分的份额。网站群系统主要通过浏览器访问来提供服务,因此首先要解决的是各个平台浏览器访问的兼容性问题。可以采用Web标准化技术,利用XHTML+CSS来完成网站前端设计。采用标准化技术的好处是网站页面能够在不同的终端显示,网站的信息能被不同类型的访问者正确获取。
图2 网站群系统逻辑架构图
2)功能模块定制服务。网站群系统的面向群体主要是有建站需求的业务部门,每个部门都有自己的办事流程和业务特色,每个子网站都有自己独特的功能需求。另一方面,高校内部可以大致划分为行政管理部门、科研院所、后勤管理部门几大子类,每个子类之间的业务需求在很大程度上存在重叠。因此在进行功能模块设计的时候,需要对高校内部各部门的业务需求进行分析、合并相同的业务需求进行统一开发,对特定的需求进行定制开发,久而久之,系统就拥有了一个丰富的组件库,通过不同组件之间的搭配就能实现非常丰富的功能,满足不同部门的需求。这种开发方式大大提高了整个系统的生命周期,每次只要投入很小的成本即可进行开发,而不必对整个系统进行“伤筋动骨”的改造。这使得整个网站群系统具备了很好的弹性和扩展性。
3)页面定制服务。网站群系统最基本的功能是提供 Web访问服务,每个部门既需要不同的功能实现,也需要风格各异的网站页面呈现。因此可以根据不同的部门类型预先设计出不同的网站页面模板,同时将页面模板和组件模块搭配起来,打包成一个完整的建站服务提供给每个部门使用。这样就大大简化了业务部门的网站开发工作,他们要做的就是选择合适的模板包进行使用。当然,系统也应该提供页面定制的服务,定制后完成后的页面也即是一个新的模板包,可以完善到模板库中,这是一种良性循环的开发过程。
4)访问权限控制。良好的用户访问权限控制是云计算系统必须要实现的特性之一。网站群系统作为一种基本的Web服务,应该具备完善的权限控制功能。目前Web系统设计中比较成熟的访问控制技术是基于角色的访问控制技术[6](RBAC)。通过在用户和访问权限之间引入角色的概念,将用户和角色联系起来,通过对角色的授权来控制用户对系统资源的访问。另外,信息化建设程度较高的高校可以通过配合校内的单点登录系统(例如LDAP系统)来实现网站群系统内部的一站式登录。通过和这类系统的集成,可以将网站的访问权限细致到具体某一个人或者某个部门。
PaaS层主要涉及开发平台的选择。目前商用的中间件开发平台很多,主流的有微软公司的.NET框架、SUN公司的J2EE框架等等。从成本角度考虑,J2EE体系下的开源项目很多,JAVA语言的跨平台移植性更好,更适合拿来做高校云计算系统的开发平台。J2EE是一种利用JAVA2平台来简化应用软件开发、部署和管理相关的复杂问题的体系结构[7]。J2EE的核心就是 JAVA平台,其中所包含的各类组件、服务架构和技术层次,均有共同的标准和规格,提供了良好的兼容性和跨平台特性。
基于中间件平台之上的是网站群系统本身的统一管理平台。这个统一管理平台主要实现网站群系统的一些后台管理功能,例如站点管理子系统主要负责子站点的域名分配和空间划分;网站内容管理子系统主要负责网站群系统内容和栏目的添加、修改、删除;模板管理子系统负责模板的导入、编辑、备份;组件管理子系统主要负责组件的定制开发、修改和调用;日志和统计子系统记录了网站群系统的登录日志和访问日志,并对日志进行初步的分析,生成一系列图表来辅助网站管理员进行管理。另外性能监控子系统能够对网站群系统的性能、响应速度、可用性进行一系列的监控,安全访问子系统能够纪录恶意访问请求,对SQL注入、拒绝服务攻击(DOS攻击)等黑客行为进行记录,同时阻断相应的攻击行为。
网站群统一管理平台本身也是一个开放的PaaS开发平台。管理平台自身遵循J2EE的技术规范和标准,模板库、组件库的API接口也对外开放,可以很方便的对网站群自身的功能进行二次开发,丰富网站群系统的功能,这也是符合云计算弹性平台的要求的。
云计算SPI三层模型中,IaaS层的技术实现是最成熟的,通过虚拟化[8]技术实现了硬件资源的统一管理和调配,云计算系统特有的动态资源分配、按需自助服务、快速弹性服务等关键功能在IaaS架构中得到了很好的体现。网站群系统的IaaS层架构主要涉及分布式数据库设计和分布式Web服务器部署。
1)分布式数据库设计。网站群系统作为高校信息发布的主要平台,其发布的信息类型主要分为文本类数据和图片视频数据,相应的数据库类型有关系型数据库和文件数据库。关系型数据库最常见,典型的关系型数据库有 Oracle、MySQL、PostgreSQL、SQLServer等,这些数据库均有比较成熟的分布式解决方案,例如Oracle数据库通过RAC集群方式可以实现两个以上节点的分布式数据库的部署,图片视频数据可以通过NFS共享服务实现多台服务器的并发读写。
2)分布式Web服务器部署。利用负载均衡技术或者动态缓存技术,将外部访问请求均匀分摊到若干台Web服务器中,可以将多台Web服务器(节点)的性能整合起来,一个或几个节点失效并不会造成整个网站对外服务的瘫痪。通过虚拟化资源池的动态分配,当外部访问过于频繁时,可以自动将更多的计算资源加入到资源池中,大大提高了硬件资源的利用率和弹性。
随着云计算技术的不断发展,云计算的应用不断深入到IT行业的各个领域中。随着私有云、社区云概念的兴起,高校内部越来越多的系统也会基于云计算理念进行开发。本文仅仅从云计算SPI三层模型的角度对网站群系统的设计框架进行了初步的探讨,更详细的设计方法还需要进一步研究。同时云计算技术不单单改变了高校网站设计的思路,也在一定程度上改变了高校网站管理的模式和方法,云计算平台能否解决传统高校网站管理的顽疾,这也需要做更加深入的研究。
[1]山谷网络.网站群技术的发展历程、存在问题和解决方案[EB/OL].(2012-04-13)[2014-05-12]http://baike.baidu.com/view/1072376.htm.
[2]Peter,M.&Timothy,G.The NIST Definition of Cloud Computing[DB/OL].(2011-09-01)[2014-05-12]http://rszt.pmmk.pte.hu/uploads/8f/23/8f23a309550830fa62395163ecec6fd3/nist_SP800-145.pdf.
[3]周洪波.云计算技术、应用、标准和商业模式[M].北京:电子工业出版社,2011:140-142.
[4]郭建中,郭虎.关于如何建好政府网站群的思考[J].电子政务,2008(3):47-50.
[5]沈俊.高校网站群的建设和方案浅谈[J].价值工程,2010,29(5):200-201.
[6]刘小园.Web信息系统中基于RBAC访问控制机制[J].信息与电脑,2011(9):111-112.
[7]蔡明,陈永运.J2EE架构的研究与应用[J].计算机应用与软件,2004,21(1):42-43,128.
[8]黎玉桥.服务器虚拟化架构研究[D].广州:中山大学,2009.