亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎設(shè)計(jì)與實(shí)現(xiàn)

        2018-07-25 11:22:12許雪松郭丹丹王雨辰康燕燕
        關(guān)鍵詞:數(shù)據(jù)庫(kù)服務(wù)模型

        許雪松 王 崢 郭丹丹 王雨辰* 康燕燕

        1(航天科工智慧產(chǎn)業(yè)發(fā)展有限公司 北京 100854) 2(國(guó)家開發(fā)銀行北京市分行 北京 100031) 3(北京市西城區(qū)規(guī)劃管理信息中心 北京 100035)

        0 引 言

        在信息化快速發(fā)展的今天,數(shù)據(jù)打通和共享是[1-3]長(zhǎng)期困擾政府和企業(yè)的一道難題,其中,部門內(nèi)部數(shù)據(jù)碎片化、多源化及數(shù)據(jù)結(jié)構(gòu)差異大等問(wèn)題,導(dǎo)致大數(shù)據(jù)資源很難互聯(lián)互通、共享以及最大化地被挖掘和利用[3]。當(dāng)前我國(guó)各級(jí)政府政務(wù)信息系統(tǒng)建設(shè)面臨著“各自為政、條塊分割、煙囪林立”的突出問(wèn)題,因此,政務(wù)公共數(shù)據(jù)共享開放具有一定困難。

        本文的動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎是面向政府或企業(yè)信息化建設(shè)過(guò)程中解決數(shù)據(jù)統(tǒng)一發(fā)布與共享問(wèn)題,特別是在當(dāng)下智慧城市建設(shè)場(chǎng)景下尤為突出,其首要任務(wù)就是實(shí)現(xiàn)公共數(shù)據(jù)統(tǒng)一共享。本文中動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎的作用是建立數(shù)據(jù)庫(kù)系統(tǒng)統(tǒng)一服務(wù)發(fā)布和接口管理視圖,將所有與數(shù)據(jù)庫(kù)相關(guān)操作(增、刪、改、查)都通過(guò)服務(wù)一個(gè)接口來(lái)完成[4]。在信息化進(jìn)程中會(huì)有很多不同的業(yè)務(wù)部門,這些部門都建立了自己的業(yè)務(wù)系統(tǒng)和數(shù)據(jù)庫(kù),而這些數(shù)據(jù)庫(kù)則形成一個(gè)個(gè)“信息孤島”[4-5]。要想達(dá)到數(shù)據(jù)全面共享的狀態(tài),首先需要連接這些數(shù)據(jù)庫(kù),然后對(duì)外提供一個(gè)統(tǒng)一的、透明的數(shù)據(jù)庫(kù)接口服務(wù)。它是連通各接入系統(tǒng)與各接出系統(tǒng)進(jìn)行信息交換共享的紐帶、橋梁[6-8]。同時(shí)這些數(shù)據(jù)庫(kù)也需要相互之間共享,達(dá)到轉(zhuǎn)發(fā)數(shù)據(jù)的目的[9]。本文主要是為了實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)數(shù)據(jù)資源的發(fā)布和共享。

        1 系統(tǒng)需求分析

        對(duì)于不同部門中的業(yè)務(wù)系統(tǒng),通常由不同廠家建設(shè),大都采用不同類型數(shù)據(jù)庫(kù),因此動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎需要支持市場(chǎng)各類主流數(shù)據(jù)庫(kù)(Oracle、DB2、MSSQL、MYSQL等),通過(guò)建立一個(gè)基于B/S模式的發(fā)布引擎系統(tǒng),以動(dòng)態(tài)可視化管理視圖進(jìn)行管理和操作。本系統(tǒng)需要解決數(shù)據(jù)源不統(tǒng)一、數(shù)據(jù)地域不統(tǒng)一、操作平臺(tái)不統(tǒng)一等問(wèn)題。能夠?qū)崿F(xiàn)諸多功能,包括查看數(shù)據(jù)庫(kù)表元數(shù)據(jù)、建立服務(wù)模型、管理服務(wù)模型屬性/操作與數(shù)據(jù)庫(kù)表元數(shù)據(jù)的關(guān)聯(lián)關(guān)系,以及服務(wù)的啟用/停用控制等,使得用戶快速將數(shù)據(jù)庫(kù)數(shù)據(jù)表發(fā)布成服務(wù),進(jìn)而提高數(shù)據(jù)的快速異地的訪問(wèn)效率。該系統(tǒng)在總體結(jié)構(gòu)上劃分為服務(wù)配置控制臺(tái)、服務(wù)運(yùn)行引擎和公共支撐三個(gè)模塊,各模塊組合起來(lái)實(shí)現(xiàn)系統(tǒng)的總體功能。

        服務(wù)配置控制臺(tái),以B/S視圖提供用戶操作及配置界面,通過(guò)Web頁(yè)面管理和配置數(shù)據(jù)連接方式、數(shù)據(jù)庫(kù)數(shù)據(jù)抽取、服務(wù)發(fā)布和管理等。

        服務(wù)運(yùn)行引擎,為后臺(tái)引擎系統(tǒng),完成對(duì)數(shù)據(jù)服務(wù)接口的封裝和調(diào)度分發(fā),能夠?qū)Ψ?wù)使用者的服務(wù)調(diào)用請(qǐng)求進(jìn)行識(shí)別、解析,執(zhí)行服務(wù)操作并返回?cái)?shù)據(jù)服務(wù)請(qǐng)求結(jié)果,該部分為系統(tǒng)的核心部分,實(shí)現(xiàn)數(shù)據(jù)服務(wù)的訪問(wèn)、操作及轉(zhuǎn)發(fā)控制。

        系統(tǒng)用例圖如圖1所示。

        圖1 系統(tǒng)用例圖

        公共支撐,對(duì)多種類型數(shù)據(jù)源的支撐,完成數(shù)據(jù)源元數(shù)據(jù)的解析,分析元數(shù)據(jù)(屬性、操作)及與相關(guān)數(shù)據(jù)庫(kù)表元數(shù)據(jù)的關(guān)系。

        將角色定義為兩種,分別為服務(wù)管理員與服務(wù)使用者。服務(wù)管理員的主要職責(zé)是將來(lái)自于多個(gè)數(shù)據(jù)源的數(shù)據(jù)配置成為服務(wù),同時(shí)有查看元數(shù)據(jù)源,服務(wù)模型配置,服務(wù)狀態(tài)控制的權(quán)限。服務(wù)使用者的主要職責(zé)是新增資源、修改資源、刪除資源、獲取資源和檢索資源。

        2 系統(tǒng)設(shè)計(jì)

        2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)

        動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎系統(tǒng)主要針對(duì)單個(gè)或多個(gè)數(shù)據(jù)庫(kù)表,提供快速生成響應(yīng)Restful協(xié)議的服務(wù)。由服務(wù)配置控制臺(tái)配置生成服務(wù),無(wú)需編寫代碼。數(shù)據(jù)服務(wù)引擎支持多數(shù)據(jù)源、數(shù)據(jù)庫(kù)元數(shù)據(jù)管理等。動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎系統(tǒng)由服務(wù)配置控制臺(tái)、服務(wù)運(yùn)行引擎和公共支撐組成,公共支撐模塊支撐服務(wù)配置控制臺(tái)和服務(wù)運(yùn)行引擎。系統(tǒng)功能結(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)功能結(jié)構(gòu)圖

        服務(wù)運(yùn)行引擎:服務(wù)運(yùn)行引擎為生成的服務(wù)提供運(yùn)行環(huán)境,對(duì)服務(wù)調(diào)用請(qǐng)求進(jìn)行解析,處理服務(wù)的調(diào)用過(guò)程,并返回調(diào)用結(jié)果。服務(wù)運(yùn)行引擎負(fù)責(zé)管理服務(wù)的生命周期,包括服務(wù)啟動(dòng)、服務(wù)初始化、接收服務(wù)請(qǐng)求,處理服務(wù)邏輯、返回服務(wù)結(jié)果、服務(wù)關(guān)閉等過(guò)程。

        服務(wù)配置控制臺(tái):服務(wù)配置控制臺(tái)提供對(duì)服務(wù)的方便配置,使得通過(guò)簡(jiǎn)單的配置即可生成相應(yīng)的服務(wù)。服務(wù)配置控制臺(tái)通過(guò)可視化頁(yè)面操作,配置要使用的數(shù)據(jù)庫(kù)連接(支持多種數(shù)據(jù)源,多種數(shù)據(jù)類型)、查看數(shù)據(jù)庫(kù)表元數(shù)據(jù)、建立服務(wù)模型、管理服務(wù)模型屬性/操作與數(shù)據(jù)庫(kù)表元數(shù)據(jù)的關(guān)聯(lián)關(guān)系,以及服務(wù)的啟用/停用控制等。

        公共支撐模塊:公共支撐模塊為服務(wù)運(yùn)行引擎和服務(wù)配置控制臺(tái)提供相關(guān)的支撐,包括多數(shù)據(jù)源連接的控制、數(shù)據(jù)庫(kù)表元數(shù)據(jù)解析、數(shù)據(jù)映射等。

        系統(tǒng)總體分為應(yīng)用層、邏輯層、展現(xiàn)層及用戶層。在應(yīng)用層中包括服務(wù)統(tǒng)一接口、服務(wù)綁定映射、服務(wù)執(zhí)行操作和數(shù)據(jù)源連接池管理,對(duì)數(shù)據(jù)表服務(wù)的統(tǒng)一封裝,將表和服務(wù)進(jìn)行綁定映射,執(zhí)行服務(wù)請(qǐng)求的各項(xiàng)操作,及對(duì)數(shù)據(jù)源持久化管理。邏輯層包括服務(wù)模型解析、元數(shù)據(jù)解析和服務(wù)狀態(tài)控制,對(duì)頁(yè)面展現(xiàn)層和應(yīng)用層進(jìn)行銜接,對(duì)數(shù)據(jù)服務(wù)模型進(jìn)行打包、拆包處理,將元數(shù)據(jù)與數(shù)據(jù)源進(jìn)行映射處理,以及服務(wù)啟動(dòng)、停止等狀態(tài)進(jìn)行管理,展現(xiàn)層面向用戶操作包括數(shù)據(jù)源顯示、服務(wù)模型顯示、元數(shù)據(jù)查看、服務(wù)狀態(tài)顯示。系統(tǒng)技術(shù)架構(gòu)如圖3所示。

        圖3 系統(tǒng)技術(shù)架構(gòu)圖

        本系統(tǒng)采用Spring MVC設(shè)計(jì),最上層為服務(wù)接口層與WEB表現(xiàn)層,服務(wù)接口層采用REST風(fēng)格的Web Service。WEB表現(xiàn)層提供給用戶通過(guò)瀏覽器訪問(wèn)系統(tǒng),WEB層使用MVC架構(gòu)實(shí)現(xiàn)表現(xiàn)與業(yè)務(wù)邏輯相分離。業(yè)務(wù)邏輯層則實(shí)現(xiàn)具體的功能邏輯處理,并通過(guò)調(diào)用基礎(chǔ)訪問(wèn)層,通過(guò)基礎(chǔ)訪問(wèn)層與數(shù)據(jù)庫(kù)相連,完成數(shù)據(jù)存取操作。

        2.2 數(shù)據(jù)服務(wù)處理流程

        數(shù)據(jù)服務(wù)發(fā)布系統(tǒng)獲取數(shù)據(jù)整體架構(gòu)流程圖如圖4所示。

        圖4 整體架構(gòu)流程圖

        2.2.1 動(dòng)態(tài)服務(wù)生成流程

        動(dòng)態(tài)服務(wù)生成的流程(見圖5)如下:

        1) 對(duì)數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行抽取,獲取數(shù)據(jù)源中數(shù)據(jù)庫(kù)表中數(shù)據(jù)字段。

        2) 對(duì)需要發(fā)布服務(wù)的數(shù)據(jù)庫(kù)表配置相應(yīng)的服務(wù)模型。

        3) 將服務(wù)模型打包為服務(wù)模板,并以JSON的形式存儲(chǔ)。

        4) 發(fā)布成Restful架構(gòu)風(fēng)格的服務(wù)鏈接地址。

        通過(guò)上述的業(yè)務(wù)流程描述可知,數(shù)據(jù)服務(wù)引擎核心的功能模塊組成是公共支撐模塊、服務(wù)運(yùn)行引擎和服務(wù)配置控制臺(tái)。圍繞這些核心功能的輔助功能主要有多數(shù)據(jù)源的配置以及數(shù)據(jù)庫(kù)元數(shù)據(jù)的管理等功能。

        圖5 動(dòng)態(tài)服務(wù)生成流程圖

        2.2.2 數(shù)據(jù)服務(wù)調(diào)用流程

        數(shù)據(jù)服務(wù)調(diào)用的業(yè)務(wù)流程如下:

        1) 根據(jù)服務(wù)調(diào)用請(qǐng)求,解析、識(shí)別出服務(wù)操作指令。

        2) 判斷服務(wù)的有效性。

        3) 獲取請(qǐng)求參數(shù)并解析服務(wù)模型與數(shù)據(jù)庫(kù)表關(guān)系,分析其元數(shù)據(jù)(屬性、操作)與相關(guān)數(shù)據(jù)庫(kù)表元數(shù)據(jù)的關(guān)系。

        4) 執(zhí)行服務(wù)操作。

        5) 返回服務(wù)給調(diào)用者。

        調(diào)用數(shù)據(jù)服務(wù)的流程如圖6所示。

        圖6 調(diào)用數(shù)據(jù)服務(wù)圖

        2.3 功能設(shè)計(jì)

        動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎包括服務(wù)配置控制臺(tái)、服務(wù)運(yùn)行引擎和公共支撐三大部分組成,系統(tǒng)總體功能架構(gòu)設(shè)計(jì)如圖7所示。

        圖7 總體功能架構(gòu)圖

        2.3.1 服務(wù)配置控制臺(tái)

        服務(wù)配置控制臺(tái)由數(shù)據(jù)源配置、查看元數(shù)據(jù)、服務(wù)模型配置和服務(wù)狀態(tài)控制四部分組成。其中數(shù)據(jù)源配置可靈活配置服務(wù)需要用到的數(shù)據(jù)庫(kù)連接,可配置多個(gè)不同類型數(shù)據(jù)庫(kù)的連接信息(基于JDBC接口),支持連接池配置;查看元數(shù)據(jù)提供在可視化頁(yè)面中查看相關(guān)數(shù)據(jù)庫(kù)連接中包含的數(shù)據(jù)庫(kù)表及其元數(shù)據(jù)信息的功能;服務(wù)模型配置可對(duì)需要發(fā)布服務(wù)的數(shù)據(jù)庫(kù)表配置相應(yīng)的服務(wù)模型,對(duì)服務(wù)模型的元數(shù)據(jù)(屬性、操作)及其與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系進(jìn)行維護(hù);服務(wù)狀態(tài)控制提供對(duì)服務(wù)的啟用/停用狀態(tài)的控制。

        1) 數(shù)據(jù)源配置。數(shù)據(jù)源配置提供對(duì)服務(wù)需要用到的數(shù)據(jù)庫(kù)連接進(jìn)行靈活配置,可配置多個(gè)不同類型數(shù)據(jù)庫(kù)的連接信息(基于JDBC接口),支持連接池配置。

        2) 查看元數(shù)據(jù)。提供在可視化頁(yè)面中查看相關(guān)數(shù)據(jù)庫(kù)連接中包含的數(shù)據(jù)庫(kù)表及其元數(shù)據(jù)信息。

        3) 服務(wù)模型配置。提供對(duì)需要發(fā)布服務(wù)的數(shù)據(jù)庫(kù)表配置相應(yīng)的服務(wù)模型,對(duì)服務(wù)模型的元數(shù)據(jù)(屬性、操作)及其與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系進(jìn)行維護(hù)。

        4) 服務(wù)狀態(tài)控制提供對(duì)服務(wù)的啟用/停用狀態(tài)的控制。

        2.3.2 服務(wù)運(yùn)行引擎

        服務(wù)運(yùn)行引擎由服務(wù)統(tǒng)一接口、服務(wù)綁定映射、服務(wù)操作執(zhí)行三部分組成。其中服務(wù)統(tǒng)一接口負(fù)責(zé)提供對(duì)外統(tǒng)一的服務(wù)接口,對(duì)于服務(wù)使用者的服務(wù)調(diào)用請(qǐng)求進(jìn)行識(shí)別、解析,而后判斷服務(wù)調(diào)用的有效性,獲取請(qǐng)求參數(shù),再通過(guò)服務(wù)綁定映射模塊解析服務(wù)模型與數(shù)據(jù)庫(kù)表的關(guān)系,并通過(guò)調(diào)用服務(wù)操作執(zhí)行模塊,執(zhí)行服務(wù)操作并將結(jié)果返回給服務(wù)使用者;服務(wù)操作執(zhí)行模塊負(fù)責(zé)對(duì)服務(wù)操作的實(shí)際執(zhí)行,通過(guò)服務(wù)綁定映射模塊解析服務(wù)模型元數(shù)據(jù)與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系,將請(qǐng)求參數(shù)從服務(wù)模型元數(shù)據(jù)表示形式轉(zhuǎn)化為數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式,執(zhí)行操作之后,再將執(zhí)行結(jié)果從數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式轉(zhuǎn)換成服務(wù)模型元數(shù)據(jù)表示形式;服務(wù)綁定映射模塊負(fù)責(zé)管理服務(wù)的啟動(dòng)、初始化、關(guān)閉,維持服務(wù)模型及元數(shù)據(jù)與數(shù)據(jù)庫(kù)表及元數(shù)據(jù)之間的關(guān)系,并提供解析和調(diào)用接口,供服務(wù)統(tǒng)一接口和服務(wù)操作執(zhí)行使用。

        獲取資源是一個(gè)根據(jù)主鍵值獲取對(duì)應(yīng)資源詳細(xì)信息的接口,該接口通過(guò)識(shí)別、解析服務(wù)的調(diào)用請(qǐng)求,對(duì)于有效的服務(wù)調(diào)用請(qǐng)求,解析請(qǐng)求參數(shù)獲取資源主鍵值,調(diào)用服務(wù)操作執(zhí)行中的根據(jù)主鍵值獲取操作,從數(shù)據(jù)庫(kù)相應(yīng)表中獲取主鍵值對(duì)應(yīng)的資源數(shù)據(jù)并返回該資源數(shù)據(jù)。

        1) 服務(wù)統(tǒng)一接口。服務(wù)統(tǒng)一接口負(fù)責(zé)提供對(duì)外統(tǒng)一的服務(wù)接口,包括對(duì)基礎(chǔ)信息資源的新增、修改、刪除、獲取、檢索等。服務(wù)統(tǒng)一接口需要對(duì)服務(wù)請(qǐng)求進(jìn)行識(shí)別、解析,判斷服務(wù)調(diào)用的有效性,執(zhí)行相應(yīng)的服務(wù)操作,返回執(zhí)行結(jié)果。

        2) 服務(wù)綁定映射。服務(wù)綁定映射模塊負(fù)責(zé)管理服務(wù)的啟動(dòng)、初始化、關(guān)閉,維持服務(wù)模型及元數(shù)據(jù)與數(shù)據(jù)庫(kù)表及元數(shù)據(jù)之間的關(guān)系,并提供解析和調(diào)用接口,供服務(wù)統(tǒng)一接口和服務(wù)操作執(zhí)行使用。

        服務(wù)綁定映射模塊提供包括判斷服務(wù)的可用性、服務(wù)操作的可用性、服務(wù)屬性的有效性、服務(wù)相關(guān)數(shù)據(jù)庫(kù)表的列的有效性、服務(wù)名與相關(guān)數(shù)據(jù)庫(kù)表名的相互轉(zhuǎn)換、服務(wù)屬性與相關(guān)數(shù)據(jù)庫(kù)表列名相互轉(zhuǎn)換等功能接口。

        3) 服務(wù)操作執(zhí)行。服務(wù)操作執(zhí)行模塊負(fù)責(zé)對(duì)服務(wù)操作的實(shí)際執(zhí)行,即實(shí)際與數(shù)據(jù)庫(kù)表進(jìn)行相關(guān)持久化處理,包括新增、修改、刪除、獲取、檢索等。服務(wù)操作執(zhí)行模塊需要通過(guò)調(diào)用服務(wù)綁定映射模塊解析服務(wù)模型元數(shù)據(jù)與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系,將請(qǐng)求參數(shù)從服務(wù)模型元數(shù)據(jù)表示形式轉(zhuǎn)化為數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式,執(zhí)行操作之后,將執(zhí)行結(jié)果從數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式轉(zhuǎn)換成服務(wù)模型元數(shù)據(jù)表示形式。

        2.3.3 公共支撐

        公共支撐模塊由多數(shù)據(jù)源支持、元數(shù)據(jù)解析和數(shù)據(jù)映射三部分組成。其中多數(shù)據(jù)源支撐提供對(duì)多數(shù)據(jù)庫(kù)連接的管理,支持多種類型的數(shù)據(jù)庫(kù),包括對(duì)結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)的支持。并提供連接池的管理,不同的服務(wù)可使用不同的數(shù)據(jù)庫(kù)連接,運(yùn)用JPA框架封裝對(duì)數(shù)據(jù)庫(kù)的操作邏輯,它以面向?qū)ο蟮淖匀徽Z(yǔ)法構(gòu)造查詢語(yǔ)句,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。元數(shù)據(jù)解析模塊提供對(duì)數(shù)據(jù)庫(kù)表元數(shù)據(jù)的解析功能,能夠解析數(shù)據(jù)庫(kù)表的列信息(包含列名、數(shù)據(jù)類型、長(zhǎng)度等),以及主鍵列等;數(shù)據(jù)映射模塊可對(duì)建立的服務(wù)模型進(jìn)行解析,分析其元數(shù)據(jù)(屬性、操作)及與相關(guān)數(shù)據(jù)庫(kù)表元數(shù)據(jù)的關(guān)系。

        2.4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

        2.4.1 服務(wù)操作執(zhí)行設(shè)計(jì)與實(shí)現(xiàn)

        獲取操作提供根據(jù)待修改的服務(wù)資源主鍵值從相應(yīng)數(shù)據(jù)庫(kù)表中獲取相關(guān)資源數(shù)據(jù),通過(guò)調(diào)用服務(wù)綁定映射模塊解析服務(wù)模型元數(shù)據(jù)與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系,將數(shù)據(jù)庫(kù)中獲取的數(shù)據(jù)從數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式轉(zhuǎn)換成服務(wù)模型元數(shù)據(jù)表示形式,并返回結(jié)果,如圖8所示。

        圖8 獲取調(diào)用轉(zhuǎn)換圖

        檢索操作根據(jù)給定的過(guò)濾條件、排序條件和分頁(yè)參數(shù)從相應(yīng)數(shù)據(jù)庫(kù)表中查找滿足條件的資源數(shù)據(jù),通過(guò)調(diào)用服務(wù)綁定映射模塊解析服務(wù)模型元數(shù)據(jù)與數(shù)據(jù)庫(kù)表元數(shù)據(jù)之間的關(guān)系。將過(guò)濾條件、排序條件從服務(wù)模型元數(shù)據(jù)表示形式轉(zhuǎn)換為數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式,將得到的檢索結(jié)果從數(shù)據(jù)庫(kù)元數(shù)據(jù)表示形式轉(zhuǎn)換成服務(wù)模型元數(shù)據(jù)表示形式,并返回轉(zhuǎn)換后的結(jié)果如圖9所示。

        圖9 調(diào)用服務(wù)綁定映射模塊圖

        檢索資源提供統(tǒng)一的檢索資源服務(wù)的對(duì)外接口,該接口通過(guò)識(shí)別、解析服務(wù)的調(diào)用請(qǐng)求,時(shí)序圖設(shè)計(jì)如圖10所示。對(duì)于有效的服務(wù)調(diào)用請(qǐng)求,解析請(qǐng)求參數(shù)獲取要檢索的過(guò)濾條件、排序條件和分頁(yè)參數(shù),調(diào)用服務(wù)操作執(zhí)行中的分頁(yè)檢索操作指令,從數(shù)據(jù)庫(kù)相應(yīng)表中查找符合條件的資源數(shù)據(jù),并返回查找到的資源數(shù)據(jù)。

        圖10 查找資源數(shù)據(jù)圖

        2.4.2 服務(wù)配置控制臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

        新增數(shù)據(jù)源用于配置新的數(shù)據(jù)庫(kù)連接信息,可以增加多個(gè)數(shù)據(jù)庫(kù)連接,支持各種常用的數(shù)據(jù)庫(kù)類型。在新增數(shù)據(jù)源時(shí),對(duì)新增數(shù)據(jù)源的名稱,驅(qū)動(dòng)器類名,連接url等進(jìn)行正確性校驗(yàn)。流程圖如圖11所示。

        圖11 新增數(shù)據(jù)源圖

        創(chuàng)建數(shù)據(jù)源時(shí)序圖如圖12所示。服務(wù)管理員在服務(wù)配置控制臺(tái)填寫數(shù)據(jù)源信息,填寫完畢后提交新增資源請(qǐng)求,公共支撐模塊接收到新增請(qǐng)求后,對(duì)請(qǐng)求中的數(shù)據(jù)源信息進(jìn)行核驗(yàn),無(wú)誤后持久化到數(shù)據(jù)庫(kù)中,并將新增結(jié)果返回給服務(wù)管理員。

        圖12 創(chuàng)建數(shù)據(jù)源時(shí)序圖

        3 系統(tǒng)測(cè)試

        本系統(tǒng)經(jīng)過(guò)了單元測(cè)試和功能測(cè)試兩個(gè)過(guò)程。通過(guò)單元測(cè)試保障系統(tǒng)遵照系統(tǒng)設(shè)計(jì)進(jìn)行開發(fā),確保系統(tǒng)功能模塊準(zhǔn)確性,使系統(tǒng)在設(shè)計(jì)和開發(fā)過(guò)程中模塊化且降低耦合度。在系統(tǒng)進(jìn)行功能測(cè)試過(guò)程中,整個(gè)流程包括編制測(cè)試方案、測(cè)試計(jì)劃、測(cè)試用例及執(zhí)行測(cè)試用例,記錄測(cè)試過(guò)程中出現(xiàn)的各類功能性問(wèn)題及性能問(wèn)題。測(cè)試內(nèi)容涵蓋了數(shù)據(jù)源支持度、服務(wù)響應(yīng)速度、系統(tǒng)穩(wěn)定性等。最后完成了回歸測(cè)試,保證系統(tǒng)完成開發(fā)和設(shè)計(jì)。服務(wù)狀態(tài)管理頁(yè)面如圖13所示。

        圖13 服務(wù)狀態(tài)管理頁(yè)面圖

        4 結(jié) 語(yǔ)

        本系統(tǒng)基于B/S架構(gòu)模式,利用了數(shù)據(jù)解析、服務(wù)分發(fā)、JDBC、元數(shù)據(jù)等關(guān)鍵技術(shù),成功設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)動(dòng)態(tài)數(shù)據(jù)服務(wù)發(fā)布引擎,并詳細(xì)描述了系統(tǒng)功能結(jié)構(gòu)和數(shù)據(jù)服務(wù)處理流程。與行業(yè)API服務(wù)接口管理系統(tǒng)相關(guān)軟件相比,該系統(tǒng)易用性較高,創(chuàng)新點(diǎn)在于可快速實(shí)現(xiàn)視圖、表的CRUD快速數(shù)據(jù)服務(wù)封裝及發(fā)布,實(shí)現(xiàn)外部系統(tǒng)的快速調(diào)用。本系統(tǒng)的數(shù)據(jù)服務(wù)采用了Restful架構(gòu)風(fēng)格,具有可重用性、簡(jiǎn)單性、可擴(kuò)展性等特點(diǎn)。該系統(tǒng)在投入多個(gè)政務(wù)數(shù)據(jù)共享交換項(xiàng)目中使用,大大地促進(jìn)了政務(wù)數(shù)據(jù)共享和開發(fā),能夠解決政府或企業(yè)各部門間“信息孤島”的問(wèn)題,且運(yùn)行穩(wěn)定,具有很高的使用價(jià)值。

        猜你喜歡
        數(shù)據(jù)庫(kù)服務(wù)模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        數(shù)據(jù)庫(kù)
        3D打印中的模型分割與打包
        數(shù)據(jù)庫(kù)
        国产一区二区视频免费在线观看| 中文字幕亚洲无线码a| 成人黄网站免费永久在线观看| 漂亮人妻被强了中文字幕| 免费无码av一区二区三区| 中文字幕无码无码专区| Jizz国产一区二区| 国产三级精品和三级男人| 国产偷国产偷精品高清尤物| 久久久久99精品国产片| 国产精品美女久久久久浪潮AVⅤ| 成h视频在线观看免费| 中文字幕日本人妻久久久免费| 亚洲综合色丁香婷婷六月图片| 99久久精品国产亚洲av天| 国产饥渴的富婆一凶二区| 免费成人在线电影| 国产最新地址| 久久婷婷色香五月综合激激情| 白白白在线视频免费播放| 色一情一乱一乱一区99av| 亚洲a级片在线观看| 亚洲国产日韩综合天堂| 午夜免费电影| 久久天天躁狠狠躁夜夜爽| 亚洲免费不卡av网站| 亚洲乱码av乱码国产精品| 精品国产一区av天美传媒| 国产xxxxx在线观看免费| 丝袜人妻中文字幕首页| 亚洲av无码电影在线播放| 品色堂永远的免费论坛| 美女扒开内裤露黑毛无遮挡| 亚洲国产国语在线对白观看| 国产又爽又粗又猛的视频| 精品国产亚欧无码久久久| 蜜臀av一区二区三区| 五月丁香综合激情六月久久| 色综合久久丁香婷婷| 色妞一区二区三区免费视频| 无码乱肉视频免费大全合集|