REST在身份管理中的研究与应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:confusion00
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]随着身份管理重要性不断提升,身份联邦、面向架构服务(SOA)以及Web2.0等理念已经被注入到身份管理[5],企业系统面临着进化,传统的身份管理的架构和基于SOAP的身份管理模块在实现进化的需求上都存在着或多或少的限制。将以作者在IBM公司参与开发的某企业管理系统为项目背景,讨论如何将REST[1]风格架构应用到身份管理系统之中。
  [关键词]REST 身份管理 Web Service SOA 企业级Web2.0
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420043-01
  
  一、引言
  
  传统的身份管理应用只是单纯的封装身份信息,应用只是单纯的向域内客户端提供JAVA访问API,它无法向域外客户端提供身份信息,也无法为非JAVA型的客户端提供访问接口,所以传统的身份管理应用无法满足系统进化的需要。
  Web service无疑是替换传统身份管理应用的最佳方案。SOAP形式的Web Service被广泛的应用,另一种风格Web Service架构REST也吸引着人们的眼球。REST架构面向资源接口设计以及操作抽象简化了开发者的不良设计,并最大限度的应用了HTTP作为应用性协议的设计理念。相比于SOAP形式的Web Service,它拥有易用以及性能高效的优点[6]。另外REST风格架构除了选择传统的xml作为数据承载,还有JSON,RSS,ATOM等形式,开发人员来说就能够很好的mashup各种资源[1]。
  REST风格身份管理应用(如图2)不但向域内模块提供了SOA的整合接口,而且可以通过HTTP协议向域外的不同语言的客户端模块统一的提供身份信息。
  
  二、Rest契约的设计
  
  Rest风格架构的一个特点就是应用客户端和服务器互相分离,这样可以减少客户端和服务器端的耦合。只要架构师定义出客户端和服务器端之间的契约,也就是REST应用中的URL形式的API,项目实现者就可以根据REST契约进行客户端和服务器端应用的开发;同时在敏捷开发的角度来看,REST契约也是测试驱动开发中最好的测试数据。以系统中“新建角色”为例,它的REST契约具体的设计实现如下:资源ID:http://wdshost
  /idf/json/role。
  HTTP提交模式:POST
  参数:{"roleName":"Admin","description":"old role","roleID":
  "PlatformAdmin"}
  
  三、REST架构的实现
  
  当定义好REST契约,我们就可以关注服务器端的REST接口的实现。在项目中我们会通过Servlet技术构建Rest风格接口。
  通过图1,我们可以看到类的结构图,其中抽象类RoleDelegate的设计负责为“角色”资源的不同表现(XML、ATOM)提供接口。当客户端程序需要“角色”实体的ATOM表现形式的时候,我们只需要定义一个RoleATOMDelegate类去继承RoleDelegate即可。
  


  我们可以通过时序图看到模块的工作流程(如图2)。
  1.DispatchServlet接收到HTTP请求,判断请求属于Role角色实体相关的资源,转接到RoleServlet进行处理;
  2.RoleServlet判断HTTP请求类型为post,将HTTP请求委托给业务代理RoleJSONDelegate中的createRole()进行处理;
  3.业务代理通过和DAO层的通讯将对LDAP操作返回给Servlet;
  4.DAO层将“添加”操作的结果返回给业务代理RoleJSONDelegate;
  5.业务代理RoleJSONDelegate将操作结果封装为JSON串,并放在HTTP响应对象中返回给RoleDelegate;
  6.RoleDelegate将包含着JSON格式消息的HTTP相应对象返回给DispatchServelt,然后返回给客户端。
  


  
  四、总结
  
  本文以IBM公司某企业管理系统为项目背景,讨论了REST架构在身份管理中的应用。REST凭借自身有点,已经得到越来越多开发者的关注,将Rest风格推广为像SOAP形式Web Service一样成熟的规范体系,是REST发展的方向,也是我们在学生的一个良好的研究课题。
  
  参考文献:
  [1]陈亮、陶宏才,基于REST的Web服务Mashup研究与应用[J].成都信息工程学院学报,2008年5期.
  [2]徐斌、袁健,基于Web2.0的用户权限管理研究与实现[J].计算机工程,2008年13期.
  [3]Fielding R T. Architectural Styles and the Design of Network-based Software Architecture[A].Doctorial Dissertation,Dept.of Computer Science[C].Univ.of California,lrvine,2000.
  
  作者简介:
  于子元,东北师大计算机软件与理论硕士;潘伟,导师、教授;王晓辉,东北师大计算机软件与理论硕士;戴勇,东北师大计算机软件与理论硕士。
其他文献
[摘要]基于网络的远程故障诊断是诊断系统的发展趋势,提出基于B/S结构的装备车辆的远程故障诊断技术的总体结构模型,B/S结构设计分析和系统软件平台设计思想。阐述基于B/S结构的远程故障诊断系统对提高装备车辆技术保障的重要意义。  [关键词]远程故障 B/S结构 诊断系统  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0120124-02    一、引言    随着科学技
期刊
[摘要]机床PLC控制程序采用模块化编程,通过编制不同功能的子程序完成了PLC对机床顺序动作的控制,通过利用PLC的应用指令和内部特殊继电器实现了加工计数器和计时器功能程序段的设计,并编制了机床报警自诊断程序,通过利用时间继电器实现了检测开关在电磁阀动作后一定时间内的动作是否到位检测,确定开关有故障而发出报警信号。  [关键词]机床数控化 PLC 控制程序  中图分类号:TP2文献标识码:A文章编
期刊
[摘要]随着科技的发展,我们的地球越来越像地球村,这正是取决于当今飞速发展的信息技术,主要对当前3S技术的状况做些简单的介绍。  [关键词]3S 技术 遥感  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420034-01    一、“3S”技术系统    “3S”技术是地理信息系统(GIS)、遥感(RS)和全球定位系统  (GPS)的统称,是现代信息技术与空间分析研
期刊
[摘要]简单介绍设计模式的概念,探讨属于创建型模式的抽象工厂设计模式的概念及运用场合,最后给出开发三层结构数据库应用系统,数据访问层使用抽象工厂设计模式的C#实例。  [关键词]设计模式 抽象工厂设计模式 三层结构数据库应用系统 C#  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420030-01    以数据为中心开发的应系统,都涉及到访问数据库问题,还有可能要求
期刊
[摘要]介绍在FPGA上实现PCI总线接口的设计方案,在主控与用户功能模块之间的进行数据交换,以突发写方式进行大量数据的高速传输。重点描述用户逻辑接口模块的程序设计,满足PCI总线时序要求,提高系统效率和性能。  [关键词]PCI总线 接口 FPGA  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420031-01    一、PCI总线及其接口概述    PCI(Pe
期刊
[摘要]加入世贸组织以后,我国要继续降低关税壁垒,进一步开放市场,我国的对外贸易必须纳入世贸组织的规则与框架。同时我国正处于经济转型阶段,市场经济的各方面制度尚不完善,经济总体实力还不强,因此,在对外贸易领域里,我国政府制定的贸易政策应该在世贸组织的规则与框架内,以本国经济利益为基本出发点,有利于本国企业参与国内外两个市场激烈的竞争,不断提高国际竞争力。实行战略性投入政策是一个符合国际惯例的现实选
期刊
[摘要]PCVSAT单收站运行监控系统运用现代计算机网络、数据库等软件技术,针对单收站在实时运行过程中接收并生成的数据而设计开发,来实现对全省单收站运行状况的监控,对于全面掌握单收站的运行状况,加强技术保障手段,提高技术保障能力,快速高效进行设备的技术保障有重要意义。主要从系统的结构、功能及实现技术等方面来叙述。  [关键词]PCVSAT单收站 运行监控  中图分类号:TP2文献标识码:A文章编号
期刊
[摘要]讨论内存泄漏的概念,Java语言的内存管理机制,垃圾回收器的原理,结合实际代码分析Java语言中可能存在的内存泄漏问题,并列举几种常见的检测及防止内存泄漏的方法。  [关键词]Java 垃圾回收 内存泄漏  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420040-01    一、引言    所谓内存泄漏,是指系统中存在无法回收的内存,有时候会造成内存不足或系
期刊
[摘要]总结教学经验的基础上,向初学者介绍几个容易忽视但是也是比较实用的几个小技巧。  [关键词]Access数据库 数据交流 压缩 表分析器  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420038-01    现在一般的高校都不开设Access数据库课了。绝大部分的高校都在开设SQL、oracle等。但是Access数据库还是存在的,作为一个功能强大的数据库管理
期刊
[摘要]Web数据挖掘是数据挖掘技术在Web信息集合上的应用,Web数据具有本身的特点,Web数据挖掘可以分为三类,各自有其相关技术,Web数据挖掘技术有着广泛的应用,而且随着Internet的不断发展,必将有着更加开阔的应用前景。  [关键词]数据挖掘 内容挖掘 结构挖掘 日志挖掘  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420044-01    数据挖掘(D
期刊