异构环境中基于EJB和CORBA的统一用户管理系统设计*

2010-08-14 01:11朱亚兴
网络安全与数据管理 2010年15期
关键词:全文检索组件统一

朱亚兴

(广东科学技术职业学院,广东 珠海 519010)

某市大型科技网站的定位侧重于ICP(Internet Content Provider),兼作 ISP(Internet Service Provider),主攻方向是信息增值服务。其具有丰富的网上信息资源,提供科技信息全文检索、动态信息发布等功能。作为地区国民经济信息化的重要工程之一,其建设目标是成为国际科技信息网和省科技信息网的地区主干网,成为市科技信息开发、应用与服务及与国内外科技信息交流的平台和反映地区科技信息的主要窗口。

为了满足系统建设和将来升级扩展的需要,系统采用了先进的软硬件配置。所有网络设备、服务器、软件平台均采用当前在Internet网站建设方面享有良好声誉的、代表Internet服务发展趋势、方向和水平的产品。在服务器的选择上,采用了在Internet服务领域享有很高声誉的SUN、SGI服务器系列和HP公司系列产品,同时采用Solaris、IRIX和 Windows 2000 Server作为服务器的操作系统;选用Oracle数据库系统及Sybase Enterprise Application Server多层软件技术及SGI公司先进的视频技术,充分利用强大的系统扩展能力提供良好的信息查询服务。

系统提供的主要ICP服务有:电子邮件、代理、科技信息检索、视频点播、拨号等。由于提供这些服务的厂商和平台完全分散独立,并且各自提供了基于不同语言的开发接口,这就带来一个问题:如何统一地使用对应的服务,如何将异构环境中的用户信息统一到科技网站系统中来,以便为科技网用户透明地使用,并且为网站统一计费提供依据。因此在异构环境中的统一用户管理成为本系统的一个重要研究课题。

1统一用户管理思想

为了管理和计费的需要,本文提出了统一用户管理的概念,以服务的方式组织应用。用户上网申请注册并交费后,可自由选取系统提供的各种ICP服务。用户选取不同的服务,都要求把用户信息统一到相应服务所在服务器系统平台的用户管理中。即:当注册用户在某一处增加、删除一种服务或修改用户信息和密码时,其用户信息(包括用户账号、密码等)都统一到相应的服务所在的服务器系统平台的用户管理应用系统中,这是统一用户管理的设计重点。简言之,统一用户管理即用户拥有“一卡通”。这样就能方便用户拥有一个账号便可在网上享用其所选用的资源并完整地实现统一计费。

2用户服务认证方案

由于系统提供的增值服务所在的服务器系统平台相对独立、分散,所以必须根据不同系统针对性地解决用户管理问题。Email服务是在NETSCAPE的MESSAGE SERVER上实现的,代理服务是通过NETSCAPE的PROXY SERVER实现。以上两种服务对应的用户管理要根据NETSCAPE的目录服务机制来实现,其目录服务机制遵循了LDAP协议,因此,Email和代理服务的用户验证要通过目录服务的相应的LDAP协议来实现完成加载用户信息到其目录服务器中。

全文检索服务是利用TRS(易宝全文检索系统)的用户管理系统实现的。因此,此服务的用户认证要将用户信息加入到TRS的用户管理系统中。

拨号服务是利用Radius Server实现的。而Radius Server的用户认证则是通过Windows2000 Server的Active Directory中的用户来实现。因此,拨号服务的认证要将用户加入到Windows2000 Server的活动目录中。

3实现技术

3.1基于LDAP和Windows ADSI

在实现统一用户管理的过程当中,遵循了相应的目录服务的有关协议,轻量级目录访问协议LDAP(Lightweight Directory Access Protocol)和 Windows 2000 Server的 Active Directory(活动目录)。

LDAP是遵循X.500标准的互联网目录协议[1-4],可用于访问和管理目录服务。LDAP基于客户/服务器模式,服务器端提供目录服务,LDAP使开发人员能够使用标准查询技术从一个合并的目录中检索信息,从而实现物理上分布的、逻辑上集中的统一用户管理功能。从一个用户管理界面统一管理所有系统,LDAP客户端通过TCP/IP与服务器通信,利用目录服务获得相关属性信息,如查询、添加、修改、删除等。

Active Directory是一个收集用户与资源信息的分布式数据库,它包含的用户与资源信息描述了网络、用户、应用设置以及管理与编程人员所感兴趣的所有内容。活动目录的主要功能是用来存储关于网络上的资源信息并提供相应的服务,使这些资源易于定位、使用和管理。网络资源信息被存放在活动目录的数据库组件中。活动目录为用户、应用程序和Windows2000系统本身搜索网络资源提供了统一的服务平台,同时还为管理员提供了一条集中组织、管理和控制对网络资源访问的途径。

3.2基于不同API

各服务对应系统和第三方厂商提供了不同语言的开发接口。Email和代理服务对应的系统提供了Java语言的API;全文检索和拨号服务对应的系统只提供了C语言的API。因此系统必须选择一种语言中立的开发模式。

3.3基于EJB和CORBA集成异构系统

对本系统实现功能要求:

(1)同步LDAP目录服务、AD目录服务系统和第三方用户系统。

(2)采用流行的B/S结构。

(3)准确及时自动同步用户信息的增、删、改。

(4)基于J2EE标准技术构架和与开发语言无关的CORBA规范,无缝地集成不同应用系统。

(5)可以跨平台运行,支持 Windows、SUN Solaris、IRIX、HP Unix系统。

针对系统功能要求,统一用户管理实现方法是基于EJB组件技术、CORBA[9]组件规范的核心技术,这样就充分保证了系统的安全性、稳定性和重用性,并为统一日志管理和计费管理提供了依据。

EJB(Enterprise Java Beans)是J2EE架构的重要组成部分,用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨三层的组件体系结构。EJB组件通常不能单独运行,而是运行在EJB容器中。应用系统可以在一个支持EJB的环境中开发,开发完后可以部署在其他的环境中。并且随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。

CORBA组件实现规范由OMG提出,OMG首先发布了OMA(对象管理体系结构),提出了组件互操作的软总线ORB(Object Request Broker)。一个 CORBA组件采用IDL进行(接口定义语言)描述。CORBA提供了IDL到C、C++、Java、COBOL等语言的映射机制——IDL编译器。IDL编译器可以生成Server方的Skelton和Client方的Stub代码,通过分别与客户端和服务端程序的联编,即可得到相应的Server和Client程序。CORBA对象特点包括:可以位于网络中的任何位置;可以和其他平台上的对象交互;可以用任何设计语言编写,只要有IDL到该语言的映射即可。

本方案采用Enterprise JavaBean组件、CORBA C++组件实现了电子邮件用户、代理服务用户、全文检索服务用户、拨号服务用户的统一管理。通过建立目录服务服务器及相应的用户属性信息,采用支持LDAP协议、ADSI的开发工具(Netscape Suitespot、Sybase Enterprise Application Server、Sybase PowerJ、VisualC++)开 发 LDAP 服务组件、拨号服务组件,实现了对系统内用户的统一管理。本方案对提供二次开发支持的第三方系统(TRS全文检索系统),可通过相应的C语言的API开发CORBA C++组件实现。

3.3.1采用三层体系结构

系统采用三层体系结构。

(1)前端的客户层:客户端系统采用Web方式,利用浏览器向Web服务器请求对网上应用管理系统进行操作的相关网页。

(2)中间应用层:封装业务逻辑、进行事务处理,包括PowerDynamo和 Jaguar CTS。其中 PowerDynamo负责网页生成和动态数据发布,Jaguar CTS负责组件和事务处理,客户端利用HTTP协议与PowerDynamo通信,得到想调用的页面(包括以 Java Applet形式下载的组件),若有组件则由PowerDynamo与Jaguar CTS通过IIOP协议执行组件方法。其具有下列特点:

①支持 EJB、CORBA、DCOM等组件。

②不依赖于语言。

③支持多种分布式协议。

④支持广泛的平台。Windows、Solaris、IRIX和 HPUX等。

⑤支持标准安全机制和可靠的先进性。

⑥先进的命名服务。支持CORBA Cosnaming Service和JNDI.

吃完饭大家都散了,甲洛洛想想西西突然变红的脸,心里暖暖的,看到西西那浅绿的瓷碗里还剩小半碗饭,他便端起碗,一小口一小口地品味:她的胸脯肯定很大,那么厚的衣服都挺得起来,还有那屁股,软软的、滑滑的……哎!多么笨的女人,错过了多少美好的事!

(3)后端数据库管理层:提供对数据库的访问。

图1为三层体系结构图。

图1 三层体系结构

3.3.2服务认证组件实现

(1)EJB组件

通过EJB组件方法创建了Email服务的用户统一管理的组件LDAPuser、代理服务的用户统一管理的组件LDAPproxy。

(2)CORBA C++组件

通过CORBA C++组件方法创建了全文检索服务的用户统一管理组件TSRuser、拨号服务的用户统一管理的组件 RADuser。

3.3.3用户统一管理的实现方法

(2)系统调用EJB组件。用户在选择新增Email服务时,页面执行的语句为:

代理服务用户统一管理的实现方法与Email服务调用的实现方法类似。

(3)系统调用 CORBA C++组件

①全文检索服务用户统一管理的实现方法

②拨号服务用户统一管理的实现方法

其组件RADuser中包含的方法分别为:选取拨号服务Add、修改用户密码 Mod、删除拨号服务 Del。拨号服务用户统一管理的实现方法与全文检索服务用户统一管理组件调用的实现方法类似。

本文主要介绍了基于包含各种网络设备、操作系统(Solaris、IRIX 和 Windows 2000 Server)、应用软件(NETSCAPE、SYBASE、ORACLE、OPENVIEW、TRS、VOD、邮件系统)等异构环境中基于不同目录服务协议、不同提供商的API接口,利用EJB组件和CORBA C++组件集成技术无缝透明地实现网上各服务的统一用户管理,对统一计费和管理提供了直接依据,并且易于新增服务和扩展。系统运行以来,实施效果良好。统一用户管理的设计与实现不仅对于科技网而且对大型异构环境下基于增值服务的网站的统一管理和运营也具有一定的借鉴意义。

[1]任剑勇.基于目录服务技术的应用开发[J].计算机应用研 究 ,2001(5):143-145.

[2]宋晶晶,王卫军,付晓江.基于 LDAP目录服务和 Java技术的邮件系统[J].吉林大学学报(信息科学版),2003(2):92-96.

[3]赵明,郭常杰,卢文龙,等.基于 lDAP的目录服务器的研究与实现[J].计算机科学,2000,27(5):84-87.

[4]孙立钧,铁岭,杨昭璐.公共信息模型在ldap目录中的映 射 设 计[J].通 信 技 术 ,2003(6):54-57.

[5]梁晋,施仁,梁峰,等.Windows 2000活动目录技术[J].计 算 机 应 用 研 究 ,2000(35):96-100.

[6]黄亚平.windows 2000的目录服务和动态DNS[J].微机发展,2001(5):42-45.

[7]张恒锋,蔡轲.ADSI在Windows 2000权限管理中的应用[J].计 算 机 与 现 代 化 ,2003(10):88-90.

[8]王安俊,刘萍,武涛.Windows 2000活动目录技术的分析与研究[J].计算机工程与设计,2003(4):21-24.

[9]刘向东.用 Java开发CORBA式应用程序[J].电脑开发与应用,2000(6):6-8.

[10]孙丽萍,王新,刘志俊.异构环境中统一用户管理的研究与规划[J].计算机工程与应用,2005(32).

猜你喜欢
全文检索组件统一
无人机智能巡检在光伏电站组件诊断中的应用
坚持严管和厚爱相统一的着力点
碑和帖的统一,心和形的统一,人和艺的统一
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
统一数量再比较
Oracle数据库全文检索性能研究
全文检索引擎Lucene系统模型与应用研究
全文检索引擎技术在电子病历中的应用
风起新一代光伏组件膜层:SSG纳米自清洁膜层