999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web Services的數字化校園的構建研究

2010-01-01 00:00:00孫雷陳曉慧劉大為
軟件工程 2010年3期

摘要:本文從數字化校園建設的發展階段和實際要求出發,以數字化校園理念為基礎,采用最新的Web服務技術,構建一個高效、安全、松散藕合和高度集成的數字化校園框架體系,并對所采用的核心技術進行研究和探索。

關鍵詞:Web服務;數字化校園;統一描述、發現和集成;單點登錄;CA認證

1 引言

社會信息化的推進使得校園網得以迅速的發展,越來越多的校園依托校園網建立起了各種應用系統,如辦公自動化系統、教務管理系統、科研管理系統、人事管理系統、后勤管理系統、學生管理系統等。在前期建設階段,由于沒有做好統一的規劃,各職能機構都建立了各自的信息系統,由于編程語言差異、數據庫異構、數據標準不統一等原因,各個系統之間無法進行正常通信,為用戶造成了很多不便。因而,本課題就從數字化校園建設的發展階段和實際要求出發,以數字化校園理念為基礎,采用最新的Web服務技術,構建一個高效、安全、松散藕合和高度集成的數字化校園框架體系,并對所采用的核心技術進行研究和探索。

2 Web服務簡介

Web服務是一種部署在Web上的對象,是一種可通過標準Internet協議訪問的自包含的、自描述的、模塊化的、可編程的應用邏輯,是對象/組件技術在Internet中的延伸,可以通過Web發布、查找和調用。其協議包括:

(1)XML(Extensible Markup Language,可擴展標記語言)

由標準通用標記語言(SGML)發展而來,現已成為一種人們廣泛接受的用于描述數據和創建標記語言的標準。

(2)SOAP(Simple Object Access Protocol,簡單對象訪問協議)

作為Web服務的標準通信協議。簡單對象訪問協議(SOAP)是一個用來在分散、分布式的環境中交換信息的簡單協議,它是一個基于XML的協議。

(3)WSDL (Web Services Description Language)

描述Web服務的XML格式語言。它用來定義Web服務,并描述如何訪問這些服務。

(4)UDDI(Universal Description,Discovery and Integration)

一套面向Web服務的信息注冊中心的實際標準和規范。創建UDDI注冊中心的目的是實現Web服務的發布和發現,可以利用UDDI規范在Web上建立和發現服務。

以上這些協議規范加上廣泛使用的傳輸層和網絡層的通用標準(TCP/IP、HTTP、SMTP等)就能實現一個完整的Web服務體系架構。

3 Web服務體系結構

Web服務體系結構SOA,清晰地描述了各角色之間的交互,如圖1所示。SOA體系結構中共有3種角色:(1)Service Provider:服務提供者。為其他服務和用戶提供已有的功能,從體系結構上看,它是指提供服務訪問的平臺;(2) Service Requester:服務請求者。需要某種特定服務的企業或個人,是服務功能的使用者,從體系結構上看,它是指查找和調用服務的客戶端程序;(3) Service Registry:服務代理。用來存儲服務描述信息的信息庫,是服務提供者發布服務和服務請求者查找服務并獲取服務的綁定信息的場所,充當管理者的角色。

在Web服務的角色之間進行了3種操作:(1)發布:使服務提供者可以向服務代理注冊自己的功能及訪問接口;(2)查找:使服務請求者可以通過服務代理查找特定種類的服務;(3)綁定:使服務請求者能夠真正使用服務提供者所提供的服務。

4 基于Web Services設計數字化校園

4.1 系統概述

整個系統旨在整個校園的不同部門機構,不同平臺,但與校園運作相關部門分布式協同處理業務,并實現系統跨平臺跨部門的無縫連接。在設計模式上,對于校園的規模沒有明確界限,可以通過Web服務進行高性價比的平臺集成,因而系統規模易于擴展。

數字化校園總體架構如圖2所示。

4.2 UDDI

4.2.1 UDDI概述

UDDI(Universal Description、Discovery and Integration) [1],是一套面向Web服務的信息注冊中心的實際標準和規范。創建UDDI注冊中心的目的是實現Web服務的發布和發現,可以利用UDDI規范在Web上建立和發現服務。簡單的說,Web服務是一種開發的規范,使得通過網絡可以對基于規范開發的各種應用進行調用、整合,從而在互聯網上完成更復雜的任務,UDDI就是Web服務的服務中介。目前,關于Web服務的幾個底層標準協議,業界已經基本達成共識,包括XML、SOAP、WSDL、UDDI等。

4.2.2 UDDI在Web服務中的位置

如圖3所示,UDDI包含于完整的Web 服務協議棧之內,是協議棧基礎的主要部件之一,服務提供者和服務請求者通過其來完成Web服務的創建、說明、發現和調用[2]。

由于UDDI的構建是基于網絡傳輸層和基于SOAP的XML消息傳輸層之上的。Web服務描述語言(Web Services Description Language,WSDL)為UDDI提供了統一的XML詞匯供描述Web服務及其接口使用。比如使用WSFL(Web Services Flow Language,Web服務流語言)的Web服務工作流描述以及安全性,管理和服務質量,解決系統的可靠性和可用性問題。

4.2.3 UDDI的商業注冊與UDDI商業注冊中心

UDDI的核心組件是UDDI商業注冊,它使用一個XML文檔來描述企業及其提供的Web服務。從概念上來說,UDDI商業注冊所提供的信息包含三個部分:“白頁(White Page)”,包括了地址,聯系方法,和已知的企業標識;“黃頁(Yellow page)”包括了基于標準分類法的行業類別;“綠頁(Green Page)”,則包括了關于該企業所提供的Web服務的技術信息,其形式可能是一些指向文件或是URL的指針,而這些文件或URL是為服務發現機制服務的。所有的UDDI商業注冊信息存儲在UDDI商業注冊中心中。以上3種信息,UDDI定義了4種核心數據結構類型加以描述,簡單介紹如下[3]。

(1)商業實體信息:businessEntity元素

在商業領域內,合作伙伴和潛在的合作伙伴都期望能準確地定位到商業實體所能提供的服務或產品的相關信息,并把這些信息作為了解企業的開始。而在技術領域,技術人員、程序員或應用程序都期望能知道他們需要集成的商業實體的名稱和一些關鍵性的標識,該商業實體是屬于哪個具體工業分類之類的分類信息,以及聯絡方法(包括Email、電話、URL)等。支持對UDDI商業注冊的商業信息發布和發現的核心XML元素都包含在\"businessEntity\"結構中。這個結構是商業實體專屬信息集的最高層的數據容器,位于整個信息結構的最上層。

(2)商業服務信息:businessService元素

businessService結構將一系列有關商業流程或分類目錄的Web 服務的描述組合到一起。businessService和下面要提到的bindingTemplate一起構成了“綠頁”信息。其中,一個可能的商業流程的例子是一組相關的Web服務信息,包括采購服務、運輸服務和其它的高層商業流程。這些服務都將是提供這些商業流程服務的商業實體所需要注冊的Web服務。

這些businessService的信息集合可以再次加以分類,使Web應用服務的描述可以按不同的行業、產品、服務類型或是地域劃分來進行。分類的方法的機制與businessEntity是類似的。

(3)技術綁定信息:bindingTemplate元素

對于每一個businessService,存在一個或多個Web服務的技術描述bindingTemplate。這些技術描述包括應用程序連接遠程Web服務并與之通訊所必須的信息。這些信息包括Web應用服務的地址、應用服務宿主和調用服務前必須調用的附加應用服務等。另外,通過附加的特性還可以實現一些復雜的路由選擇,諸如負載平衡等。

(4)元技術信息:tModel元素

調用一個服務所需要的信息是在bindingTemplate的結構中定義的。不過一般來說,僅知道Web服務所在的地址是不夠的。例如,如果知道合作伙伴提供一個Web服務來讓我下訂單,同時也知道這個服務的URL,不過如果不知道一些具體的信息,如訂單的具體格式,應該使用的協議,需要采用的安全機制,調用返回的響應格式等,那樣的話,通過Web服務將兩個系統集成起來仍然是非常困難的。

當一個程序需要調用某個特定的Web服務時,必須根據應用要求得到了足夠充分的調用規范等相關信息,以使調用被正確地執行。因此,每一個bindingTemplate元素都包含一個特殊的元素,該元素包含了一個列表,列表的每個子元素分別是一個調用規范的引用。這些引用作為一個標識符的雜湊集合 ,組成了類似指紋的技術標識,用來查找、識別實現了給定行為或編程接口的Web服務。

4.3 單點登錄

4.3.1單點登錄概述

單點登錄(Single Sign On),簡稱為SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是用戶只需進行一次登錄注冊,就可以訪問多個相互聯系的應用系統,而不必反復進行身份認證[4]。

4.3.2單點登錄設計

通過Web服務實現用戶身份驗證,驗證通過后將自動隨機生成ticket,并傳給用戶,當用戶訪問其他應用系統時,僅需對ticket進行合法性驗證。在這里,Web服務只需實現用戶登錄基本信息驗證、ticket生成、ticket合法性驗證這三個功能,就可以進行統一身份認證。單點登錄模型的體系結構如圖4所示[5]。

4.3.3單點登錄實現

服務器端在開發時所使用的操作系統為Windows Server2003,數據庫為SQL Server2000,在Eclipse開發環境下進行開發調試,使用Tomcat 5作為服務器,axis2作為SOAP 搜索引擎。當環境部署完成之后,進行應用程序的開發,將單點登錄系統以定制方式發布為 Web服務,成為服務提供者,為校園不同部門機構門戶提供服務。

4.4 CA認證中心

4.4.1 CA簡介

CA(Certificate Authority)[6]是數字證書認證中心的簡稱,是指發放、管理、廢除數字證書的機構。CA的作用是檢查證書持有者身份的合法性,并簽發證書(在證書上簽字),以防證書被偽造或篡改,以及對證書和密鑰進行管理[7]。

4.4.2公鑰體系結構中的一些基本概念與結構組成

(1)密鑰對

在基于公鑰體系的安全系統中,密鑰是成對生成的,每對密鑰由一個公鑰和一個私鑰組成。在實際應用中,私鑰由擁有者自己保存,而公鑰則需要公布于眾。為了使基于公鑰體系的業務能夠廣泛應用,一個基礎性關鍵的問題就是公鑰的分發與管理。

公鑰本身并沒有什么標記,僅從公鑰本身不能判別公鑰的主人是誰。

在很小的范圍內,比如A和B這樣的兩個小集體,他們之間相互信任,交換公鑰,在互聯網上通訊,沒有什么問題。這個集體再稍大一點,也許彼此信任也不成問題,但從法律角度講這種信任也是有問題的。如再大一點,信任問題就成了一個大問題。

(2)證書

互聯網絡的用戶群絕不是幾個人互相信任的小集體,在這個用戶群中,從法律角度講用戶彼此之間都不能輕易信任。所以公鑰加密體系采取了另一個辦法,將公鑰和公鑰的主人名字聯系在一起,再請一個大家都信得過有信譽的公正、權威機構確認,并加上這個權威機構的簽名,這就形成了證書。

由于證書上有權威機構的簽字,所以大家都認為證書上的內容是可信任的;又由于證書上有主人的名字等身份信息,別人就很容易地知道公鑰的主人是誰。

(3)CA

CA也擁有一個證書(內含公鑰),當然,它也有自己的私鑰,所以它有簽字的能力。網上的公眾用戶通過驗證CA的簽字從而信任CA,任何人都應該可以得到CA的證書(含公鑰),用以驗證它所簽發的證書。

如果用戶想得到一份屬于自己的證書,他應先向CA提出申請。在CA判明申請者的身份后,便為他分配一個公鑰,并且CA將該公鑰與申請者的身份信息綁在一起,并為之簽字后,便形成證書發給那個用戶(申請者)。

如果一個用戶想鑒別另一個證書的真偽,他就用CA的公鑰對那個證書上的簽字進行驗證(如前所述,CA簽字實際上是經過CA私鑰加密的信息,簽字驗證的過程還伴隨使用CA公鑰解密的過程),一經驗證通過,該證書就被認為是有效的。

CA除了簽發證書之外,它的另一個重要作用是證書和密鑰的管理。

由此可見,證書就是用戶在網上的電子個人身份證,同日常生活中使用的個人身份證作用一樣。CA相當于網上公安局,專門發放、驗證身份證。

4.4.3認證模塊的實現

(1)訪問控制的設計思想

用戶登錄系統時,客戶端和服務器端利用數字證書進行雙向認證,建立SSL連接,然后查詢數據庫,對用戶進行授權,并將權限集合保存在會話中。之后的交互中,用戶每次發出請求,系統都先進行權限判定的過濾,以實現對靜態資源(靜態HTML頁面、圖片資源等)與動態資源(JSP頁面、Servlet和Bean等)的細粒度的訪問控制,為系統的安全訪問提供有效保障。

(2)數字證書簽發工具

通過SWING技術開發簡易的證書制作工具生成根證書、簽署證書和導出公鑰證書等。

生成根證書的關鍵代碼如下:

//根據所給算法實例化密鑰對產生器

CertAndKeyGen keyPair=new

CertAndKeyGen(keyAlg,sigAlg);

//產生長度為keySize的密鑰對

keyPair.generate(keySize);

PrivateKey priKey=keyPair.getPrivateKey();

//根據所填信息,創建X500Name實例

X500Name x500Name:ereateX500Name();

//生成自簽名證書

X509 Certificate eert=keyPair.getSelfCertifieate

(x500Name,validity木24木60術60);

//設置證書鏈

X509Certifleate[]chain={cert};

ks.setKeyEntry(alias,priKey,keyPass,chain);

4.4.4配置SSL

修改IBMHttpServer/conf/httpd.conf文件,在最下面增加:

LoadModule ibm_ssl_module

modules/IBMModuleSSL128.dll

Listen 80

Listen 443

Keyfile F:/NEW/key.kdb

SSLDisable

SSLV2Timeout 100

SSLV3Timeout 1000

ServerName netsoft-4d52657

ServerName netsoft-4d52657

SSLEnable

SSLClientAuth optional

5 結束語

Web服務作為一種新興的技術,將各應用系統平臺進行了有效的無縫連接,并結合了單點登錄模型,構建了一個統一的用戶認證管理平臺,使用戶在各平臺間的轉換更為便捷。同時,也更方便了各個應用系統的管理。而CA認證的加入,更提高了系統的安全性和保密性。綜上,Web服務在校園網絡中的應用,無疑對數字化校園的構建起到了巨大的推動作用。

參考文獻

[1] 王曉虎,葉榮華.UDDI技術及其在校園網中的應用[J].計算機工程與科學,2006,28(6):30-35.

[2] 沈伯青,楊宗凱.Web服務的基石:UDDI技術[J].計算機工程與應用,2003(3):147-183.

[3] 芮雄健,王忠民. UDDI的原理與實現[J].計算機工程與設計,2005,26(6):1602-1605.

[4] 賈宗星,董麗麗.基于Web Services單點登錄系統的設計與實現[J].計算機時代,2006(9):62-64.

[5] 李朝峰,江濤.基于Web Services技術的單點登錄模型的研究與設計[J].民營科技,2009(8):23-23.

[6] 江為強,楊義先,黃正全.基于J2EE體系結構的CA認證系統的研究[J].武漢理工大學學報,2008,30(2):105-109.

[7] 胡喜玲.數字認證服務在校園網上的應用[J].微計算機應用,2004,25(3):308-311.

主站蜘蛛池模板: 欧洲一区二区三区无码| 欧美中文字幕在线播放| 性色生活片在线观看| 91视频99| 99久久精品国产精品亚洲| 亚洲男人的天堂久久香蕉| 久久精品国产亚洲AV忘忧草18| 久久精品国产电影| 欧美黑人欧美精品刺激| 制服丝袜亚洲| 国产亚洲欧美在线专区| 狠狠亚洲五月天| 美女被操91视频| 久久激情影院| 国产精品99久久久久久董美香| 国产精品偷伦视频免费观看国产 | 国内自拍久第一页| 久久精品日日躁夜夜躁欧美| 日韩无码视频专区| 特级欧美视频aaaaaa| 99久久人妻精品免费二区| 国产精品亚洲综合久久小说| 亚洲一区二区成人| 国产精品亚洲αv天堂无码| 欧美在线观看不卡| 亚洲色图综合在线| 国内精品自在自线视频香蕉| 欧美日韩国产在线人| 激情综合图区| 久久永久精品免费视频| 国产剧情国内精品原创| 成人午夜亚洲影视在线观看| 热思思久久免费视频| 国内精品九九久久久精品| 麻豆国产精品一二三在线观看| 欧美精品亚洲精品日韩专| 伊人久久精品无码麻豆精品| 国产一区二区三区精品欧美日韩| 人人艹人人爽| 中国特黄美女一级视频| 狠狠做深爱婷婷综合一区| 无码中文字幕精品推荐| 性激烈欧美三级在线播放| 黄色网页在线观看| 亚洲国产高清精品线久久| 九九久久99精品| 少妇露出福利视频| 亚洲精品麻豆| 免费在线一区| 亚洲精品麻豆| 最新精品国偷自产在线| 88av在线看| 欧美成人午夜视频免看| 精品无码日韩国产不卡av| 国产在线自在拍91精品黑人| 91精品情国产情侣高潮对白蜜| 免费无码AV片在线观看国产| 毛片网站在线看| 亚洲综合婷婷激情| 国产在线精品美女观看| 亚洲成网777777国产精品| 国产毛片基地| 女人天堂av免费| 欧美97色| 久久伊人操| 一级毛片不卡片免费观看| 欧美人在线一区二区三区| 在线99视频| 国产清纯在线一区二区WWW| 青青青草国产| 91色老久久精品偷偷蜜臀| 青青青伊人色综合久久| 日本高清免费一本在线观看 | 亚洲国产一区在线观看| 91视频99| 国产自在线拍| 免费人欧美成又黄又爽的视频| 中国一级毛片免费观看| 国产一区二区网站| 欧美国产日韩在线观看| 免费观看精品视频999| 亚洲中文字幕久久精品无码一区 |