业务系统网站的通行证实现方案
张立1,周宇2
(1. 上海证券信息有限公司 上海 200127;2. 南京林业大学信息学院 江苏 南京 210037)
摘要:很多网站在建设初期都是将采用不同技术的多个业务系统集成到一起,这样造成用户在访问一个网站时多次登录。该文章提出了一个多业务系统网站的通行证实现方案,分别在系统架构,数据库定义以及网站用户体验等方面提出可
行性建议,基于该方案实现了网站中多业务系统单点登录的通行证方案。
关键词:网站;通行证;单点登录
中图分类号:  TP 393.09文献标志码:    A
引言
中国互联网经过十多年发展,在网站发展的初期,为了吸引用户访问,各网站提供了采用不同开发商技术的论坛和博客等不同业务系统的用户服务。由于博客和论坛采用不同开发商技术,用户需要分别登录
博客和论坛系统,两个系统用户信息不统一,使用的信息也无法共享。这些问题影响了网站的整体运营质量和用户体验。对于快速发展的多业务系统网站,有必要快速建立一套高效稳定的通行证系统,即使用用户通行证一次登录可以使用所有的业务系统(单点登录)。目前国内多家门户网站已经直接采用了通行证技术,但是一些早期建设的网站为了不流失用户,需要基于不同的业务系统提出一个跨系统的通行证方案。以下以中国证券网的通行证系统建设为例进行论述。
1.软件系统架构
1.1.软件系统架构层次
软件系统架构分为三个层次,即应用层,平台层和数据层。
1)应用层包含现有的各网站业务系统,通行证管理系统,也可以包括未来开发的应用系统。
2)平台层是整个系统架构的核心,它包含与应用层中各系统的接口,用户的统一认证授权,包含相关业务逻辑的数据总线以及统一各数据源用户数据的数据交换引擎。
3)数据层包含各数据源的集合,一些数据源可以通过底层API直接访问,一些则需要另外开发符合规范的数据接口。
作者简介:张立(1969-),男,系统工程师,硕士,计算机应用方向,中国证券网技术总监。 Email: zhangliqun@cnstock 周宇(1972-),女,副教授,硕士,计算机应用方向,南京林业大学信息学院副院长 Email:janezhou@njfu.edu
1.2.应用层
应用层系统主要包括网站的各个业务子系统、消息网关、客户关系管理系统,以及将来的业务系统。
1.2.1.网站业务系统
包含博客、论坛等六个业务子系统。这些业务系统的用户数据需要纳入通行证管理实现单点登录功能。
1.2.2.消息网关
消息网关应当整合各种消息发送手段,如短信、、Wap Push等。本系统包括手机短信和发送接口,用于通行证用户的手机认证和认证。
1.2.3.其它业务系统
其它的网站业务系统,以两种方式与本系统对接:
1)客户数据完全存储在本系统中,则该应用系统必须遵循本系统的用户数据接口规范
2)应用系统自身具有用户数据管理功能,那么本系统将通过数据交换引擎建立用户数据映射关系,本
系统仅提供统一认证授权功能,同时通过数据总线实现与其它应用系统的交互
本系统平台主要为应用系统提供用户数据接口和用户身份验证,并通过对应用系统间的数据进行交换来驱动业务模型的展开。
1.3.1.应用层接口
1.3.1.1.接口实现的功能
1)用户基本行为,如注册、登录、修改资料、申请服务等;
2)用户数据的采集,如短信系统请求特定手机用户号以发短信;
3)对业务模型的驱动,如商城系统请求支付、支付系统返回支付结果、通知应用系统服务开通等;1.3.1.2.接口规范的制订
必须制定合理的用户数据接口规范,才能方便有效的实现各应用系统的接入。
1.3.1.3.接口类型
1)XML WebServices;
2)其它类型标准API,如Java API/Json Rpc/Remoting等;
本系统采用标准XML WebServices类型,其它接口类型根据特定的业务系统定制开发。
1.3.
完美通行证注册2.认证授权层
用户在访问应用层系统时,需首先进行权限认证。应用系统将用户的登录信息发送给本系统的认证授权模块,认证授权模块将返回用户的角权限等信息。
1.3.3.数据总线层
1)数据总线层应当封装各相关应用系统间的业务逻辑关系;
2)数据总线层的设计应当考虑下面几个因素:灵活性,可配置性,可扩展性;
1.3.4.数据交换引擎
1)连接各系统的数据源,抽取和比对相关的业务数据;
2)多种数据触发方式,提供实时触发和定时触发功能;
3)强大的数据校验功能,确保数据的可靠性;
1.4.数据层
1)RDBMS,传统的关系型数据库;
2)远程数据对象,无法直接访问的数据库系统,将通过数据接口方式访问远程数据对象;
1.4.
2.数据接口类型
1)ODBC/ADO.Net,底层的数据访问接口;
2)WebServices,传统的web服务方式访问远程数据对象;
3)Remoting,特定环境下的远程数据对象访问方式;
4)数据接口类型的选用原则:标准性,开放性;
2.系统方案的关键技术
2.1 系统的三层架构设计思想
通行证系统采用三层架构设计思想,这是在分析不同技术平台的业务系统基础上提出的,将业务系统的功能应用和数据进行分离,并在应用层和数据层中间增加了一个平台层用来对用户的授权进行管理。三层结构很好的实现了通行证与各个业务系统的对接,同时也为今后更多业务系统的加入提供了扩展接口。
2.2 用户数据库定义
不同业务子系统各自拥有不同的用户数据库,网站采用统一的通行证管理系统,也就需要定义统一的数据库。
除了通行证用户表,还需要定义很多辅助表,例如:管理各业务系统的系统属性表,通行证用户的角权限表、邮件认证表、手机认证表、实名认证表、各个业务系统的用户属性表、登录日志表等;
下表是方案中的用户数据库的定义。
2.2 用户重名处理方案
由于不同业务系统各自有自己的用户系统,为了实现各个业务系统之间的用户名的唯一性,必须对重名进行判断和处理。
在对重名进行处理时,遵循下列几个规则:
1)在业务系统中选择最重要的系统用户名作为基础用户名;
2)对其它的业务系统选择部分需要保护的用户名;
3)在上述两个规则基础上出重名的用户名,并在原有用户名后直接加上业务系统名的后缀;
经过上述三个原则的执行之后,所有业务系统的用户名统一到通行证用户数据库中;
由于博客系统是网站的一个重要业务系统,通行证方案中就以所有博客的用户名作为基础用户名,同时对于论坛业务系统中选择数十个重点用户名进行保护。
下面以博客业务系统的注册流程图来展示用户注册的处理方法: