• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    REST在身份管理中的研究與應用

    2009-07-16 09:33:54于子元王曉輝
    新媒體研究 2009年8期
    關鍵詞:服務器端計算機軟件契約

    于子元 潘 偉 王曉輝 戴 勇

    [摘要]隨著身份管理重要性不斷提升,身份聯邦、面向架構服務(SOA)以及Web2.0等理念已經被注入到身份管理[5],企業(yè)系統(tǒng)面臨著進化,傳統(tǒng)的身份管理的架構和基于SOAP的身份管理模塊在實現進化的需求上都存在著或多或少的限制。將以作者在IBM公司參與開發(fā)的某企業(yè)管理系統(tǒng)為項目背景,討論如何將REST[1]風格架構應用到身份管理系統(tǒng)之中。

    [關鍵詞]REST 身份管理 Web Service SOA 企業(yè)級Web2.0

    中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0420043-01

    一、引言

    傳統(tǒng)的身份管理應用只是單純的封裝身份信息,應用只是單純的向域內客戶端提供JAVA訪問API,它無法向域外客戶端提供身份信息,也無法為非JAVA型的客戶端提供訪問接口,所以傳統(tǒng)的身份管理應用無法滿足系統(tǒng)進化的需要。

    Web service無疑是替換傳統(tǒng)身份管理應用的最佳方案。SOAP形式的Web Service被廣泛的應用,另一種風格Web Service架構REST也吸引著人們的眼球。REST架構面向資源接口設計以及操作抽象簡化了開發(fā)者的不良設計,并最大限度的應用了HTTP作為應用性協議的設計理念。相比于SOAP形式的Web Service,它擁有易用以及性能高效的優(yōu)點[6]。另外REST風格架構除了選擇傳統(tǒng)的xml作為數據承載,還有JSON,RSS,ATOM等形式,開發(fā)人員來說就能夠很好的mashup各種資源[1]。

    REST風格身份管理應用(如圖2)不但向域內模塊提供了SOA的整合接口,而且可以通過HTTP協議向域外的不同語言的客戶端模塊統(tǒng)一的提供身份信息。

    二、Rest契約的設計

    Rest風格架構的一個特點就是應用客戶端和服務器互相分離,這樣可以減少客戶端和服務器端的耦合。只要架構師定義出客戶端和服務器端之間的契約,也就是REST應用中的URL形式的API,項目實現者就可以根據REST契約進行客戶端和服務器端應用的開發(fā);同時在敏捷開發(fā)的角度來看,REST契約也是測試驅動開發(fā)中最好的測試數據。以系統(tǒng)中“新建角色”為例,它的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請求委托給業(yè)務代理RoleJSONDelegate中的createRole()進行處理;

    3.業(yè)務代理通過和DAO層的通訊將對LDAP操作返回給Servlet;

    4.DAO層將“添加”操作的結果返回給業(yè)務代理RoleJSONDelegate;

    5.業(yè)務代理RoleJSONDelegate將操作結果封裝為JSON串,并放在HTTP響應對象中返回給RoleDelegate;

    6.RoleDelegate將包含著JSON格式消息的HTTP相應對象返回給DispatchServelt,然后返回給客戶端。

    四、總結

    本文以IBM公司某企業(yè)管理系統(tǒng)為項目背景,討論了REST架構在身份管理中的應用。REST憑借自身有點,已經得到越來越多開發(fā)者的關注,將Rest風格推廣為像SOAP形式Web Service一樣成熟的規(guī)范體系,是REST發(fā)展的方向,也是我們在學生的一個良好的研究課題。

    參考文獻:

    [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.

    作者簡介:

    于子元,東北師大計算機軟件與理論碩士;潘偉,導師、教授;王曉輝,東北師大計算機軟件與理論碩士;戴勇,東北師大計算機軟件與理論碩士。

    猜你喜歡
    服務器端計算機軟件契約
    飲食契約
    智族GQ(2023年10期)2023-11-02 08:34:16
    一紙契約保權益
    公民與法治(2022年4期)2022-08-03 08:20:50
    新疆發(fā)現契約文書與中古西域的契約實踐
    基于C語言的計算機軟件編程
    電子制作(2018年16期)2018-09-26 03:27:08
    淺談不同編程語言對計算機軟件開發(fā)的影響
    電子制作(2018年1期)2018-04-04 01:48:36
    淺析異步通信層的架構在ASP.NET 程序中的應用
    成功(2018年10期)2018-03-26 02:56:14
    淺談基于C語言的計算機軟件程序設計
    電子制作(2017年24期)2017-02-02 07:14:40
    在Windows中安裝OpenVPN
    解放醫(yī)生與契約精神
    基于計算機軟件開發(fā)中分層技術的應用
    河南科技(2014年15期)2014-02-27 14:12:23
    寿阳县| 育儿| 屏南县| 永德县| 富顺县| 静乐县| 法库县| 乐清市| 金秀| 乐平市| 沈丘县| 鸡西市| 凌源市| 新津县| 弥渡县| 阿瓦提县| 行唐县| 台南市| 大同县| 清河县| 丰顺县| 甘洛县| 萨迦县| 新巴尔虎左旗| 海南省| 台前县| 德钦县| 阿拉善盟| 卫辉市| 两当县| 靖安县| 黔江区| 延川县| 滦平县| 锡林浩特市| 依安县| 南陵县| 桑植县| 大宁县| 汉川市| 于田县|