摘 要:針對當前房產信息系統結構復雜、技術多樣,存在應用程序分散,異構難以集成等問題,在此通過對房產業務管理系統進行分析研究,并結合SOA技術及其體系架構,提出基于SOA架構和Java Web服務的房產管理信息系統應用模型和解決方案,該模型采用基于MVC開發框架的B/S服務模式,實現一個能提供多種服務的房產信息系統,為實現構建數字化房產交易管理平臺提供了解決方案。
關鍵詞:SOA;Web Service;房產信息系統;軟件架構
中圖分類號:TP311文獻標識碼:B
文章編號:1004-373X(2010)06-067-04
Research and Application of Real Estate Information System Based on SOA
HUANG Jianrong,GUO Changyan,YU Xiaorong
(School of Computer Science and Engineering,Jiangsu University of Science and Technology,Zhenjiang,212003,China)
Abstract: To solve the integration and interactive problems exited in the current real estate information system which has a complex structure,diversity technology and heterogeneous distributed applications,application model and solution of house property management information system based on Java Web service and service-oriented architecture after carrying out analysis of research on the real estate information system combined with SOA technology and its architecture are proposed.As a B/S service model builds onthe MVC-based development framework,it provides the ways by which a range of services available in the real estate information system,and also a solution for the construction of digital real estate transaction management platform are realized.
Keywords:SOA;Web Service;real estate information system;software framework
0 引 言
數字房產是房產管理信息系統發展的最新階段,現代計算機技術、通信技術的快速發展和房產權屬登記管理辦法規定的出臺,構建符合現代規范管理、信息共享、技術先進的房產信息一體化建設管理平臺,是當前我國房產信息系統建設的主要任務。新型SOA軟件架構系統,是建立在“面向服務”的理念上的整合體系,使得企業應用擺脫面向技術的解決方案的束縛,輕松應對商業服務變化、發展的需要。通過SOA開發方法和實現模式,能夠有效地對房產信息系統內部各個子系統進行集成和維護,為各子系統提供通用的、不依賴于技術平臺的接口調用,有助于進行軟件復用和提高軟件開發效率;利用SOA平臺無關的相互通信技術,以房產信息為核心,將原有舊的系統和不同技術所開發的子系統,如測繪子系統,GIS系統,網上備案系統,權屬登記系統等信息孤島納入進來,最大限度地集成和利用各類房產信息資源,形成以業務管理為核心,信息一體化的數字房產構建模式,全方位地改善了城市規劃、建設和管理的技術手段和信息基礎。
1 SOA技術及體系架構
SOA是基于服務的分布式系統設計框架[1](見圖1)。具備以下幾個特點:
(l)松散耦合:通過接口中立將分布計算中的參與者隔離開來,交互兩邊某一方的改動并不會影響到另一方。
(2) 互操作性:基于標準,提供了不同廠商解決方案之間的互操作性,可以通過多種技術實現。
(3) 位置透明:SOA通過“發布/檢索”機制提供位置透明性,即服務請求者無需知道服務提供者的實際位置。
SOA著眼于與業務流程結合,強調以業務為中心,以應用所提供的標準服務為集成點,在其上層通過服務總線完成數據服務、業務流程服務以及事務管理等功能,能夠隨著業務需求的變化不斷演進。SOA的部署目前存在四種主要模式:一是,將遺留系統現代化,使其具有集成服務功能;二是,把整個企業系統服務化,構建企業服務平臺; 三是,對業務進行匯總,作為數據信息整合的一部分;四是,優化業務流程,使業務流程能夠跨企業進行交流。簡而言之,SOA模式由分離的企業服務總線(Enterprise Service Bus,ESB)組成,該總線可以連接請求者和提供者,并在它們之間提供交互的服務。ESB 使用服務注冊中心和存儲庫組件作為動態查找機制,以提供關于服務端點的信息。
圖1 SOA參考體系架構
2 關鍵技術
Web Service是一種基于XML的標準化的服務組件,Web Service本質上是要以標準化的方式實現企業內外各個不同服務系統之間的互調或者集成。Web Service基于面向服務的體系結構,定義了應用程序如何在Web上實現互操作性,該技術主要包括HTTP,WSDL,XML,SOAP,UDDI等技術。
Web Service主要有三個組成部分(見圖2):WSDL,SOAP和UDDI。WSDL(Web Service Description Language)的主要目的在于Web Service的提供者將自己的Web服務的所有相關內容,如所提供的服務的傳輸方式、服務方法接口、接口參數、服務路徑等,生成相應的完全文檔,發布給使用者;SOAP是Web Service的標準通信協議,是一種標準化XML格式的傳輸消息,雙方通過交換SOAP消息實現互操作;UDDI(Universal Description,Discovery and Integration)是一種創建注冊服務的規范,以便大家將自己的Web Service進行注冊發布供使用者查找。Web Service技術實現了服務接口的傳輸和調用的標準化,服務接口和服務實現的分離,以及Web服務組件的可重用性。
圖2 Web Service體系結構
Web Services的運行模式:服務提供者開發一個通過網絡可以被訪問的服務,然后將服務描述注冊到服務注冊中心或發布給服務請求者;服務請求者通過查找本地或服務注冊中心的服務描述,選擇所需的服務進行綁定,通過綁定后,服務提供者就可把結果返回給服務請求者,從而實現信息交互[2]。
3 基于SOA的房產信息系統設計模式
3.1 房產信息系統的SOA模型
房產信息一體化平臺主要由四個系統組成:基礎測繪子系統,GIS地理信息系統,網上備案系統和房產權屬登記綜合業務系統;各系統的開發技術和數據構成有著很大的差異,子系統下有各自的功能項目。在SOA下,通過Web Service將所有的子系統進行統一標準的接口封裝,實現信息交互,使各個子系統成為既相互獨立,又相互協調統一的整體;根據SOA設計模式,以房產權屬登記業務為中心,建立適合房產管理業務流程的信息平臺,以應用所提供的標準服務為集成點,在其上層通過服務總線完成數據服務、業務流程服務以及事務管理等功能,能夠隨著業務需求的變化不斷演進。系統大體設計方案和層次模型如圖3所示。
圖3 基于SOA的房產信息系統設計模型
系統以Web Service方式提供服務接口,由整合了Spring framework的當前較為流行的Xfire框架實現服務的綁定和發布。信息介質層采用Oracle 11G數據庫,數據持久層采用Hibernate技術,這是一種獨立于數據庫的符合Java習慣的關系數據庫持久化技術,而且對于不同的數據庫類型,Hibernate都能以同樣的UI接口向上層應用提供數據訪問服務。這樣就大大提高了系統的可移植性,服務層不僅對上一層提供Java接口,同時對于一些核心的業務,也提供Web服務接口,提高系統的易集成性。平臺在表現層上采用Struts技術來實現經典的MVC模式。Struts是一個基于Sun J2EE平臺的MVC框架,它把Servlet、JSP、自定義標簽和信息資源(Message Resources)整合到一個統一的框架中,開發人員利用其進行開發時,不用自己編碼實現全套MVC模式,從而極大地節省了時間,滿足了敏捷開發的需求。
3.2 系統總體框架設計
SOA包括三個關鍵層次:信息、服務和流程[4]。信息位于最底層,通常指的是支撐企業IT系統運行的各類數據,信息可以被操作,操作的執行過程通常伴隨著讀/寫或者修改一個或者多個持久性數據,并且強調整個過程的事務性。服務位于信息之上,是相關操作的邏輯分組。流程位于服務之上,它是為了實現企業特定的業務目標而執行的一組動作或活動,而動作或活動通常是企業發布的一些服務。所以,流程又可以看作是為完成特定業務目標而組合、編排在一起的一系列服務。
根據SOA對業務進行功能劃分和服務抽象,在業務流程中進行服務組件的裝配,采用自頂向下方法對業務領域進行拆解,業務流程由活動、子流程、流程組進行各層模型構建和服務發布。房產信息系統主體結構如圖4所示。
圖4 房產信息系統主體結構
根據業務需求,將房產信息系統分成以下大的服務功能模塊:查勘管理、業務管理、審核管理、質檢管理、收費管理、繕證管理、發證管理、檔案管理、統計分析、GIS系統、系統設置。
其中業務管理是系統的核心功能模塊,主要包括:房屋初始登記的增加、修改和刪除,房屋轉移登記的增加、修改和刪除,房屋變更的增加、修改和刪除,房屋注銷登記的增加、編輯和刪除以及房屋、樓盤信息的導入、登記材料收件登記和移交等;查勘管理主要有:樓盤和房屋的生成、拆分、合并及信息修改和刪除,房屋查勘受理和登記,查勘審核等;檔案管理主要包括:材料移交、材料接收、材料歸檔、檔案校正、產權公示等。
3.3 具體實現
服務設計和服務資源是整個系統平臺的核心,CXF是一個開放源代碼框架,提供了用于方便構建和開發 Web 服務的可靠基礎架構。它允許創建高性能和可擴展的服務,可以將服務部署在 Tomcat 和基于 Spring 的輕量級容器中,以及部署在更高級的服務器上。
該系統的開發平臺為Eclipse,采用Xifre框架技術進行服務開發、部署和運行,業務表現層使用Struts框架技術,很好地體現了MVC開發模式。下面通過JAX-WS 前端構建樓盤房屋信息Web服務為例展示該系統服務開發過程:
(1) 樓盤信息服務WSDL。
根據業務流程創建WDSL文件并由WSDL自動生成Java服務器端的接口,WSDL由服務目標空間和命名空間、輸入/輸出變量定義、請求和相應消息定義、接口定義和接口操作、定義傳輸協議綁定和服務定義組成。
(3) 服務配置發布和客戶端實現。
通過web.xml加載CXF必要的配置文件已經Spring配置加載來完成以上必須的服務器端組件的開發,然后就可以通過開發相應的客戶端程序來完成服務的調用。
4 結 語
SOA解決了異構系統之間進行交換通信的能力,擺脫面向技術的解決方案的束縛。SOA的優勢在于把以應用為中心轉移到以服務為中心,更加精確地表示業務模型和支持業務流程,并有效的整合遺留系統和裝配新的系統。這里探討了基于SOA框架體系建立數字信息一體化房產信息系統的設計方法和應用研究,實現房產業務登記辦公自動化、產籍管理信息化和綜合圖文數據管理的規范化;為建設新一代數字房產系統提供了一個很好的解決方案和參考價值,同時對應用SOA技術開發新一代軟件系統的必要性、可行性、開發效率和實施辦法進行了實際的研究,對相關領域的研究具有參考價值。
參考文獻
[1]梁愛虎.SOA思想、技術與系統集成應用詳解[M].北京:電子工業出版社,2007.
[2]陸莉莉,季一木.基于SOA 的OA 系統設計方案研究[J].江蘇通信技術,2007,23(3):14-16.
[3]馮健文.基于SOA和OSS的ERP系統的設計與實現[J].現代計算機,2008(5):105-106,128.
[4]毛新生,金戈.SOA原理#8226;方法#8226;實踐[M].北京:電子工業出版社,2007.
[5]袁瑩,邊馥苓.基于權屬對象的數字房產系統研究與實現[J].測繪科學,2008,33(3):156-157.
[6]王紫瑤,南俊杰.SOA核心技術及應用[M].北京:電子工業出版社,2008.
[7]Mark D Hansen.使用Java Web服務構建SOA[M].成寶棟,譯.北京:電子工業出版社,2009.
[8]吳廷焰,劉衛國.基于SOA的教務管理系統的研究與實現[J].電腦知識與技術,2009(7):1 600-1 603.
[9]陳應東,崔鐵軍,盧戰偉.基于SOA的空間信息服務架構模式[J].地理信息世界,2008(6):49-52.