基于Web Service的企业门户信息系统构建

2010-03-26 01:47段淮川
电子设计工程 2010年11期
关键词:入口组件服务器

胡 平,段淮川

(南京工业大学 信息科学与工程学院,江苏 南京 210009)

目前,各大型企事业单位部门及人员关系调整越来越频繁,部门及人员对应用系统要求有不同权限。在许多企事业单位中,不同的应用系统都有一套独立的用户管理系统,造成用户管理系统重复开发,同时各系统之间的集成也存在问题,难以实现用户单点登陆,给用户管理带来了很大困难。如何提高管理效率,减少重复开发,很好地管理组织机构、部门、用户及角色,灵活支持企业的安全策略,对企业的变化有很大的伸缩性,为此构建一种基于Web Service的统一用户管理系统,该系统设计采用统一的安全管理设计思想,扩展RBAC用户授权模型,以及LDAP目录服务器身份认证的技术,具有通用、安全、易于管理可扩展等特性。

1 IPS集成系统框架

基于Web服务的企业门户信息化平台采用了基于Web的多层框架结构,包括用户层、Web服务层、应用服务层和数据库层,如图1所示。

图1 基于Web的信息平台多层框架结构Fig.1 Structure of multiple information system based on web

其中,用户层支持若干网络终端访问IPS,例如相关网络终端:电脑、PDA、手机,以及其他的网络访问设备。通过设置统一的登录接口,Web浏览器能够访问系统资源和服务;Web层提供平台入口服务,通过该入口,服务器能够根据不同用户的请求处理或展示用户提交的数据,以及保存在数据中心的用户资料等信息;应用层提供Web应用服务。例如,用户信息管理,身份认证,并处理入口服务器接收到的业务请求;共享数据库层是所有集成校园系统的数据基础,它集成了所有应用信息系统的共享数据,提供同步精确的源数据,并将数据存储在应用服务层。

举例说明该系统的工作流程如下:某个用户通过用户层向Web层提交一个请求,Web层选择一个特定的portlet,通过该portlet将请求发送到应用层中对应的Web服务,Web服务将取得请求的数据并回发给Web层中的portlet。最后,Web层将获取的数据回发给用户层,并在用户层显示。

2 本地Web服务资源集成

根据上述框架结构和相关技术,详细论述其实现方法。首先介绍Portlets,包括Portlets的优点,及其与 Web Services之间交换数据的过程,平台数据的综合集成。

2.1 Portlets和 Web Service的结合

门户(Portal)是通往一套资源的入口,即在有效的网络环境下,把各种应用系统资源、数据资源、信息资源统一集成到一个平台下,根据每个用户使用特点和角色的不同,形成个性化的应用界面,并通过对事件和消息的处理传输把用户有机地联系在一起。Portal的组成可以分为3部份:Portal Server、Portlet Con-tainer、Portlet。 Portlet是以 Java 为 技术 的Web组件,由Portlet Container所管理,专门处理客户的request以及产生各种动态的信息内容。与servlets类似,Portlets是部署在容器内用来生成动态内容的Web组件,它具有servlets大部分功能,相对于servlets,portlets还具有下述优点[1]:1)设置参数的持久化存储;2)请求处理,Portlets 提供了更为细粒度的请求处理;3)Portlet模式,Portlet用模式的概念来表示用户的操作行为。

从技术角度,Portlet是一个实现 javax.portlet.Portlet接口的类,它被打包成war文件格式部署到Portlet容器里。本地应用程序部署在Portlet Web服务器中,这可便捷有效地连接共享数据层。Portlet与Web Service交互框架如图2所示。

图2 Portlet和本地Web Service交互的架构Fig.2 Structure of data exchange between Portlet and Web Service

例如:一个用户,登录进IPS平台,本地组合组件对servlet的请求按下述程序的步骤响应:1)如果请求包带有JSP或者HTML Portlet,则发送给登录入口一个相应片段,然后入口将生成一个HTML文件。2)如果请求包带有Web服务,登录口首先调用SOAP代理。代理先将请求参数按到来的顺序排列进SOAP请求,然后发送请求到本地Web服务。本地Web服务解开SOAP请求的包,恢复请求参数,根据那些请求参数调用本地服务,并完成服务请求。获取结果后,SOAP封装将结果打包进SOAP请求,并发送到SOAP代理,然后SOAP代理解开包装的返回结果。带有相关Portlet片段的入口生成入口页面,并发送页面到用户,最后生成对应的HTML文件。

部署本地Portlets到入口作为集成平台的引导部分。步骤如下:1)创建资源文件,其中包括JSP文件和对应的JAVA类。JSP文件是将要在Portlet上展示的内容。2)配置Web.Xml属性,这一步与正常的Servlet属性配置一样。3)配置Portlet.Xml,定义了 Portlet的重命名,相关 Servlet和 Portlet的属性,例如:显示模式和许可设置。4)Web应用的包装,将所有文件包装在一个WAR的文件中,作为Websphere中的一个Web应用服务。5)设置 portlet参数,这一步设置了相关 Web服务的地址。6)登录portlets并通过入口管理用户化相应的属性。

2.2 数据集成

数据集成包括结构化的数据和非结构化的数据。结构化的数据包括关系数据库中的数据;非结构化的数据包括文本,页面,图片和多媒体[3]。IPS系统由大量的共享数据资源组成,例如个人信息管理系统,学生工作信息管理系统,研究生信息管理系统和邮箱系统和OA系统。这些资源的集成,包括结构化的数据和非结构化数据,又称为信息中心。在这部分,UIP被看作一个视图层,它是一种数据集成处理Web服务和基于XML的数据集成组件。通过统一接口,所有不同种类的关系型数据和非关系型的数据都转换为XML格式的数据,并发送到集成组件,集成组件再将XML格式的数据转到IPS。数据集成组件的基本组成架构如图3所示。

图3 数据集成组件的基本架构Fig.3 Basic structure of data integration module

数据集成组件是数据交换和数据共享的中心,彼此之间通过标准的Web服务接口相互连接传播,以及以XML格式交换数据。以XML格式保存的共享数据库中的数据被传输到数据集成组件中,然后由数据集成组件将得到的数据发送给IPS。数据集成组件和Web服务通过SOAP协议传输数据。

3 统一授权认证

3.1 扩展RBAC授权方案

用户的授权方式采用扩展RBAC模型,该模型设计出一种新的方案。该方案同时提出了3种授权方式:角色授权、个人授权、用户授权[4]。在系统的权限的实现中,系统管理员通过把3种授权方式相结合。对不同职责的用户进行分类,创建不同的角色,对不同的角色授予可以完成特定职能的角色,再给不同的用户授予不同的角色。当需要区分细化具有相同角色的用户权限时,这时再通过个人授权来修改用户的具体权限。一般RBAC模型能完成系统的静态权限的分配,而实现权限的动态授予必须使用用户授权来实现。

3.2 目录服务LDAP

身份认证框架采用Sun公司的单点身份认证服务器作为公共服务。采用LDAP目录读写用户信息和授权管理。这样便于综合集成入口管理身份认证。LDAP是轻量级目录访问协议,它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP。LDAP目录提供大规模分布环境以供读写用户信息数据。使用LDAP主要考虑到以下优点:

1)卓越的检索性能,LDAP服务器在处理大量用户并发访问问题上优势明显,具有比关系数据库系统更快的响应速度(查询和修改操作比一般是大于10:1);

2)完善的安全机制,LDAP服务器通过访问控制列表ACL设置对目录数据的读和写的权限,通过支持基于SSL(Secure Sockets Layer)的安全机制完成对明文加密,为个人信息提供更安全的保障;

3)跨平台支持,由于 LDAP Server运行在TCP/IP上层,互联网上的各种应用无论是运行在UNIX下还是Windows下,都可以通过TCP/IP访问LDAP服务器上的目录信息;

4)用“推”或“拉”的方法复制部分或全部数据,大多数LDAP服务器都内置Replication的功能,它增强了网络应用中数据的安全保障,另外复制还可以使分布在不同地域的服务器保持数据的同步。

3.3 单点登录(SSO)

单点登录(Single Sign On,SSO)的原理是当用户访问大量权限保护资源时,IDS会话服务器将会生成一个权限证书--Ticket,通过该证书,会话中的用户可以访问其他资源而不需要再次认证[5]。例如,当用户访问邮件服务器时经过认证,邮件服务器会调用IDS接口,该接口产生一个SSO会话证书用来记录用户的身份,同时产生一个随机数与Ticket连接。随机数发送给用户浏览器并保存在cookie中。当用户登录其他服务器的同样领域,例如,OA系统,先前的cookie被发送到服务器,OA服务器通过当前的用户证书的SSO API读取到Ticket。于是用户经过认证能够登录OA系统。

IPS利用IDS认证服务器的证明进入正确的入口页面,或者访问正确的信息资源。当用户登录到IPS登录界面,IDS便会将用户的登录名和密码与统一身份认证服务相配对。如果用户登录名和密码配对符合,就允许用户访问Porlet属于相关角色的资源。图4演示了该过程。

图4 身份认证架构Fig.4 Structure of ID authentication

根据上述系统架构,采用SUN公司的目录服务器和SUN公司的身份认证服务平台,该平台能够为整体IPS平台提供统一的身份认证。这种认证接口通常作为一个中间组建为应用提供API接口。Web控制台根据LDAP目录协议来管理审核用于管理个人信息的目录服务器。Web层使用IBM Websphere平台访问服务器来提供访问服务。另外,考虑到IBM Websphere服务器的稳定性和可靠性,使用IBM Websphere来提供应用层服务。

4 系统实现

在上述构建的基础上实现了某大学研究生管理系统,如图5所示。

图5 项目运行效果图Fig.5 Diagram of project operation

5 结束语

基于Portlets,单点登录技术,扩展RBAC模型,LDAP技术和Web Service,设计并实现了一个统一的信息化平台(IPS),并描述了IPS的设计和实现。基于Web Service的UIP能够整合资源,并实现portlet,XML和身份认证技术综合利用。它为用户提供了统一的登录界面访问公共平台上的资源,增强了IPS系统的安全性、高效性和可扩展性。

[1] 范晓鑫,严隽薇,刘敏,等.基于门户的Web集成体系及其适应性技术的研究[J].计算机应用研究,2007,24(7):208-210.FAN Xiao-xing, YAN Juan-wei, LIU Min, et al.Study of Web integration system based on portal and application[J].Computer Application Study,2007,24(7):208-210.

[2] 胡立春,武友新,张烨,等.LDAP环境下的统一用户管理系统的研究与实现[J].计算机工程与设计,2007,28(4):823-825.HU Li-chun, WU You-xin, ZHANG Ye, et al.Study and implement of unified user management system based on LDAP[J].Computer Engineer and Design, 2007, 28(4):823-825.

[3] 宋晓宇.数据集成与应用集成[M].北京:水利水电出版社,2008.

[4] 刘建圻,曾碧,郑秀璋,等.基于RBAC权限管理模型的改进与应用[J].计算机应用,2008,28(9):2449-2451.LIU Jian-qi, ZENG bi, ZHANG Xiu-zhang, et al.Improvement and application of power management model based on RBAC[J].Computer Application, 2008, 28(9): 2449-2451.

[5] 孟凡荣,程洁,史会余,等.单点登录模型的研究与应用[J].微计算机信息, 2008, 24(7-3):164-165.MENG Fan-rong, CHENG Jie,SHI Hui-yu, et al.Study and application of single sign on model[J].Microcomputer Information,2008,24(7-3):164-165.

[6] 刘友生,陈剑平.Web数据互访中的安全技术研究[J].微电子与计算机,2008(8): 160-166.LIU You-sheng,CHEN Jian-ping.Security study ofweb data access[J].Micro-electronics&Computer,2008(8): 160-166.

猜你喜欢
入口组件服务器
无人机智能巡检在光伏电站组件诊断中的应用
基于新一代称重设备的入口治超劝返系统分析
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
通信控制服务器(CCS)维护终端的设计与实现
秘密入口
作品三
第九道 灵化阁入口保卫战
中国服务器市场份额出炉
得形忘意的服务器标准