应用开源软件
西安交通大学本着统一规划、分步实施、平台先行、应用一体、面向服务的建设思路,提出了建设数字化校园的总体方案。其中“统一认证与授权平台”提供了用户集中管理,集中授权和联邦式多认证系统的解决方案;“统一数据交换平台”通过DB和Web Service等多种方式解决了异构系统的数据集成问题;“集中式信息门户平台”(原为统一信息门户平台)解决了面向个人用户的统一信息访问入口问题,为新建系统提供应用集成和跨部门业务整合(BPR)提供了良好的个人用户访问平台。我们采用了开源软件来构建数字校园平台。
我校相关的开源软件详细介绍如下:
1.目录服务和授权系统数据库采用OpenLDAP
OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)开源软件的实现,由www.openldap.org 项目组开发和维护,在其OpenLDAP许可证下发行,目前提供Windows和Linux版本。它主要包括下述4个部分:slapd是独立的LDAP守护进程,slurpd是单独的LDAP更新复制守护进程,LDAP协议的库,相关工具软件和示例客户端等。
我校的数字校园的用户信息来自不同的应用系统,通过建立“用户中心系统”将分散的用户资源整合成权威、可信的用户资源信息库。在全校范围内达到集中的用户管理,避免用户信息的过于分散和不一致。因此,设计具有百万用户规模的用户数据库,并提供给约30余个应用系统提供认证服务等,需要的技术指标如下:
建设基于目录的用户个人信息查询:基于登录时获得的用户的个人身份。性能要求:对60万用户,一般响应时间<1s,高峰期响应时间<3s;
在目录中建立用户身份库:要考虑未来的可扩展性和数据来源的同步机制。用户数量支持>150万;
建立用户身份库与认证系统的接口:要求具备开放性;
建设支持多种协议的认证网关:要能够适合交大的实际使用情况,支持3000个以上 Radius客户认证请求,并同时支持上万个同时认证请求。
基于以上的要求,OpenLDAP无法满足我们的要求,需要在这之上做很多的设计才能达到我们的要求,下面主要是我们的一些做法和思路:
OpenLDAP不支持事务处理:平台的软件开发商的架构是在系统设计上,巧妙地采用了LDAP和RDB联动的解决思路,在LDAP上实现快速查询和认证服务(30余项个人信息均在LDAP上),同时关系数据库中保留了一份副本,关系数据库和LDAP的一致性由持久层的应用保证。
OpenLDAP性能扩展:我们优化了LDAP在应用中的总体架构,通过应用分流的方式,人为地把不同的应用认证和查询请求放置在主LDAP、从LDAP或者分区LDAP上。目前数字校园的总体LDAP服务器有三个,承担不同应用的服务请求。当然,在最坏的情况下,只有一个LDAP服务器工作的时候,所有的应用压力全部压到一个LDAP服务器上。这种情况下,认证请求会得到满足,但是用户资料查询等请求会压到RDB上。
LDAP其他扩展:特别遵守了eduPerson类的扩展,并按照我校数据标准进行了Schema规划。
2.单点登录服务采用YelaCAS
Yale CAS 是耶鲁大学开发的单点登录(Single Sign On)系统,有如下几个优势:是一个比较成熟的SSO系统,部署起来比较简单;该开源社区一直比较活跃;一些商业产品也是基于CAS改进的,支持的客户端软件比较丰富;支持目前所有的主流开发平台,与uPortal结合的非常好。
3.门户服务采用JA-SIG uPortal
uPortal是由JA-SIG开发的是开放源码的门户平台,基于Java, XML, and XSL项目。目前的发行版包括WEB服务频道,权限,用户组管理等等。UPortal让你可以自己增加你需要的新特性。它着眼于高等教育机构,一些商业组织也用它来作为构建协同社区的框架。uPortal总体来说有如下几个优点:
uPortal完全支持JSR-168标准,这个标准使得目前流行的Java门户应用得到很好的支持;
在北美和世界上几百个大学得到广泛的应用,实践证明比较适合高校数字校园;
对于saki、model、Bb等教学管理软件的集成有现成的模块支持,并在很多大学应用良好。
当然,uPortal还具有如下的缺点:
在2.x版本的时候,对于用户的定制功能做的不是很好,如不支持拖拽;目前在3.0版本以后得到改善,但是相比商业portal服务器还是有一定的差距;
特别相比Windows的SPS服务器支持较差,可以参考的技术文档不是很丰富,除教学管理外的开发组件相比商业门户软件也不是很丰富;
uPortal本身的信息统计、访问统计等还没有设计,我们自行开发了相关的软件来获取用户使用情况统计。
4.数据交换ETL工具采用kettle
Kettle的意思是水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后以一种你希望的格式流出。该系统具有如下的优点:
可以媲美商业产品的ETL工具软件包;
支持可视化ETL设计,提供了基于Java的图形化界面,使用很方便;
支持Javascripts编程,可以进行复杂的数据转换定制。
该系统最大的缺点只是一个——ETL工具不能满足数据交换的全部需求,因此根据我们的数字校园建设需求,合作公司为我们开发了基于该系统的元数据管理系统以及数据交换监视系统。通过这两个系统的完善,使得数据交换的管理和监控以及数据标准的规范管理得以实现。
5. 应用服务器采用JBoss
JBoss是一个基于J2EE的应用服务器。因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。2006年,该项目被知名的美国Redhat公司收购,由于很多高校已经使用该系统作为主要的应用服务器,我们简单总结其特点如下:
JBoss支持应用集群功能,基于它的集群功能,使得我们节约了应用负载均衡设备;
JBoss效率很高,较小的内存和硬盘空间足够运行一个应用服务器,我们推荐在16GB以上内存的IA32架构的服务器上使用多个实例部署JBoss;
安装简单、支持热部署,和Web服务器在同一个JVM中运行,这样Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能;
JBoss是开源并且免费的;
很多项目都使用JBoss作为应用服务器,成熟度很高,技术支持文档很容易获取。
6.操作系统主要采用国产Linux
Linux作为服务器操作系统的优点我们无须多讲,我们在项目中使用国产某DC版本的Linux,主要基于以下几个因素考虑:
由于IA-32服务器使用的芯片组较新,在驱动支持上,国产的Linux可以提供更多的支持;
我校数字校园使用的存储系统是2004年1月采购的HP EVA5000设备,在多路径和设备的支持上,国产Linux能够提供较好的实施经验。这个在后期的系统总体集成上显示了优势;
国产Linux的功能、性能、稳定性、安全性等方面跟其他Linux基本一致。
使用感受
我校的数字校园支撑平台项目在2007年上线和验收后,目前已经运行了一年多时间,有近6万多用户,8个大的MIS系统和12个中等规模的业务系统均架构在该平台上。我们在该平台上独自开发了6个小规模的业务系统,3个跨部门的校级业务流程整合系统。在运行和开发上,认为采用开源软件建设数字校园优缺点如下。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。