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

出处:朱亚兴 发布于:2011-08-30 22:36:00

  某市大型科技网站的定位侧重于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协议来实现完成加载用户信息到其目录服务器中。

  3 实现技术

  3.1 基于LDAP和Windows ADSI

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

  LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

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

  活动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。活动目录服务是Windows 2000操作系统平台的中心组件之一。理解活动目录对于理解Windows 2000的整体价值是非常重要的。这篇关于活动目录服务所涉及概念和技术的介绍文章描述了活动目录的用途,提供了对其工作原理的概述,并概括了该服务为不同组织和机构提供的关键性商务及技术便利。

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

  3.2 基于不同API

  各服务对应系统和第三方厂商提供了不同语言的开发接口。Email和代理服务对应的系统提供了Java语言的API;全文检索和拨号服务对应的系统只提供了C语言的API。

  API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指 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、Visual C++)开发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和HP-UX等。

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

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

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

  图1为三层体系结构图。


  3.3.2 服务组件实现

  (1)EJB组件

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

  (2)CORBA C++组件

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

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

  (1)对用户透明。注册用户通过选取相应服务或修改用户信息的页面操作,系统自动进行相应的判断。

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

  ldaphomeobj=java.GetHomeInterface(“LDAPuser”,“iiop:// 组件服务器名:9000”,“用户名”,“密码”);

  ldapObj=ldaphomeobj.create();                //实例化

  ldapObj.Add(user,psw);   //组件中新增Email服务的

  //成员方法,user为用户名参数,psw为用户密码参数,以下同

  ldapObj.Mod(user,old_psw,new_psw);   //组件中修改

  //Email服务用户密码的成员方法。注:old_psw为旧密码,

  //new_psw为新密码。

  ldapObj.Del(user); //组件中删除Email邮箱账号的成

  //员方法

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

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

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

  TSRobj1=java.CreateComponent(“TSRadmin/TSRuser”,“iiop://组件服务器名:9000”,“用户名”,“密码”,“TSRadmin/

  //TSRuser”);

  TSRobj1.Add(user,psw); //组件中新增全文检索服务的//成员方法

  TSRobj1.Mod(user,old_psw,new_psw); //组件中修改全//文检索服务的用户密码的成员方法

  TSRobj1.Del(user); //组件中删除全文检索服务的成员//方法

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

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

  本文主要介绍了基于包含各种网络设备、操作系统(Solaris、IRIX和Windows 2000 Server)、应用软件(NETSCAPE、

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


  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!