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

如圖1所示,大杭州區域內部的各個職業介紹系統通過政府專網實現網絡互連,在此基礎上建立區域專用UDDI服務器,作為區域內部各地核心服務的注冊服務器。區域內部任意一地(蕭山區、富陽市、桐廬縣)如要獲取異地服務,只要先從UDDI服務器中獲取該項服務的注冊信息,然后通過服務綁定技術直接連接至實現該項服務的異地系統,最后實現異地服務調用,所有這些過程,對于最終用戶是完全透明的,無須知道該項服務在何處、用何種方式實現。當然,要完成這些功能的前提是異地系統必須事先在區域專用UDDI服務器中注冊可以在區域內公開的服務,并且通過安全驗證。

圖2為界面示意。在該界面上,可以查詢到不同地區(如杭州、蕭山)的崗位信息(如崗位名稱、年齡要求、招聘對象、招聘人數、有效期限等)。
4、結束語
Web服務技術正在蓬勃發展,它特別適合于自治系統之間松散的應用耦合。由于我國分級財政的特點,電子政務建設中的信息系統往往是分布和獨立的。對于這類系統之間服務業務的互聯,通過從上到下的行政命令實現應用耦合往往比較困難,在這樣的背景下,實現系統之間的橫向協調更有現實意義。
利用Web服務技術可實現跨地區職業介紹服務聯盟。在這個過程中,需要解決數據標準、分布式事務控制、安全性等問題。一個理想的應用場景是:一個求職者可以通過單個人力資源門戶網站,一次性地、自動和透明地獲取區域范圍內許多專業網站的崗位信息。