摘要:在電子政務(wù)系統(tǒng)建設(shè)中,通過(guò)應(yīng)用集成建立服務(wù)聯(lián)盟的需求越來(lái)越多。利用Web服務(wù)(Web Service)技術(shù)可以實(shí)現(xiàn)自治系統(tǒng)的應(yīng)用耦合。文章首先說(shuō)明了異地職業(yè)介紹的業(yè)務(wù)背景;在此基礎(chǔ)上,提出了面向異地職業(yè)介紹業(yè)務(wù)的新型系統(tǒng)架構(gòu)。這種架構(gòu)基于Web服務(wù)技術(shù)實(shí)現(xiàn),并采用標(biāo)準(zhǔn)的數(shù)據(jù)交換格式;最后給出了基于該架構(gòu)的一個(gè)示范平臺(tái)的應(yīng)用實(shí)施情況。實(shí)踐證明這種架構(gòu)是可行的,并具有一定的技術(shù)先進(jìn)性。
關(guān)鍵詞:Web服務(wù);異地職業(yè)介紹;勞動(dòng)力市場(chǎng);平臺(tái)
引言
當(dāng)前,就業(yè)問(wèn)題正在成為一個(gè)全局性的經(jīng)濟(jì)問(wèn)題和社會(huì)問(wèn)題。分析整個(gè)勞動(dòng)力市場(chǎng)的結(jié)構(gòu)特征,可以發(fā)現(xiàn)當(dāng)前勞動(dòng)力市場(chǎng)真正缺乏的不是就業(yè)機(jī)會(huì),而是對(duì)崗位信息和求職信息的收集和傳遞(發(fā)布)。在一個(gè)人口流動(dòng)日益加劇、跨地區(qū)交流日益頻繁的現(xiàn)代社會(huì),突破地區(qū)障礙、實(shí)現(xiàn)相關(guān)信息的及時(shí)和自由流動(dòng)已成當(dāng)務(wù)之急。
國(guó)家電子政務(wù)的總體建設(shè)目標(biāo)是以數(shù)據(jù)獲取和整合為核心的。但是,各地政府就業(yè)管理機(jī)構(gòu)的信息化建設(shè)都從本地出發(fā),以滿足本地政府的再就業(yè)支持服務(wù)為目標(biāo),軟件的設(shè)計(jì)和開(kāi)發(fā)往往各自為政,結(jié)果各個(gè)系統(tǒng)體系結(jié)構(gòu)不同、平臺(tái)不同和數(shù)據(jù)格式不同,形成了一個(gè)個(gè)信息孤島。
Web服務(wù)(Web Services)是一種基于標(biāo)準(zhǔn)的應(yīng)用集成方式,它可以將運(yùn)行在不同平臺(tái)和框架上的應(yīng)用集成在一起。同傳統(tǒng)的分布式模型相比,Web服務(wù)體系的主要優(yōu)勢(shì)在于:①協(xié)議的通用性。Web服務(wù)技術(shù)利用標(biāo)準(zhǔn)的Internet協(xié)議,解決了面向Web的分布式計(jì)算。②完全的平臺(tái)、語(yǔ)言獨(dú)立性。Web服務(wù)技術(shù)進(jìn)行了更高程度的抽象,只要遵守Web服務(wù)的接口即可進(jìn)行服務(wù)的發(fā)布請(qǐng)求與調(diào)用。
與Web服務(wù)有關(guān)的操作主要有以下三種。①發(fā)布:服務(wù)提供者需要首先將服務(wù)進(jìn)行一定描述并發(fā)布到注冊(cè)服務(wù)器上。②查找:服務(wù)請(qǐng)求方根據(jù)注冊(cè)服務(wù)器提供的規(guī)范接口發(fā)出查詢請(qǐng)求,以獲取綁定服務(wù)所需的相關(guān)信息。③綁定(Binding):服務(wù)請(qǐng)求方通過(guò)分析從注冊(cè)服務(wù)器中得到的服務(wù)綁定信息,包括服務(wù)的訪問(wèn)路徑、服務(wù)調(diào)用的參數(shù)、返回結(jié)果、傳輸協(xié)議、安全要求等。
Web服務(wù)以技術(shù)棧的形式規(guī)范了Web服務(wù)體系中的各類關(guān)鍵技術(shù),包括服務(wù)的描述、發(fā)布、發(fā)現(xiàn)以及消息的傳輸?shù)?。其中,SOAP(Simple Object Access Protocol:簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)定義了服務(wù)請(qǐng)求者和服務(wù)提供者之間的消息傳輸規(guī)范;WSDL(Web Service Description Language:Web服務(wù)描述語(yǔ)言)為服務(wù)提供者提供以XML格式描述Web服務(wù)請(qǐng)求的標(biāo)準(zhǔn)格式,以表達(dá)一個(gè)Web服務(wù)能做什么,它的位置在哪里,如何調(diào)用它等;UDDI(Universal Description Discovery,and Integration:統(tǒng)一描述、發(fā)現(xiàn)和集成)是Web服務(wù)的信息注冊(cè)規(guī)范,以使需要服務(wù)的用戶發(fā)現(xiàn)和使用服務(wù)。
仔細(xì)分析Web服務(wù)的技術(shù)特征,可以發(fā)現(xiàn)Web服務(wù)技術(shù)作為電子政務(wù)服務(wù)架構(gòu)的關(guān)鍵技術(shù)之一,能夠很好地實(shí)現(xiàn)異地職業(yè)介紹系統(tǒng)的應(yīng)用交互,從而可以利用它構(gòu)建跨地區(qū)勞動(dòng)力市場(chǎng)服務(wù)聯(lián)盟。
1、基于Web服務(wù)的異地職業(yè)介紹服務(wù)平臺(tái)架構(gòu)
利用Web服務(wù)技術(shù)建立異地職業(yè)介紹服務(wù)平臺(tái)能夠?qū)崿F(xiàn)各個(gè)已有自治系統(tǒng)的應(yīng)用級(jí)松散耦合。其主要策略是:
(1)在已有的各個(gè)基層信息系統(tǒng)之上,建立可以對(duì)外提供面向業(yè)務(wù)的Web服務(wù)。服務(wù)可以重用已有系統(tǒng)的業(yè)務(wù)邏輯,并基于本地?cái)?shù)據(jù)庫(kù)實(shí)現(xiàn)。
(2)提供外部訪問(wèn)控制,包括可訪問(wèn)的服務(wù)控制和數(shù)據(jù)控制。接入用戶只能訪問(wèn)授予其權(quán)限的服務(wù)和數(shù)據(jù)。
(3)業(yè)務(wù)調(diào)用端通過(guò)UDDI目錄輪詢?cè)L問(wèn)。綁定和調(diào)用相關(guān)服務(wù)。
(4)服務(wù)端基于J2EE架構(gòu)或者,NET架構(gòu)實(shí)現(xiàn)Web服務(wù),并使用本地策略控制訪問(wèn)權(quán)限。
(5)在業(yè)務(wù)專網(wǎng)內(nèi),實(shí)現(xiàn)系統(tǒng)互聯(lián)。如果需要對(duì)外提供公共服務(wù),則通過(guò)建立DMZ區(qū),實(shí)現(xiàn)公網(wǎng)和專網(wǎng)分離。在公網(wǎng)環(huán)境下,可以建立虛擬組織聯(lián)盟,并通過(guò)因特網(wǎng)網(wǎng)站對(duì)外實(shí)現(xiàn)跨平臺(tái)業(yè)務(wù)支持服務(wù)。
這種業(yè)務(wù)模式,有以下優(yōu)點(diǎn):
(1)直接實(shí)現(xiàn)系統(tǒng)到系統(tǒng)的應(yīng)用交互,無(wú)須集中式控制,系統(tǒng)構(gòu)建更加靈活便利。
(2)服務(wù)端可以根據(jù)需要自由定義服務(wù)發(fā)布的范圍和訪問(wèn)權(quán)限。例如,可以逐個(gè)定義可跨地區(qū)發(fā)布的招聘崗位。
(3)實(shí)現(xiàn)實(shí)時(shí)操作,無(wú)須人工干預(yù)。
為了實(shí)現(xiàn)統(tǒng)一的Web服務(wù)請(qǐng)求和響應(yīng),本文所提出的平臺(tái)提供了一個(gè)統(tǒng)一的Web服務(wù)代理器,代理所有對(duì)Web服務(wù)的請(qǐng)求和響應(yīng)。另外,鑒于接入平臺(tái)的各個(gè)異地?cái)?shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)結(jié)構(gòu)的不同,平臺(tái)同時(shí)提供了一個(gè)動(dòng)態(tài)數(shù)據(jù)操作轉(zhuǎn)換平臺(tái),經(jīng)過(guò)對(duì)數(shù)據(jù)操作轉(zhuǎn)換的設(shè)置,可以實(shí)現(xiàn)動(dòng)態(tài)的數(shù)據(jù)互操作。
任何對(duì)外部Web服務(wù)請(qǐng)求的響應(yīng),必須通過(guò)統(tǒng)一的身份認(rèn)證和權(quán)限控制。權(quán)限劃分為功能權(quán)限和數(shù)據(jù)權(quán)限,其中功能權(quán)限細(xì)化到不可再分割的原子功能,數(shù)據(jù)權(quán)限則以數(shù)據(jù)庫(kù)記錄為最小控制單元。
平臺(tái)的邏輯層分為數(shù)據(jù)邏輯和業(yè)務(wù)邏輯兩層。對(duì)本地遺留系統(tǒng)的交互限制在動(dòng)態(tài)數(shù)據(jù)轉(zhuǎn)換平臺(tái)控制的數(shù)據(jù)邏輯層中,從而便于提供產(chǎn)品的可擴(kuò)展性。
整個(gè)平臺(tái)的Web服務(wù)基礎(chǔ)框架基于Apache Axis,前端使用瀏覽器。服務(wù)端支持Oracle和Sybase數(shù)據(jù)庫(kù),或其他提供JDBC接口的關(guān)系型數(shù)據(jù)庫(kù),
平臺(tái)提供了19個(gè)業(yè)務(wù)類型的Web服務(wù),包括:ab01list(根據(jù)條件返回單位信息若干條)、b01detail(返回指定單位的詳細(xì)信息)、cb20list(根據(jù)條件返回崗位信息若干條)、cb20detail(返回指定崗位的詳細(xì)信息)、ac01list(根據(jù)條件返回人員基本信息若干條)、ac01detail(返回指定人員的詳細(xì)信息)、cc20list(根據(jù)條件返回求職信息若干條)、cc20detail(返回指定求職記錄的詳細(xì)信息)、cc02list(根據(jù)條件返回失業(yè)信息若干條)、cc02detail(返回指定失業(yè)人員的詳細(xì)信息)、findsq1(根據(jù)指定的id查找sql語(yǔ)句)、getCountAB01(根據(jù)條件返回單位信息記錄數(shù))、getCountAC01(根據(jù)條件返回人員信息記錄數(shù))、getCountCB20(根據(jù)條件返回崗位信息記錄數(shù))、getCountCC02(根據(jù)條件返回失業(yè)信息記錄數(shù))、getCountCC20(根據(jù)條件返回求職信息記錄數(shù))、exesql(實(shí)現(xiàn)異地推薦就業(yè)功能)、cb20cc20list(異地推薦表查詢)、cb20cc20detail(異地推薦表詳細(xì)信息)。
2、Web服務(wù)請(qǐng)求和響應(yīng)
為了實(shí)現(xiàn)統(tǒng)一的Web服務(wù)請(qǐng)求和響應(yīng),系統(tǒng)提供了一個(gè)統(tǒng)一的WCP服務(wù)代理器,代理所有對(duì)Web服務(wù)的請(qǐng)求和響應(yīng)。
在請(qǐng)求某個(gè)Web服務(wù)時(shí),系統(tǒng)通過(guò)Web服務(wù)代理器輪詢各個(gè)Web服務(wù)提供者,得到他們的響應(yīng)。具體地講,首先連接UDDI注冊(cè)服務(wù)器,然后發(fā)現(xiàn)服務(wù)提供者,最后綁定提供者。在得到對(duì)請(qǐng)求的Web服務(wù)的響應(yīng)時(shí),如果該操作需要對(duì)本地?cái)?shù)據(jù)庫(kù)進(jìn)行更改,則還必須通過(guò)兩階段提交協(xié)議實(shí)現(xiàn)分布式處理的事務(wù)完整性控制。
在響應(yīng)外部某個(gè)Web服務(wù)請(qǐng)求時(shí),系統(tǒng)首先進(jìn)行身份認(rèn)證,然后判斷該用戶的權(quán)限。如果系統(tǒng)判定可以響應(yīng)該請(qǐng)求時(shí),執(zhí)行相應(yīng)的邏輯操作,并通過(guò)對(duì)數(shù)據(jù)的過(guò)濾操作(由權(quán)限控制完成),返回執(zhí)行結(jié)果。
由于本項(xiàng)目開(kāi)發(fā)的產(chǎn)品并不替代各地已有的本地就業(yè)信息系統(tǒng),只是在遺留系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)應(yīng)用系統(tǒng)的集成,所以必須實(shí)現(xiàn)與各地?cái)?shù)據(jù)庫(kù)系統(tǒng)的連接。鑒于現(xiàn)實(shí)中的用戶數(shù)據(jù)庫(kù)系統(tǒng)可能有很大的不同,系統(tǒng)提供了一個(gè)動(dòng)態(tài)數(shù)據(jù)操作轉(zhuǎn)換平臺(tái),經(jīng)過(guò)對(duì)數(shù)據(jù)操作轉(zhuǎn)換的設(shè)置,可以實(shí)現(xiàn)動(dòng)態(tài)的數(shù)據(jù)互操作。
3、系統(tǒng)實(shí)施
目前,在全國(guó)各地,特別是沿海地區(qū),已經(jīng)普遍建立了各自的職業(yè)介紹信息系統(tǒng)。其基本特點(diǎn)是各地?fù)碛歇?dú)立的共享數(shù)據(jù)庫(kù),建立了相應(yīng)的局域網(wǎng),甚至是覆蓋本地區(qū)的廣域網(wǎng)。通過(guò)該系統(tǒng),可以實(shí)現(xiàn)本地范圍內(nèi)的職業(yè)介紹服務(wù),包括求職登記、招聘登記、崗位匹配等。但是,各地系統(tǒng)的技術(shù)框架千差萬(wàn)別(如J2EE、.NET等),數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一。
基于Web服務(wù)技術(shù)實(shí)現(xiàn)異地職業(yè)介紹服務(wù)平臺(tái)已經(jīng)得到了成功實(shí)施。圖1是基于該平臺(tái)系統(tǒng)構(gòu)建浙江省大杭州地區(qū)(八區(qū)三市二縣)職業(yè)介紹服務(wù)聯(lián)盟的應(yīng)用示意。大杭州地區(qū)各個(gè)郊縣/市也都已經(jīng)建成了獨(dú)立的職業(yè)介紹信息系統(tǒng),但所用數(shù)據(jù)庫(kù)(Oracle或者Sybase)和應(yīng)用程序(PB程序或者J2EE應(yīng)用程序)不同,應(yīng)用水平也參差不齊。
如圖1所示,大杭州區(qū)域內(nèi)部的各個(gè)職業(yè)介紹系統(tǒng)通過(guò)政府專網(wǎng)實(shí)現(xiàn)網(wǎng)絡(luò)互連,在此基礎(chǔ)上建立區(qū)域?qū)S肬DDI服務(wù)器,作為區(qū)域內(nèi)部各地核心服務(wù)的注冊(cè)服務(wù)器。區(qū)域內(nèi)部任意一地(蕭山區(qū)、富陽(yáng)市、桐廬縣)如要獲取異地服務(wù),只要先從UDDI服務(wù)器中獲取該項(xiàng)服務(wù)的注冊(cè)信息,然后通過(guò)服務(wù)綁定技術(shù)直接連接至實(shí)現(xiàn)該項(xiàng)服務(wù)的異地系統(tǒng),最后實(shí)現(xiàn)異地服務(wù)調(diào)用,所有這些過(guò)程,對(duì)于最終用戶是完全透明的,無(wú)須知道該項(xiàng)服務(wù)在何處、用何種方式實(shí)現(xiàn)。當(dāng)然,要完成這些功能的前提是異地系統(tǒng)必須事先在區(qū)域?qū)S肬DDI服務(wù)器中注冊(cè)可以在區(qū)域內(nèi)公開(kāi)的服務(wù),并且通過(guò)安全驗(yàn)證。
圖2為界面示意。在該界面上,可以查詢到不同地區(qū)(如杭州、蕭山)的崗位信息(如崗位名稱、年齡要求、招聘對(duì)象、招聘人數(shù)、有效期限等)。
4、結(jié)束語(yǔ)
Web服務(wù)技術(shù)正在蓬勃發(fā)展,它特別適合于自治系統(tǒng)之間松散的應(yīng)用耦合。由于我國(guó)分級(jí)財(cái)政的特點(diǎn),電子政務(wù)建設(shè)中的信息系統(tǒng)往往是分布和獨(dú)立的。對(duì)于這類系統(tǒng)之間服務(wù)業(yè)務(wù)的互聯(lián),通過(guò)從上到下的行政命令實(shí)現(xiàn)應(yīng)用耦合往往比較困難,在這樣的背景下,實(shí)現(xiàn)系統(tǒng)之間的橫向協(xié)調(diào)更有現(xiàn)實(shí)意義。
利用Web服務(wù)技術(shù)可實(shí)現(xiàn)跨地區(qū)職業(yè)介紹服務(wù)聯(lián)盟。在這個(gè)過(guò)程中,需要解決數(shù)據(jù)標(biāo)準(zhǔn)、分布式事務(wù)控制、安全性等問(wèn)題。一個(gè)理想的應(yīng)用場(chǎng)景是:一個(gè)求職者可以通過(guò)單個(gè)人力資源門戶網(wǎng)站,一次性地、自動(dòng)和透明地獲取區(qū)域范圍內(nèi)許多專業(yè)網(wǎng)站的崗位信息。