• 沒有找到結果。

網路服務於地下水資源模擬與展示之應用

N/A
N/A
Protected

Academic year: 2021

Share "網路服務於地下水資源模擬與展示之應用"

Copied!
82
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

土 木 工 程 學 系

碩 士 論 文

網路服務於地下水資源模擬與展示之應用

Applying Web Service on the Simulation and

Demonstration for Groundwater Resources

研 究 生 : 王宏卿

指導教授 : 張良正 博士

(2)

網路服務於地下水資源模擬與展示之應用

Applying Web Service on the Simulation and

Demonstration for Groundwater Resources

研 究 生:王宏卿

Student:Hung-Ching Wang

指導教授:張良正 Advisor:Liang-Cheng Chang

國 立 交 通 大 學

土 木 工 程 學 系 碩 士 班

碩 士 論 文

A Thesis

Submitted to Department of Civil Engineering

National Chiao Tung University

in Partial Fulfillment of Requirements

for the Degree of

Master of Science

in

Civil Engineering

November 2012

Hsinchu, Taiwan, Republic of China

(3)

網路服務於地下水資源模擬與展示之應用

學生:王宏卿 指導教授:張良正 博士 國立交通大學土木工程學系 碩士班

摘要

對於地下水資源管理的決策者而言,模式模擬分析及模式成果展 示為供決策者進行管理決策依據之關鍵。對於模式模擬分析而言,可 進一步分成現地模式建置與情境模擬分析兩大步驟,現地模式之建置 需要大量現地觀測資料的準備,以作為模式設定、檢定與驗證之用, 資訊系統的開發可以資料庫發展作為解決方案。至於情境模擬分析與 模式成果展示則用於管理決策成效之分析,其往往需要不同人員共同 檢視與討論分析成果,以輔助決策的訂定,共用及合作的需求較高, 因此資訊系統的開發可藉由網際網路之串連,輔助異地決策者共同建 立管理決策。綜合前述特點,支援地下水資源決策分析的理想系統需 具備: (1)資料統一管理;(2)資料管理能支援異質資料存取,以支援多 樣性且跨平台服務的開發;(3)可承接地下水模式專屬建置輔助系統 所建立之現地模擬模式;(4)多樣性且跨平台的使用界面或服務。 有鑑於此,本研究以 Web Service 實作兩服務作為地下水資源管 理系統之主要後端支援,一為地下水資源資料庫服務,儲存歷年地下 水 觀 測 水 位 與 相 關 水 文 地 質 參 數 ; 另 一 為 地 下 水 數 值 模 式 (MODFLOW)模擬分析服務。 為滿足多樣性且跨平台的服務需求,本研究設計了網頁版應用、 行動版應用與進階研究應用三者,網頁版應用與行動版應用是以視覺 化圖形輔助查詢地下水觀測水位之時空分布,而進階研究應用則是以 API 的方式提供地下水建模人員,撰寫劇本以大量存取地下水相關資 料,方便模式建模使用。 在地下水數值模式模擬分析服務方面,本研究以完成檢定之屏東

(4)

平原地下水案例為展示案例,使用者除可採用預設參數外,還可自行 輸入不同參數重新計算與模擬分析不同情境下之地下水狀態。 系統使用平台方面,用戶端以瀏覽器可操作網頁版應用之服務, 可達到跨平台之需求;在行動版應用方面,以 Android 作業系統做為 用戶端之作業平台,使外業調查人員勘察時,可由行動設備掌握地理 空間資訊與查詢現況地下水位與水文地質參數之時空變化。 關鍵字:地下水模式、網路服務、Android

(5)

Applying Web Service on the Simulation and Demonstration

for Groundwater Resources

Student:Hung-Ching Wang Advisor:Dr. Liang-Cheng Chang Department of Civil Engineering

National Chiao Tung University

Abstract

This study uses web service technology to reach following goals: (1) unified data format, (2) cross-platform data input/output, (3) linkage to pre-developed groundwater simulation model with database, and (4) friendly cross-platform user interface. With this web service technology, users can remotely (1) read, extract, manage, and display groundwater related data and (2) run the selected groundwater simulation model. In this study, three web formats are provided for different needs: (1)website, (2) the format for mobile devices, and (3) the interface for researchers. For the first two formats, the users can visualize the selected data or model results. The web format allows users to browse it using commonly available browsers. The Android system is used for the second format, which is for mobile devices, simplifying the data demonstration process. Investigators can use mobile devices to show space information, groundwater level, and hydrogeological parameters. The third format provides professional researchers to use the provided API to access massive groundwater related data and parameters. The developed web service is applied to Pingtong groundwater area to simulate multiple groundwater flow scenarios and show the simulation results.

(6)

誌謝

特別感謝吾師張良正教授對於學生之論文指導,在研究過程中老 師細心指正錯誤及啟發式教導使學生受益匪淺,培養了學生從事研究 發展之穩固基礎能力,而老師對於學生們日常的關心與照顧,也使學 生在他鄉求學階段備感溫情,在此誠摯的感謝您。另承蒙口試委員林 昌佑教授、蕭金財教授及多采科技公司李文生執行總監在口試前細心 審閱批改學生的論文,並給予學生珍貴之意見,使學生長了許多專業 知識,而讓本論文更兼備理論與實務應用,在此學生衷心表達感謝。 而在研究室之大家庭裡,必須特別感謝陳宇文博士及蔡瑞彬博士, 兩位學長於研究期間不厭其煩地給予建議以及指導本論文之撰寫,有 您們的情意相挺,才可以使我一一突破難關;也感謝鄭蔚辰博士對於 英文文章細心修改;感謝貓哥、大衛哥和浚瑋哥三人默契小組在籃球 場上電過我們,讓我們得以記取教訓而更長籃球智慧;感謝祐誠總是 扮演大哥哥的角色,在我們生活中予以不少支持,使日子得以開心順 遂,也謝謝嫂子 Kelly 的鼓勵;感謝生哥、阿海、阜峻、雲直傳承優 良傳統;感謝小瑜、阿布、深惠和阿卡帶領學弟勇往直前並幫助解惑; 感謝呱呱、韋炫與我組成暴力籃球小組,跟你們一起打球輸少贏多真 的很開心,雖然好像都是我在扯後腿;感謝人皇仁君陪打遊戲、阿飄 國陞揪團洗澡、學生妹逸儒爆料八卦和建穎暢談心事;感謝阿鎧、小 又、海倫、奕漳和瀚文,有你們研究室熱鬧許多;另外要謝謝資訊組 學長江祥常給予勉勵,也感謝文平、翊涵、哲豪、奕中和廣德很開心 與你們當同學並常互相鼓勵;感謝愛笑的小學妹曉芸在準備口試前幫 了不少忙。 最後感謝親愛的父母與老婆全力支持我獲取更高成就,也感謝岳 母與亮亮幫忙照顧若棠,讓我無後顧之憂得以順利取得碩士學位,也

(7)

謝謝肇彥與大學好友們的關懷,真摯感謝所有支持、關心我的人。

(8)

目錄

摘要 ... i Abstract ... iii 誌謝 ... iv 目錄 ... vi 表目錄 ... viii 圖目錄 ... ix 第一章 緒論 ... 1 1.1 研究動機 ... 1 1.2 研究目的 ... 2 1.3 論文架構 ... 3 第二章 文獻回顧 ... 4 第三章 相關技術與模式 ... 6 3.1 資訊技術 ... 6 3.1.1 服務導向架構(Service-Oriented Architecture,SOA) ... 6 3.1.2 Web Service ... 8 3.1.3 網頁混搭形式( Mashup) ... 10 3.1.4 Android 開發環境 ... 11

3.1.5 Google Earth APIs ... 13

3.2 MODFLOW 數值模式 ... 14 第四章 系統分析與設計 ... 16 4.1 系統概述 ... 16 4.2 系統需求分析 ... 18 4.2.1 網頁版應用之系統功能需求 ... 19 4.2.2 行動版應用之系統功能需求 ... 23 4.2.3 進階研究應用之系統功能需求 ... 26 4.3 系統架構 ... 29 4.3.1 表現層 ... 30 4.3.2 處理層 ... 31 4.3.3 服務層 ... 31 4.3.4 資料來源層 ... 32 4.4 系統設計 ... 32 4.4.1 系統功能設計... 32 4.4.2 網路服務設計... 34 4.4.3 系統流程設計... 36

(9)

第五章 系統實作與實例展示 ... 47 5.1 系統環境與開發工具... 47 5.2 Web Service 介面 ... 50 5.3 實際佈署 ... 51 5.4 實例展示 ... 53 第六章 結論與建議 ... 65 6.1 結論 ... 65 6.2 建議 ... 66 參考文獻 ... 67

(10)

表目錄

表3.1 Android 版本名稱 ... 12 表4.1 網頁版系統功能需求描述 ... 19 表4.2 線上水資訊系統使用案例描述 ... 21 表4.3 行動版系統功能需求描述 ... 23 表4.4 行動版系統使用案例描述 ... 25 表4.5 進階研究應用版系統功能需求描述 ... 27 表4.6 進階研究應用版系統使用案例描述 ... 28 表4.7 網路服務列表 ... 36 表5.1 軟、硬體需求─使用者端 ... 48 表5.2 軟、硬體需求─網頁伺服器端 ... 48 表5.3 軟、硬體需求─服務伺服器端 ... 49 表5.4 開發工具 ... 50

(11)

圖目錄

圖3.1 SOA 實作技術關係架構圖 ... 7 圖3.2 Web Service 架構圖 ... 9 圖3.3 Android 系統架構圖 ... 13 圖4.1 網頁版系統功能 ... 19 圖4.2 網頁版系統使用案例圖 ... 20 圖4.3 行動版系統功能 ... 23 圖4.4 行動版系統使用案例圖 ... 24 圖4.5 進階研究應用版系統功能 ... 27 圖4.6 進階研究應用版系統使用案例圖 ... 28 圖4.7 為系統整體架構圖 ... 30 圖4.8 網站架構圖 ... 33 圖4.9 手機功能架構圖 ... 34 圖4.10 Google Earth 地下水分區查詢時序圖 ... 37 圖4.11 觀測井基本資料查詢時序圖 ... 38 圖4.12 水位歷線查詢時序圖 ... 39 圖4.13 Modflow 模擬數值服務時序圖 ... 40 圖4.14 數值模擬結果查詢時序圖 ... 41 圖4.15 Google Map 定位時序圖 ... 42 圖4.16 Google Map 查詢測站時序圖 ... 43 圖4.17 水位歷線查詢時序圖 ... 44 圖4.18 地下水測站查詢時序圖 ... 44 圖4.19 準備大量地下水時序資料時序圖 ... 45 圖4.20 儲存模式模擬結果時序圖 ... 46 圖5.1 系統環境實際佈署情況 ... 52 圖5.2 查詢地下水測站(1) ... 54 圖5.3 查詢地下水測站(2) ... 55 圖5.4 查詢地下水測站(3) ... 55 圖5.5 查詢地下水測站(4) ... 56 圖5.6 查詢地下水測站(5) ... 56 圖5.7 查詢地下水測站(6) ... 57 圖5.8 查詢地下水測站(7) ... 57 圖5.9 Modflow 數值模擬-系統預設(1) ... 58 圖5.10 Modflow 數值模擬-系統預設(2) ... 59 圖5.11 Modflow 數值模擬-系統預設(3) ... 59

(12)

圖5.12 Modflow 數值模擬-自訂參數 ... 60 圖5.13 地下水數值模擬水平衡結果查詢 ... 61 圖5.14 定位 ... 62 圖5.15 查詢測站位置 ... 62 圖5.16 查詢地下水測站之水位歷線圖(1) ... 63 圖5.17 查詢地下水測站之水位歷線圖(2) ... 63 圖5.18 進階研究應用 ... 64

(13)

第一章 緒論

1.1 研究動機

對於地下水資源管理的決策支援系統而言,地下水數值模式之模 式模擬分析及資料與成果展示為其兩大主要部份,可供決策者進行管 理決策之依據。其中就模式模擬分析而言,又可分成現地模式建置與 情境模擬分析兩大步驟,從資訊系統的角度而言,現地模式建置有資 料的準備與管理,及模式建置輔助兩大需求。資料管理部份可以資料 庫發展解決方案,而現地模式建置輔助則需依模式的性質與功能,發 展專屬人機介面環境。現地模式建置輔助系統之功能複雜,專業領域 知識要求高,適合於專人進行,共用及合作的需求較低。因此,一般 以 專 屬 單機 系統為 佳 , 此亦 是目前 普 遍 的情 形,以 地 下 水模 式 MODFLOW 而 言 , 著 名 的 單 機 模 式 建 置 輔 助 系 統 有 VISUAL MODFLOW 、 GROUNDWATER VISTA 及 PM (PROCESSING MODFLOW)等。至於情境的模擬與分析歩驟,則較需與其它相關人 員共同檢視與討論分析成果,輔助決策的進行,共用及合作的需求較 高,亦需要較多樣性的使用者介面。容易管理及方便使用為一個資訊 系統成功的先決條件,因此,綜合前述地下水資源管理決策分析的描 述,一個可支援地下水資源決策分析的理想系統需具備: (1)資料統一 管理;以滿足易於管理的要求。(2) 資料管理能支援多樣性資料存取; 包括來自不同系統平台(如 Microsoft、Linux 或 Android)之網頁瀏覽 器(使用人員)或是其它服務程式的資料需求,以支援多樣性且跨平台 服務的開發。 (3)可承接地下水模式專屬建置輔助系統所建立之現地 模擬模式;使建置完成之現地模式可被情境分析及其他進一步分析所 使用。(4) 多樣性且跨平台的使用介面或服務;以滿足方便使用之要 求。而欲達到前述需求,需有合適的資訊技術。

Gartner 於 1999 年提 出服務導向 架構 (SOA, Service-Oriented Architecture),其為一種考量異質性、互通性、資料共用,以及資訊 整合的軟體系統架構(V.Natis, 2003)。服務導向架構可由 XML、網路

(14)

服務(Web Service)等標準化軟體技術實作所組成,各項服務或功能可 以標準化的方式,包裝為應用軟體元件,供資訊系統呼叫與使用,藉 此達到異種資訊系統之溝通與交換,或是降低資訊系統維護的難度。 另外,現今智慧型行動電話和手持設備的日趨普及,其功能與效能則 日益進步,功能上已可達到個人電腦,但在行動性上則遠超越個人電 腦。部分研究應用行動裝置提供水文資訊之查詢與共享,可輔助水文 調查人員之外業行動。 前述資訊技術的整合應用,應可滿足一個理想地下水資源決策分 析系統應具備的條件。

1.2 研究目的

綜合前述,本研究以地下水資源管理決策為導向,以服務導向架 構(SOA)建構一個具備地下水資源模擬分析與資料及成果展示之多 樣化且跨平台資訊系統。 此系統具備多樣化之使用介面,依據應用形式分為三種,分別為 網頁版應用、行動版應用與進階研究應用,網頁版應用將以視覺化的 方式提供使用者掌握研究區域之觀測水位,在時間上與空間上的變化; 行動版應用則可輔助外業調查人員進行地下水相關業務之調查與實 驗之用;進階研究應用則供研究人員建構或檢定特定區域之數值模擬, 可容易地查詢與取得所需資料。另外,此系統整合之跨平台服務包含 兩種,一為地下水資源之資料庫服務,儲存項目除歷年之地下水觀測 水 位 外 ,還 包含相 關 之 水文 地質參 數 ; 另一 為地下 水 數 值模 式 (MODFLOW)模擬分析服務,以屏東平原為示範案例,系統可依據使 用者提供之水文地質參數,重新計算與分析現地地下水狀態。

(15)

1.3 論文架構

本研究共分為六章,各章內容簡述如下: 1. 緒論 說明研究動機與研究目的。 2. 文獻回顧 收集相關的文獻資料,主要包括 Web Service 運用在水資源方面 相關文獻之探討。 3. 相關技術與模式 介紹本研究在設計與實作階段所利用相關資訊技術與標準。 4. 系統分析與設計 說明系統概述、系統需求分析、系統架構和系統設計。 5. 系統實作與實例展示 介紹系統開發環境與工具、系統實際部屬情形,最後以一系統實 際操作來說明本系統所達成之功能和功能畫面展示。 6. 結論與建議 總結本研究所提出的論點與未來研究的建議。

(16)

第二章 文獻回顧

近年來,由於資訊技術之進步,決策支援系統的建置已大量應用 於環境或水文領域上,常見之應用層面可分為兩類,一為水文資訊之 統一管理,藉由資訊平台進行異種觀測資料之整合、儲存與管理,以 作為後續研究分析之基礎;另一種為水文模式之銜接與整合,本章後 續將進一步說明。

Peckham and Goodall (2012)指出,如何有效整合不同單位不同調 查來源之觀測資料與數值模式為目前之顯學。由於各研究單位產出之 資料或資料庫,其儲存格式彼此均不同,如何進行資料整合將視為一 項極具挑戰性的問題(Voinov and Cerco, 2010),對於後續研究人員需 耗 費 大 量 人 力 進 行 前 置 處 理 方 可 使 用 , 因 此 對 於 異 質 資 料 (Heterogeneous data)整合為標準化格式成為重要的課題(Granell et al., 2010; Peckham and Goodall, 2012)。這些研究多應用 Web Service 技術 作為資料交換媒介,Web Service 為服務導向架構(SOA)常見的一種實 作技術,藉此可串接與整合異種資料來源。所以系統實作只要依賴一 致的 Web Service 規範,即能完成系統無縫銜接。近年來應用 Web Service 技術整合異質資料庫的研究中,較具代表性的範例之一為美 國先進水文科學大學聯盟(CUAHSI, the Consortium of Universities for the Advancement of Hydrologic Science, Inc.)所發展之水文資訊系統 (HIS, Hydrologic Information System),其發展目的即為解決水文環境 資料整合的各式問題。美國先進水文科學大學聯盟之水文資訊系統 (CUAHSI-HIS)乃以服務導向架構為基礎所發展之水文資料共享系統, 可整合來自不同聯邦、州和本地端來源的水文觀測資料。此系統是資 料庫和伺服器藉由 Web Service 連接所組成,包含資料發布(Data Publication)、資料探索(Data Discovery)和資料存取(Data Access)等功 能。因此應用整合式的資訊系統來倉儲、管理與分享異種資料來源之 水文觀測資料,對於下游使用者即可簡單地以單一存取方式使用這些 資料,亦可省略許多無謂地前置資料處理動作。

(17)

自然環境的降雨逕流的影響、地表地下的交互作用以及其他生態系統 的影響等(Argent, 2004; Clark and Gelfand, 2006; del Barrio et al., 2006), 對於決策者而言需要藉由異種模式的彼此整合溝通,方可評估管理策 略的成效(Goodall et al., 2011)。傳統方法多以緊密耦合(tight coupling) 的方式進行整合,緊密耦合即需在兩模式間,量身訂做地撰寫程式碼 以溝通兩模式(Facchi et al., 2004; Maxwell and Miller, 2005),如有更多 模式需要串接,則需一一修改程式碼,且由於緊密耦合之模式限於本 地端接合,對於分散的網路資源則無法銜接。取而代之的是以服務導 向架構(SOA)作為開發架構,其可以鬆散耦合(lossely coupling)整合不 同模式,將各模式視為一網路服務,各服務以標準化的介面透過網際 網路進行溝通整合,有效降低整合的複雜度(Goodall et al., 2011; Granell et al., 2010)。 由前述文獻可知,服務導向架構(SOA)具有整合異質資料庫及數 值模式的能力,其可有效減少研究學者花費時間與心力在基礎資料蒐 集和模式輸入檔準備等工作,更可降低整合傳統模式之複雜度,使得 模式耦合架構較具彈性。然而前述文獻在使用者端之展示上,多以瀏 覽器為主要展示工具,近年來,隨著行動通訊技術突飛猛進,手機已 成為日常生活中不可或缺之工具;而在水文環境領域中,野外調查或 是現地試驗乃是蒐集基礎資料不可或缺之工作,因此若能將應用服務 導向架構所開發之系統以行動裝置進行展示,將可協助野外調查試驗 之進行。 因此,本研究將以服務導向架構(SOA)建立系統架構,以 Web Service 實作地下水資料倉儲與地下水模式服務,建構跨平台之地下 水資源決策支援系統。而在使用者端之展示上,本研究除了開發瀏覽 器版本外,更開發了行動版本,以輔助外業調查人員進行地下水相關 業務之調查與試驗。並提供資料存取之 API(Application Programming Interface)與 MODFLOW 前置資料處理介面,協助模式建構者建置 MODFLOW 數值模式。

(18)

第三章 相關技術與模式

本研究是以服務導向架構(SOA)為系統架構,並以 Web Service 為實作技術,以地下水資料倉儲與地下水模式作為網路服務,建構跨 平台之地下水資源決策支援系統。以使用方式來區分,本資訊系統可 區分為網頁版應用、行動版應用與進階研究應用三種方面,網頁版應 用採用 KML(Keyhole Markup Language)與 Google Earth API 技術,藉 由網頁混搭形式嵌入頁面,以視覺化的方式建構決策支援系統,來達 到水資源管理之用;行動版應用則以 Android 系統為開發平臺,所建 構之功能,可輔助外業調查人員進行地下水相關業務之調查與實驗之 用;進階研究應用則是以資料庫管理觀測水位與相關水文地質參數, 當研究人員建構或檢定特定區域之數值模擬,本系統提供查詢用 API, 可直接查詢與取得所需資料。故以下分別針對此系統涉及的概念與技 術知識進行基本說明。

3.1 資訊技術

3.1.1 服務導向架構(Service-Oriented Architecture,

SOA)

曾保彰 (2007) 曾提及「服務導向架構(SOA)是一種軟體模型架 構,可由 Web Service 等標準化元件所組成,目的是為建構一個具彈 性、可重複使用的整合性介面,促進內外部相關單位溝通,如應用程 式、用戶、與部門等。」 服務導向架構皆是以服務為出發,以軟體工程的角度來看是為一 個系統架構模型,可由 Web Service、CORBA、Java RMI 等技術開發 的元件組成。典型的 SOA 架構有以下三個角色:

1. 服務提供者:亦稱為服務,一般有定義好的介面,且是平 臺和語言中立;介面的描述資訊可被發佈到服務註冊中心(服務註 冊表),這樣就可以讓服務被發現與調用。

(19)

2. 服務需求者:在需要某服務時,會先查詢服務註冊中心, 得到此服務的相關描述資訊,之後動態綁定到此服務。 3. 服務註冊中心:可稱為服務註冊表或服務目錄,使服務提 供者和服務需求者連結的橋樑,服務提供者可以向它註冊服務; 服務需求者藉由通過它查詢服務描述資訊,處於中心位置提供了 展示服務的功能。服務需求者通過向目錄中心查詢,找到感興趣 服務的介面資訊。 服務可利用標準介面,經由統一和通用的方式發布在網路上,使 服務可以跨越不同平臺、作業系統與程式語言,與服務需求者互動。 而利用這些具有標準介面的服務,所組裝成的軟體系統,就可稱為服 務導向架構的軟體系統。在此架構下,可為軟體系統建構一個具彈性、 可重複使用的整合性介面,促進應用程式與服務提供者順利溝通,以 達到快速整合。圖 3.1 為 SOA 實作技術關係架構圖,在 SOA 定義之 原則下,常見之實作技術包含 Web Service 與 Jini 等。

圖 3.1 SOA 實作技術關係架構圖

(20)

3.1.2 Web Service

Web Service 為 SOA 的一種實作技術,官方(W3C, 2004)定義 Web Service 為一可透過 URI 來標示位置的軟體系統,此系統的公開介面 是透過 XML 來定義與描述,並可被其它的軟體系統所查詢。而這些 系統間的溝通,是在網際網路的通訊協定上傳送以 XML 為格式的資 訊。 早期軟體元件是以函式庫(library)的方式來包裝與建構,對於跨 平台或跨網域的需求,則有其侷限。相對於早期軟體元件的概念, Web Service 以 XML 來傳遞訊息,藉由定義之標準介面,可提供外界 存取的操作介面。一個網路服務會使用一個稱之為服務描述的 XML 標示,用來描述與伺服器互動的細節,包括訊息格式、傳輸協定和位 址。介面隱藏了實作的服務細節,允許其能夠運行在獨立的硬體或軟 體平臺,以及各種不同程式語言所開發的系統上。使提供網路服務的 應 用 程 式 能 夠 達 到 鬆 散 耦 合 (loosely coupled) 、 元 件 導 向 (component-oriented)、跨平台技術等能力。應用程式透過網路協定, 如 HTTP(HyperText Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)和 SOAP 存取 Web Service,而不需在意各個網路服務是如何 實作的。

(21)

圖 3.2 Web Service 架構圖 (資料來源: IBM)

Web service 架構會遵循 SOA 規範,其架構如上圖 3.2 所示。該 架構與 SOA 所述的三個角色一樣, 有服務提供者、服務需求者和服 務註冊中心,藉由三個單元彼此間的互相溝通,完成服務發佈(publish)、 發現(find)和綁定(bind)三個基本操作。各個角色各自的任務與上一節 SOA 描繪類似,分述如下:

1. 服務提供者:將服務用 WSDL(Web Services Description Language)描述服務本身資訊而提供一介面介面,並發佈至服務註 冊中心,讓服務被發現與調用。 2. 服務需求者:根據服務註冊中心,查詢所需服務的相關描 述資訊,之後動態綁定到該服務進行調用。而靜態綁定則是服務 需求者直接從服務提供者提供的介面獲取服務描述資訊。 3. 服務註冊中心:服務提供者可以在此註冊服務,並發佈服 務描述資訊,服務需求者藉由通過它查詢感興趣服務的資訊並獲 得該服務描述資訊。 Web service 之所以能夠適用異質平臺下的資料通信,與使用的一 系列技術是相關聯的。如利用 WSDL 描述服務資訊,WSDL 是 XML

(22)

格式;利用 UDDI(Universal Description Discovery and Integration)提 供搜尋與整合的服務,UDDI 是統一描述、發現和集成的縮寫,它是 個基於 XML 的跨平台描述規範,可以使世界範圍內的服務提供者在 網際網路上發佈自己的服務,或是讓服務需求者查找服務;用 SOAP 執行服務調用,此協定採用的是一種基於 XML 的訊息格式當作傳輸 規範,可經由 SMTP 和 HTTP 等應用層傳輸協定進行資料傳輸。由於 資料是以標準化且可分析的結構傳遞,所以能夠直接被第三方站點所 利用,因此用 SOAP 訊息溝通,就產生了 Web Service 的應用機制 (Wikipedia,2012)。本研究藉由 Web Service 規範標準封裝數個應用程 式成為網路服務,再藉由服務的組裝達到系統功能需求。

3.1.3 網頁混搭形式( Mashup)

根據維基百科(Wikipedia,2012)解釋網頁混搭形式是指在網路上 整合多個資料來源或功能,利用這樣的方式創造新的網路應用程式。 例如:將圖片提供視作一種服務,那麼網頁中的文字與圖片是可以重 不同網站而來,這樣一個圖文豐富的網頁即為一種混搭型態。通常混 搭被視為 Web 2.0 的特色之一。常見混搭方式通常是由一組公開的應 用程式介面取得其他網站的功能,例如 Amazon、eBay、Flickr、Google、 Microsoft 與 Yahoo!等公司提供的地圖、影音及新聞等服務。對於一 般使用者來說,要自行撰寫程式碼來呼叫利用這些功能並不容易,所 以有程式設計師製作了程式產生器,替一般使用者產生程式碼,那麼 網頁製作者即可容易於網頁裡嵌入並使用上述提供之功能。例如部落 客可以在自己的部落格加入一段影音,利用將影音上傳至 YouTube, 然後可從 YouTube 那裏取回嵌入代碼,再貼到自己的部落格,那麼部 落格就會有影音了。下面是上述例子的嵌入代碼:

<iframe width="560" height="315"

src="http://www.youtube.com/embed/-G-FOy_IA88" frameborder="0" allowfullscreen>

(23)

在地理資訊方面,Yinhuan and Qiuming (2007)結合地理資訊系統 (GIS, Geographic Information Systems) 和 水 利 模 型 (Hydrological Models)的系統用以預測流量,該系統即嵌入 Google Map 的服務。本 研究將以網頁混搭形式使用 Google Earth API,可讓使用者藉由衛星 影像,掌握觀測站網等之空間分布。

3.1.4 Android 開發環境

Android 系統本是由 Andy Rubin 開發製作,Google 於 2005 年 收購 Android 科技公司後,開始改良發展此系統,目前 Android 差不 多每半年升級一次,且有趣的是各個版本代號皆以甜點名稱命名,這 些版本名稱會以 A、B、C、D、E、F、G、H、I、J 之單字順序來排 列。如下表 3.1 所示,呈現截至 2012 年 12 月 1 日,不同的 Android 作業系統版本的用戶比例(Wikipedia, 2012)。

(24)

表 3.1 Android 版本名稱

版本名稱 %

4.1.x,4.2 Jelly Bean 雷根糖 1.8 4.0.x Ice Cream Sandwich 冰淇淋三

明治 23.7 3.x.x Honey Comb 蜂巢 1.9 2.3.x Ginger Bread 薑餅人 55.8 2.2 Froyo 凍酸奶 12.9 2.1 Eclair 閃電泡芙 3.4 1.6 Donut 甜甜圈 0.4 1.5 Cup Cake 紙杯蛋糕 0.1 Android 是一個以 Linux 為基礎的半開放原始碼作業系統,根據 Android Developers 網站介紹,Android 系統架構主要是由五個部份 所 組 成 : 應 用 程 式 (Applications) 、 應 用 程 式 框 架 (Application Framework) 、函式庫(Libraries)、Android 執行環境(Android Runtime) 與 Linux 核心(Linux Kernel),如下圖 3.3 所示,最頂端部分是應用程 式(Applications),此部分所有的應用程式都是使用 Java 程式語言所 開發的,例如聯絡人、地圖,瀏覽器,通訊錄等應用程式。接著應用 程式框架(Application Framework),此部分主要是讓應用程式開發人 員能夠使用核心應用程式所使用之 APIs,如此程式碼重複利用即可 快速開發應用程式。再來是函式庫(Libraries) 是由許多 C 或 C++語言 所編寫,開發者無法直接呼叫,需透過應用程式框架才能使用。接下 來 Android 執行環境(Android Runtime)最重要的是 Dalvik 虛擬機器 (DVM, Dalvik Virtual Machine),由於 Java 能夠跨平台是因為 Java 程 式是在 Java 虛擬機器(JVM, Java Virtual Machine)上執行,但是

(25)

Android 並非用 JVM 而是改用自行發展的 DVM,所以檔案格式會有 不同,在 Android 上,會先編譯 Java 程式為 Java 類別檔(.class),之 後透過工具轉換成 DVM 可執行格式(.dex),才能在 DVM 上執行。 最後是 Linux 核心(Linux Kernel),Android 是以 Linux 作業系統為 平台,此部分提供核心系統服務,如安全性,記憶體管理,行程管理, 網絡堆疊和驅動程式模型等等(Wikipedia, 2012)。

圖 3.3 Android 系統架構圖 引用自(P.Brady., 2008)

本研究基於 Android 系統開放的優點,以 Web Service 技術提供 地下水資源應用服務,藉由行動設備的應用,輔助地下水外業調查人 員,在外業調查時掌握區域地下水茲運。

3.1.5 Google Earth APIs

(26)

圖像、地圖、地形、3D 建築物等等。Google Earth 包含各種豐富的 地形內容,讓使用者可檢視真實世界的圖像。也可以飛往使用者最愛 的地方、搜尋商家,還可以瀏覽路線。(Google, 2012)」

Google Earth 圖形資料大都來源自 NASA 的衛星影像,可根據不 同區域位置的重要性匹配不同的解析度衛星影像,解析度最可達 0.6 米,當用 Google Earth 調整視野高度時,可根據視野大小,選擇適當 解析度之衛星影像對視野範圍做資料更新的動作。使用者可將 Google Earth 混搭至個人網頁中,使用該 API 操作 Google Earth 並讀取 KML 檔案,來建立複雜的 3D 地圖程序。不過對於網頁版要開始使用之前, 須先下載 google earth plugin。

本研究為使地下水站井相關地理資訊能透過衛星影像展現空間 位置資訊,於是利用 Google Earth 搭配網頁系統整合應用,除了可以 查找站點位置還可藉由介面查詢測站地下水觀測資訊,詳細操作步驟 於系統實作與案例展示章節說明。

3.2 MODFLOW 數值模式

維基百科(Wikipedia,2012)解釋 MODFLOW 地下水流數值模式是 美國地質調查所(USGS)所開發,為有限差分法開發之三維飽和地 下水流數值模式,其為 Modular three-dimensional groundwater flow model 之縮寫,第一版本在 1988 年被釋出。本模式是目前最廣泛被 使用的地下水模式之其一,可應用在飽和地下水流之問題,在時間方 面不論是穩態(steady)或是非穩態(unsteady)皆能使用;於分層上, 拘限含水層(confined aquifer)與非拘限含水層(unconfined aquifer) 均可類比。其控制方程式表示如下:

(27)

h 為壓力水頭(Potentiometric Head)

W為地下水每單位體積的體積流量(Volumetic Flux)的補注源

(Sources)或輸出源(Sinks)。當 W<0 表示流出地下水系統(Out Flow of Ground-Water System);反之,W>0 表示流進地下水系統。

s

S 為孔隙介質之儲水率。

t 為時間(T)。

目前已經有 MODFLOW 88、MODFLOW 96、MODFLOW 2000、 MODFLOW LGR、MODFLOW 2005 等等版本,由於模式設計模組化, 因此目前有許多模組可供使用。

本研究利用 Web Service 包裝 Modflow 數值模式成為一個網路上 可使用的服務,藉由開放此服務,在後端伺服器可做大量複雜的數學 運算,待運算結束後,再回傳結果給服務需求者做進一步資料分析或 直接傳回可利用資訊。

(28)

第四章 系統分析與設計

本研究以地下水資源管理為主題,應用服務導向架構(SOA)建構 一地下水資源管理之決策支援系統,藉著應用 Web Service 作為發展 技術,分別封裝資料庫與地下水數值模式,成為可提供線上服務的功 能元件,再予以依使用者需求不同而有不同服務的組裝,可以依照工 作流程彈性安排。於第 4.1 節將描述系統之概述與範圍;第 4.2 節將 進行系統需求分析;第 4.3 節將說明系統架構;最後於第 4.4 節說明 系統設計。

4.1 系統概述

本系統將作為地下水資源管理之決策支援系統,因此本系統的使 用人員,將為地下水資源相關管理人員。對於相關管理人員而言,實 際工作上可能有下列需求: 1. 台灣地區長年已經建置完善的地下水觀測網,現地已累積 大量的水文地質參數與觀測水位,應有完善的資料倉儲與管理系 統,進行前述資料之倉儲與管理。 2. 前述資料倉儲與管理系統應具有人性化的介面,使管理人 員可從大量資料中,簡單地與迅速地查詢與調閱,方便管理人員 進行地下水管理。 3. 長年已累積大量的時序觀測水位,對於觀測水位應可有視 覺化圖形的方式呈現地下水位在空間上與時間上的變化,方便使 用者掌握各地下水區地下水特性。 4. 由於地下水系統具有高度異質性,因此唯有藉由現地外業 調查方可降低地下水管理的不確定性。對於外業調查人員,藉由 行動電話或平板電腦等行動裝置,掌握鄰近區域之觀測結果或前 期調查結果,並與其本身之調查結果進行比較,可即時檢討調查 成效。

(29)

5. 地下水數值模式之建置與檢定需要大量之現地觀測水位 與水文地質參數。對於模式建置人員而言,如有系統可直接大量 取得前述所需資料,可減少模式建置人員在資料蒐集之繁瑣工 作。 6. 相對於模式網格大小,水文地質參數之現地試驗值數量遠 遠不足,模式參數往往需要參數內插推估或分區等方式,並搭配 專家主觀判斷方可完成參數之設定。故若有資料庫可以儲存、管 理並分享檢定完成之模式參數,對於曾完成建置的研究區域,可 節省參數推估之時間與精力。 7. 數值模擬案例可作為地下水管理決策之基礎,然過去模擬 案例僅能以紙本或文件的方式整理、呈現、分享與重現,較少研 究者直接將案例本身分享於網際網路上,原因在於除了案例本身 外,如欲於成功分享給他人,必先完成數值模式之安裝與設定, 造成模擬案例之分享不易。如可以集中式的伺服器完成數值模式 之安裝與設定,在伺服器上統一進行計算,藉由網際網路分享案 例模擬結果,可有效分享模擬案例,達到知識分享與管理之目 的。 基於前述使用者的需求分析,為因應使用者的需求,本系統將以 網頁版應用、行動版應用與進階研究應用等三個不同的使用方式,來 滿足此七項不同之需求。以下將進一步描述: 1. 網頁版應用:由於地下水觀測網為地下水管理之基礎,因 此資料以地下水觀測站為單位,使用者可以視覺化的方式掌握觀 測站的空間分布,並提供各觀測站的水文地質參數與其他資訊, 以視覺展示方式呈現時序變化之觀測水位,方便使用者掌握地下 水系統之時空分布。此外,本系統建置之網頁應用程式伺服器, 可與後端之地下水數值模式互動並設定變數於其上,呈現特定區 域之地下水數值模擬案例,如濁水溪沖積扇或屏東平原,並提供 模式參數之重設定介面,藉由後端模式服務伺服器重新運算,對 於決策者而言,利用已完成檢定與建置之模式,可以遠端加入待

(30)

施行之策略,分析策略施行成效,以達到知識分享、管理與加值 的目的。 2. 行動版應用:使外業調查人員勘察時,可藉由行動設備裡 的地圖輔助測站點的查詢及定位自身點位到地圖上,方便了解空 間方位查找。亦可做簡單的水文資料查找或是站點水位趨勢的呈 現。 3. 進階研究應用:對於特定研究區域,如屏東平原或濁水溪 沖積扇,本系統建置資料庫儲存,觀測水位與地下水參數(如含水 層厚度與地表變化,以及水力傳導係數、比流出率與儲水係數之 現地調查值),研究人員在建構或檢定該區域之數值模式時,可利 用本系統提供之介面(API)直接取得所需資料與參數,本系統亦提 供 MODFLOW 之前置資料處理介面,所取得之資料可直接儲存 為 MODFLOW 輸入格式,簡化使用者之工作。此外,由於模式 建置時,水力傳導係數、比流出率與儲水係數之現地調查值往往 遠少於模式網格數量,因此需藉由內插演算法或分區法等,搭配 專家之主觀判斷,方可完成各網格參數之檢定工作,故本系統亦 應以資料庫儲存檢定完成之參數。

4.2 系統需求分析

本研究以資料共享與系統整合為出發點,建置一地下水資源決策 支援系統,用以 Web Service 的方式因應三種不同應用情境,此系統 細分的三個子系統,可視之各自獨立的應用,但實際背後服務的支援 則是共用的,故在本節將分析功能需求,作為系統前置規畫作業,在 評估各種分析後取得最佳的系統整合方式。以下 4.2.1 為網頁版系統, 4.2.2 為行動版系統,4.2.3 為進階研究應用版系統。

(31)

4.2.1 網頁版應用之系統功能需求

網頁版系統主要幫助研究人員能夠利用在有網路的情況下,取得 水文相關資訊幫助決策,故規畫有三個項目,有查詢地下水測站、 Modflow 數值模擬、數值模擬結果查詢,如下圖 4.1 呈現,依據這三 個項目分別整理出以下系統功能需求描述之列表 4.1。 圖 4.1 網頁版系統功能 表 4.1 網頁版系統功能需求描述 功能名稱 子功能 功能說明 查詢地下水測 站資訊 地 圖 輔 助 地 下 水 分區查詢 選取地下水分區 --> 選取測站 --> 顯示長期水位趨勢 觀 測 井 基 本 資 料 查詢 選取地下水分區或依文字查詢 --> 連結測站基本資料--> 列出 基本資料 --> 進一步查詢水位 趨勢及水位資料下載 Modflow 數值 模擬 線上數值模擬 選取系統預設或自訂 --> 選擇 模擬年份與模式名稱 --> 開始 模擬

(32)

模擬狀況查詢 查詢模擬狀況 --> 下載模擬結 果 數值模擬結果 查詢 結 果 統 計 資 訊 查 詢 選擇情境、年份和模式名稱 --> 顯示統計資訊  網頁版使用案例(Use Case)模型分析 使用案例即是以使用者的角度來看系統該做什麼,以此為系統開 發出發點。使用案例是使用者動作的描述,所以是動詞。 通過對上述系統功能需求描述情況的分析,確定動作者(Actor) 有地下水研究人員。可以繪出使用案例圖,如下圖 4.2 所示。 圖 4.2 網頁版系統使用案例圖 根據使用案例模型,列出下表 4.2 使用案例描述,主要用它來記 錄和區辨流程。

(33)

表 4.2 線上水資訊系統使用案例描述 使用案例名稱 描述 查尋地下水測站水位趨 勢 摘要描述:地下水研究人員可以線上查詢地 下水測站 主要動作者: 地下水研究人員 主流程: 1.用地圖查詢地下水測站位置。 2.勾選地下水分區。 3.選取地圖地下水測站。 4.查詢地下水測站地下水位趨勢。 查詢觀測井基本資料 摘要描述:地下水研究人員可以線上查詢觀 測井基本資料 主要動作者: 地下水研究人員 主流程: 1.查詢地下水分區。 2.選取地下水測站連結。 3.得到觀測井基本資料。

(34)

使用案例名稱 描述 模擬 Modflow 數值模式 摘 要描述 :地下 水研 究人員可 以線上模 擬 Modflow 數值模擬 主要動作者: 地下水研究人員 主流程: 1.選取系統預設或自訂。 2.選取模擬年份。 3.選取模式名稱。 4.開始模擬。 查詢數值模擬水平衡分 析結果 摘要描述:地下水研究人員可以線上查詢數 值模擬結果 主要動作者: 地下水研究人員 主流程: 1.選取模擬情境。 2.選取模擬年份。 3.選取模式名稱。 4.查詢模式水平衡分析結果。

(35)

4.2.2 行動版應用之系統功能需求

行動版系統主要幫助研究人員在外業勘查時,可利用自身的手持 設備幫助查找水文相關資訊,即辨識自身所在地點與地下水測站分布, 行動版系統規畫為三個項目,有地圖輔助空間查找、水位歷線查詢和 測站資料,如下圖 4. 3 呈現,依據這三個項目分別整理出以下系統功 能需求描述之列表 4.3。 圖 4.3 行動版系統功能 表 4.3 行動版系統功能需求描述 功能名稱 子功能 功能說明 地圖輔助空間查 找 定位自身位置 使用定位顯示位置在地圖上 查詢測站 選擇地下水分區 --> 顯示測站 標籤 水位歷線查詢 顯示水位歷線圖 選擇測站 --> 顯示長期水位趨 勢 地下水測站資料 地 下 水 測 站 基 本 資料 選擇測站 --> 顯示測站資料

(36)

行動版使用案例模型分析 通過對上述功能需求情況的分析,確定動作者有地下水外業研究 人員。可以繪出使用案例圖,如下圖 4.4 所示。 圖 4.4 行動版系統使用案例圖 根據使用案例模型,列出下表 4.4 使用案例描述,主要用它來記 錄和區辨流程。

(37)

表 4.4 行動版系統使用案例描述 案例名稱 描述 查 找 地 下 水 分區 摘要描述: 地下水外業研究人員可以使用手機查詢地 圖空間資訊 主要動作者: 地下水外業研究人員 主流程: 1.include:: 查詢測站。 2. include:: 定位本身位置。 查 詢 水 位 歷 線 摘要描述: 地下水外業研究人員可以使用手機查詢水 位歷線 主要動作者: 地下水外業研究人員 主流程: 1.選取地下水分區。 2.選取地下水測站。 3.得到水位歷線圖。 查 詢 水 位 站 資料 摘要描述: 地下水外業研究人員可以使用手機查詢水 位站資料 主要動作者: 地下水外業研究人員 主流程: 1.選取地下水分區。 2.選取地下水測站。 3.得到水位測站資料。

(38)

案例名稱 描述 定位 摘要描述: 地下水外業研究人員可以使用手機定位 主要動作者: 地下水外業研究人員 主流程: 1.啟動定位功能。 2.標出自身地圖定位點。 查詢測站 摘要描述: 地下水外業研究人員可以使用手機地圖查 詢測站空間分布 主要動作者: 地下水外業研究人員 主流程: 1.選擇地下水分區。 2.地圖標出地下水測站。

4.2.3 進階研究應用之系統功能需求

進階研究應用版系統有助於進階研究人員或數值模式,在 linux 工作站由 bash shell 的劇本編寫,可讓準備大量的水文相關資料的任 務被安排至一系列自動化工作流程應用中,省去四處收集資料的費時。 進階研究應用版系統規畫為兩個項目,有準備大量地下水資料、儲存 模式模擬結果,如下圖 4.5 呈現,依據這兩個項目分別整理出以下系 統功能需求描述之列表 4.5。

(39)

圖 4.5 進階研究應用版系統功能 表 4.5 進階研究應用版系統功能需求描述 功能名稱 功能說明 準 備 大 量 地 下 水資料 給予所需的地下水測站清單 --> 收集列表中測站之 地下水水位時序資料 儲 存 模 式 模 擬 結果 選擇準備儲存的資料 --> 儲存至資料庫 進階研究應用使用案例模型分析 通過對上述功能需求情況的分析,動作者有地下水進階研究人員 與地下水數值模式。可以繪出如下圖 4.6 使用案例圖。

(40)

圖 4.6 進階研究應用版系統使用案例圖 根據使用案例模型,列出下表 4.6 使用案例描述,主要用它來記 錄和區辨流程。 表 4.6 進階研究應用版系統使用案例描述 案例名稱 描述 取得大量地下水 時序資料或地質 參數資料 摘要描述: 進階研究研究人員可以給予電腦準備 查詢之地下水測站清單,即可取得大量地下水時序 資料或地質參數資料。 主要動作者: 進階研究研究人員或地下水數值模 式 主流程: 1. 選擇水測站清單。 2. 準備大量水相關資料。

(41)

案例名稱 描述 儲存模式模擬結 果 摘要描述: 進階研究研究人員可以使用資料庫服 務儲存模式模擬結果。 主要動作者: 進階研究研究人員或地下水數值模 式 主流程: 1.選取準備儲存的資料。 2.上傳至資料庫。

4.3 系統架構

為了因應業務快速變換、擴展、減少重複開發以及相容不同系統, 因此系統軟體架構採用服務導向架構為基礎。服務導向架構類似於物 件導向,都是使用小的零件組合成大的系統,但服務導向架構強調是 將鬆散耦合的應用程式功能元件發佈至網路上供人使用。而 Web Service 即是實現服務導向架構方式之一。 因此本研究之地下水決策支援系統,根據上述各系統需求分析與 描述,以服務為導向勾勒出系統整體架構,如下圖 4.7 所示,包含網 頁版系統、行動版系統及進階研究版。此三個子系統都將結合數個 Web Service 元件作為設計原則,整合應用在各自的需求裡。 此系統採用了分層架構,即將系統分為表現層、處理層 、服務 層和資料來源層。分為四個層次可將各層所負責的項目安排責任歸屬, 表現層即負責呈現使用者介面;處理層即負責依作業程序而考慮如何 組裝服務;服務層即負責提供服務與保證各個服務可用;資料來源層 即負責實體資料庫的管理,讓資料的更動不會影響程式。所以對此四 個分層進行隔離,當變化發生時能夠盡量使系統程式更動最小,提高 系統的可維護、可擴展和可修改。

(42)

圖 4.7 為系統整體架構圖

4.3.1 表現層

負責提供使用者介面呈現,便於終端使用者以線上或行動裝置查 詢水利相關資訊。 網頁版系統混搭 google earth,透過瀏覽器即能展示地理空間資 訊,輔助使用者查找測站位置,並查詢測站水位趨勢等時序性資料或 測站基本資料。網頁版應用也可以線上執行地下水數值模擬,藉由網

(43)

頁界面輸入不同參數設定後,系統會把設定送至後端地下水數值模擬 服務重新計算與模擬分析不同情境下之地下水狀態。 而在行動版系統則是利用 google map 作為地理資訊輔助查找介 面。藉由 google map 與行動裝置的功能搭配,讓外業研究人員方便 進行勘查工作。讓使用者介面歸類在表現層,有助於資源的共用、系 統部署、安裝和升級,意味著在因應業務需求下,只需要對後端伺服 器進行改寫各項配置即可,使資訊和資源有效利用 。

4.3.2 處理層

屬於一個概念層級,開發人員可根據不同的使用者需求,依工作 處理流程的順序,組裝服務層的服務,使這一連串服務作業為提供特 定業務使用。使系統發展可專注於服務的實現,這裡只需要選擇適合 的元件來組裝達到業務目的,也可快速因應業務改變時,靈活組裝。

4.3.3 服務層

以 Web Service 封裝各種程式功能元件發佈到網路上,提供標準 介面給服務需求者調用。這層有四個服務元件,說明如下:(1)資料服 務來說,考量時序性資料因資料更新頻率高、資料量大,為顧及資料 傳輸效率及其安全性,於規劃時序性資料庫時,即採用 Web Service 封裝資料庫以提供標準格式之資料服務,使資料庫可以跨平台共用, 不用再重覆建置。(2)檔案管理服務適用於對使用者端資料的上傳與 下載。(3)資料分析服務為把資料處理結果作總計以及繪製圖形。 (4)Modflow 服務為地下水數值模擬服務。此分層提供管理者更彈性且 更佳的管理環境。

(44)

4.3.4 資料來源層

資料來源層實際以資料庫做為主要的資料提供者。服務層的資料 服務為此資料庫的網路服務,作為資料服務開放的標準介面。資料庫 存儲大量水文相關資料,因此資料只需要來源單位負責,依其原有機 制做維護更新,提供資料服務連結應用,以確保資料之唯一、即時及 正確。

4.4 系統設計

在本章前述中已對本系統有簡單描述,藉著界定此系統範圍以及 系統需求的分析,規劃了此系統的架構,使之後各項設計將採用這個 架構為方針,達成符合架構規則及系統需求的開發。

4.4.1

系統功能設計

經系統分析,整理出網頁版、行動版和進階使用者版個別運用的 功能,設計符合系統架構及系統環境要求的實作項目,以下把水資源 系統拆分為三個子系統各述。 1.網頁版系統功能簡介

此系統將以 ASP.net C#開發,是架構在 Windows IIS 平台上的線 上系統,在利用了混搭 Google Earth 下,使得線上查詢與展示具有空 間資訊的輔助功能,利用 KML 在 Google Earth 上標記點位,等於實 現了簡單的地理資訊系統(GIS)功能。並結合地下水數值模式計算的 服務,讓此過去已開發的數值模擬系統能快速整合至 ASP.net C# 開 發之網路應用程式中,提供業務需求上更彈性發展系統的方式。 下圖 4.8 網站架構圖所具備功能,是需求分析之結果,故功能說 明與需求分析表內之功能敘述大致相同,此處不再重複提出,只表示 設計項目。

(45)

圖 4.8 網站架構圖 2.行動版系統功能簡介 此系統以開放式的 Android 為開發平台,以 java 程式撰寫,結合 手機自身硬體功能,設計一行動式查詢與展示空間位置的手機應用程 式,利用 Google Map 提供的服務,使地下水外業勘查人員可方便查 找測站位置,也藉由存取資料服務,提供水位歷線趨勢與地下水測站 資訊。 下圖 4.9 手機功能架構圖所具備的設計項目,是需求分析之結果, 因功能說明與需求分析表內之功能敘述大致相同,故此處不再重複說 明。

(46)

圖 4.9 手機功能架構圖

3.進階研究應用版系統功能簡介

此系統以 Fedora 16 為作業平台,以往進階研究人員習慣於在類 UNIX 系統(Unix-like)下利用命令列下達指令執行任務。在 linux 環境 一連串指令是可由劇本安排的,所以安排資料服務存取任務至劇本中 執行,能藉著驅動系統自動化過程,依序準備測站之時序資料,省略 過去研究人員還需到處查找準備資料給數值模式的不便。

4.4.2

網路服務設計

本研究之網路服務起先是分散異地的應用程式功能元件,皆在不 同時期與不同作業系統平台所開發,而為了有效利用這些有效資源, 故分別對各元件施以 Web Service 技術封裝成線上服務,讓未來只要 依照業務需求,即可以鬆散耦合方式把各功能迅速組裝到新系統中, 進行分散運算。

(47)

1.資料服務 資料服務提供地下水時序資料與地下水測站資料的服務。此一服 務可為日後更新資料庫後,不用配合資料庫內容更新而修改使用者端 程式,且可以得到資料庫更新後的資料。而實作上,系統使用 Web Service 提供標準介面讓行動設備只要向資料服務送出要求服務訊息 就能夠取得遠端資料庫所儲存大量的地下水水文資訊。 2.地下水數值模擬服務 地下水流模式,使用者可輸入不同的地下水模擬設置(如改變地 下水分區模式、模擬年份及情境等),即時提供不同情境下的模擬結 果,讓使用者瞭解不同情境下,地下水環境所受的影響。 3.資料分析服務 地下水分析服務的功能主要在於進行分析地下水時序資料數據, 繪製水位歷線趨勢圖,可以在使用者介面設定要分析的地下水位站, 即可把繪製好的水位歷線趨勢圖回傳至使用者端,亦可透過行動設備 的使用者端進行資訊展示。 4.檔案管理服務 提供使用者上下載檔案服務,可經由此服務下載水位檔案或上傳 自備的地質參數資料,此處也存放了地圖圖資所需的 KML 檔案。

(48)

表 4.7 網路服務列表

4.4.3

系統流程設計

地下水決策支援系統是一個分散式運算的系統,而針對使用的環 境不同再以三個子系統做區隔,以下會依系統的功能設計,用以下圖 形描述每個子系統各功能執行時與其他系統元件或單元間互動的狀 況。且單元間傳遞的訊息是按時間發生先後順序,以此流程設計為藍 圖,讓開發者在錯綜複雜的環境下簡化對應到互動單元,以利於掌握 功能程式撰寫與佈署,把焦點控制在相關單元,提高開發效率與評估 可行。 此系統運作時互動的服務單元,是以 Web Service 設計裡的服務 為主要搭配應用,讓某些功能在實際流程上是耦合了多個服務元件來 達到功能目的,使資源可重複利用,讓累積的舊有成果得以延續。

(49)

網頁版系統 1. Google Earth 地下水分區查詢,如下圖 4.10 (1) 線上使用者向網站伺服器送出查詢某地下水分區訊息。 (2) 網站伺服器得知要查詢區域並向 Google Earth 取得圖資。 (3) 網站伺服器取得該區圖資並呈現測站點空間方位給線上 使用者作進一步查詢用。 圖 4.10 Google Earth 地下水分區查詢時序圖 2. 觀測井基本資料查詢,如下圖 4.11 (1) 線上使用者向網站伺服器送出查詢某地下水分區訊息。 (2) 網站伺服器送出查詢該區域全部地下水測站訊息給資料 服務伺服器。 (3) 取得該區全部地下水測站資訊並呈現給線上使用者。

(50)

(4) 線上使用者進一步向網站伺服器查詢回報的地下水測站 中之其一。 (5) 網站伺服器繼續向資料服務伺服器查詢此一測站細節資 訊。 (6) 網站伺服器獲得資料服務伺服器回覆資訊後再回傳給線 上使用者。 圖 4.11 觀測井基本資料查詢時序圖 3. 水位歷線查詢,如下圖 4.12 (1) 線上使用者向網站伺服器送出查詢某地下水分區訊息。 (2) 網站伺服器向資料服務伺服器請求此地下水分區的資料 集。 (3) 線上使用者告知網站伺服器由此測站資料集中選擇其一 站 。

(51)

(4) 網站伺服器隨即向資料服務伺服器查詢此一測站水位資 料。 (5) 網站伺服器獲得資料後繪出水位歷線回覆給線上使用 者。 圖 4.12 水位歷線查詢時序圖 4. Modflow 模擬數值服務,如下圖 4.13 (1) 線上使用者向網站伺服器送出請求模式模擬線上服務之 基本設定。 (2) 網站伺服器送出啟動地下水模式服務伺服器的模擬服 務。 (3) 模式服務伺服器向資料服務伺服器取得模式模擬所需的 輸入資料,才開始執行模擬。 (4) 模擬完畢後向資料服務伺服器回存模擬結果 。 (5) 網站伺服器回覆線上使用者模式模擬已結束,可在何處取 得資料。

(52)

圖 4.13 Modflow 模擬數值服務時序圖 5. 數值模擬結果查詢,如下圖 4.14 (1) 線上使用者向網站伺服器依案例模式的選擇,來索取模式 模擬之結果。 (2) 網站伺服器向資料服務伺服器查詢使用者給定的案例情 境模擬結果。 (3) 網站伺服器得到結果後展示給線上使用者模式模擬水平 衡分析結果。

(53)

圖 4.14 數值模擬結果查詢時序圖 行動版系統 1. Google Map 定位,如下圖 4.15 (1) 行動使用者開啟 Google 地圖並取得圖資。 (2) 行動使用者向 Google 查詢自身在地圖的點位資訊 。 (3) 取得該圖資並展示地圖中使用者定位點給行動使用者。

(54)

圖 4.15 Google Map 定位時序圖 2. Google Map 查詢測站,如下圖 4.16 (1) 行動使用者開啟 Google 地圖並取得圖資。 (2) 行動使用者向檔案管理服務伺服器要求下載某地下水分 區的 KML 檔案。 (3) 並隨之在地圖中展示該區點位在 Google Map 上的分布, 可進一步點擊站位查詢。

(55)

圖 4.16 Google Map 查詢測站時序圖 3. 水位歷線查詢,如下圖 4.17 (1) 行動使用者向資料分析服務伺服器送出查詢某地下水測 站訊息。 (2) 資料分析服務伺服器繼續向資料服務伺服器要求一地水 位測站時序資料。 (3) 資料分析服務伺服器獲得資料後,會先分析數據再繪出一 測站水位歷線圖並回覆給行動使用者。

(56)

圖 4.17 水位歷線查詢時序圖 4. 地下水測站查詢,如下圖 4.18 (1) 行動使用者向資料服務伺服器送出查詢某一地下水測站 訊息。 (2) 資料服務伺服器回覆給行動使用者此一地下水測站之基 本資料。 圖 4.18 地下水測站查詢時序圖

(57)

進階研究應用版 1. 準備大量地下水時序資料,如下圖 4.19 (1) 進階使用者向工作站下一個準備資料的命令。 (2) 工作站隨即向資料服務伺服器要求一地水位測站時序資 料。 (3) 工作站獲資料後回覆完成訊息給進階使用者,使用者將可 做進一步資料利用。 圖 4.19 準備大量地下水時序資料時序圖

(58)

2. 儲存模式模擬結果,如下圖 4.20 (1) 進階使用者向工作站要求模式模擬完成的結果要回存資 料庫。 (2) 工作站隨即將模式模擬完成結果送至資料服務伺服器儲 存。 (3) 工作站儲存任務結束後,回覆進階使用者任務完成。 圖 4.20 儲存模式模擬結果時序圖

(59)

第五章 系統實作與實例展示

本研究設計以 Windows 作業系統和 Linux 作業系統兩種環境作 為服務伺服器平台,再以 Web Service 封裝四個常用應用程式成為服 務發佈到服務伺服器上,而服務主要有資料服務、地下水數值模擬服 務、資料分析服務和檔案管理服務。地下水資源管理決策支援系統會 依運用目的異同而用不一的網路服務組合成應用程式。因此依目的可 以分為三個子系統,分別為網頁版、行動版和進階研究應用。以下會 先介紹系統使用環境再介紹不同的子系統佈署情況。

5.1 系統環境與開發工具

本系統以三個不同層面來看,有使用者端、網頁伺服器端和服務 伺服器端。使用者端主要是以提供使用者進行互動的使用介面,本研 究分為網頁版、行動版和進階研究應用,所以亦存在三種使用介面, 主要互動對象為人。網頁伺服器端為存放網頁或是網頁應用程式,是 網頁版程式佈署處。而服務伺服器端為佈署服務的平台,有 Apache Axis2 與 Windows IIS 兩種平台的服務伺服器。以下分別依使用者端、 網頁伺服器端和服務伺服器端之軟硬體需求整理列表,如下表 5.1、 表 5.2、表 5.3 所示。

(60)

表 5.1 軟、硬體需求─使用者端

軟、硬體需求─使用者端

網頁版使用者

作業系統: Windows XP 瀏覽器:Microsoft IE 8 以上 Google earth plugin

桌上型電腦 行動版使用者 作業系統: Android Google map Android 智慧型手機 進階研究應用使用者 作業系統: Fedora 16 Fedora Terminal Modflow 數值模式 bash shell 工作站主機 表 5.2 軟、硬體需求─網頁伺服器端 軟、硬體需求─網頁伺服器端 網頁伺服器 作業系統: Windows 7 伺服器平台:Windows IIS 7.0 資料庫: MS SQL 2008R2

資料庫管理工具: SQL Server Management Studio CPU: Intel(R) Core(TM) i7-2600 CPU @3.40GHz RAM: 8 GB

(61)

表 5.3 軟、硬體需求─服務伺服器端 軟、硬體需求─服務伺服器端 服務伺服器 (一) 作業系統: Fedora 16 伺服器平台:Apache Tomcat 6.0.35 伺服器平台:Apache Axis2 1.6.2 CPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz, 16 cores RAM: 12 GB Java 環境: JDK 1.6.0.33 服務伺服器 (二) 作業系統: Windows 7 伺服器平台:Windows IIS 7.0 資料庫: MS SQL 2008R2

CPU: Intel(R) Core(TM) i7-2600 CPU @3.40GHz

(62)

本系統實際開發所應用的工具軟體為下表 5.4 所列。 表 5.4 開發工具

用途 開發工具

Web Service 開發 Eclipse Java EE IDE Indigo Java 程式撰寫 Eclipse Java EE IDE Indigo Android 手機應用程式 Eclipse Java EE IDE Indigo Asp.net C# 程式撰寫 Microsoft Visual Studio 2010

製圖 Microsoft Office Visio 2007 、

SoftwareIdeasModeler

5.2 Web Service 介面

本系統發展主要應用有資料服務、地下水數值模擬服務、資料分 析服務和檔案管理服務,以下分別描述此四個服務之介面實作。實際 佈署情況可以參考 5.3 節實際佈署之圖 5.1 系統環境實際佈署情況, 紅色大框範圍內則為服務之實體佈署。 1.資料服務之 Web Service 介面 資料服務實作是以 ASP.net C#操作後端 SQL Server 資料庫的應 用程式,把此程式佈署至 IIS 服務伺服器上,可讓服務需求者藉由 Web Service 介面的 WSDL 描述,即可取得此服務通訊和使用,讓資 料需求者取得所需的資料,由於該服務提供可存取的項目是由服務提 供者主導,也就是說能對資料庫資料加以保護,只開放要供應的資料 即可,非必要開放的資料則隱藏。

(63)

2.地下水數值模擬服務之 Web Service 介面

地下水數值模式服務原是在 linux 環境下的應用程式,由於 java 語言跨平台的特性,所以在此作業系統環境下以 java 程式實作改寫 原應用程式是適合的,而 Apache Axis2 平台有直接轉換 java 程式為 WSDL 的功能,也支援在 linux 環境下架設服務伺服器平台,所以此 平台亦適合佈署在 linux 環境下以 Java 改寫操作地下水數值模式之應 用作為網路服務。 3.資料分析服務之 Web Service 介面 資料分析服務的介面實作與系統環境佈署方式和地下水數值模 式服務介面同,只有提供的服務不同,是以分析地下水時序資料為主, 把分析後的資料以水位歷線圖呈現。 4.檔案管理服務之 Web Service 介面 檔案管理服務的介面實作與系統環境佈署方式也和地下水數值 模式服務介面同,此服務主要負責資料上傳給模式作為自訂參數輸入 與下載模式運算後的結果。

5.3 實際佈署

下圖 5.1 為系統環境實際佈署情況,使用者介面即對應系統之表 現層,可依據應用形式可分為三種不同的使用者介面,此圖 5.1 呈現 分別以橘色框為網頁版應用、綠色框為行動版應用與藍色框進階研究 應用。而對應服務層則是紅色的大框範圍內,因為要配合服務元件本 身所在的作業系統,故資料分析服務、地下水數值模式服務和檔案管 理服務是原本在 linux 環境下之應用程式,所以用 Apache Axis2 架 設服務平台提供服務,而資料服務則是在 Windows 環境下以 IIS 為提

(64)

供服務平台。各項服務皆可以由各自的 WSDL 描述服務如何通訊和使 用。 圖 5.1 系統環境實際佈署情況 1.網路版 此子系統前端使用者介面是以 ASP.net C#撰寫網頁應用程式介 面,該網頁應用程式佈署在 Windows IIS 平台伺服器上,在網頁程式 中嵌入了 Google Earth API,使得線上查詢與展示具有使用 Google Earth 提供的服務具有可讓使用者理解地理空間資訊的輔助功能。網 頁程式功能主要結合的網路服務有四種,為資料服務、地下水數值模 式服務、資料分析服務和檔案管理服務,所以網頁程式只需要依程式 功能取得對應的服務網址即可以透過 SOAP 互相傳遞訊息,調用該項 服務。

(65)

2.行動版

此子系統前端使用者介面以 Android 環境為主,手機應用程式是 以 Java 程式撰寫,該子系統可以藉由程式撰寫在手機應用程式中取 得 Google Map 的使用權限,進而使用及操作 Google Map 查詢和展 示地下水測站之圖像化空間資訊。而另外手機應用還包含了資料分析 與水位站資料的查詢,所以結合的網路服務有兩種,為資料服務與資 料分析服務。

3.進階應用版

此子系統前端使用者介面以 linux 終端機的命令列(command line) 為主,進階使用者以指令方式,執行可提供水文時序資料與水文參數 資料之資料服務劇本,此劇本內容可編排從資料存取至轉換為地下水 數值模式所需之輸入檔這些程序。所以一系列的工作流程讓劇本安排, 皆可以依劇本自動化的方式執行全部過程。結合的網路服務主要為資 料服務。

5.4 實例展示

1.網頁版-查詢地下水測站

查詢地下水測站功能頁面以網頁程式嵌入 Google Earth API,使 網頁介面可作 3D 視覺化地圖的操作,提供使用者透過瀏覽器即可掌 握研究區域之地理空間資訊。如圖 5.2。

(66)

圖 5.2 查詢地下水測站(1)

以屏東平原為例,在地下水分區的選項勾選了屏東平原後, Google Earth 立即把焦點放大至屏東平原地下水區並顯示此區之所有 地下水測站標記,同時在 Google Earth 右側的網頁區塊呈現此地下水 分區所有測站名與測站之核選區塊。如下圖 5.3。

(67)

圖 5.3 查詢地下水測站(2) 延續圖 5.3,要查詢多個地下水測站之水位趨勢可藉由 Google Earth 上之地下水測站標記選擇勾選或移除已勾選項目。如下圖 5.4。 圖 5.4 查詢地下水測站(3) 以選擇東港(1)地下水測站為例,送出查詢後,會由網頁視窗呈 現一水位歷線趨勢圖。如下圖 5.5。

(68)

圖 5.5 查詢地下水測站(4) 以屏東平原地下水區為例,用下拉式選單選取屏東平原,即呈現 屏東平原地下水區之測站基本資料列表,選取單一測站之連結可做更 進一步查詢測站細節資料,如選擇中正(1)站後,即顯示中正(1)站之 細節資料。如下圖 5.6 至圖 5.7。 圖 5.6 查詢地下水測站(5)

(69)

圖 5.7 查詢地下水測站(6)

延續圖 5.7,可以在此頁面選擇查詢此地下水位站水位歷線之 起始至結束期間水位變化趨勢。如下圖 5.8。

(70)

2.網頁版-Modflow 數值模擬 Modflow 地下水數值模擬功能頁面以下拉式選單讓使用者進行 選填地下水數值模式設定輸入選項,選填完後送出此表單驅動後端服 務執行並等候後端地下水數值模擬完成。此地下水數值模擬是藉由後 端的地下水數值模擬服務所支援,模式模擬完成後會通知前端介面由 網頁顯示數值模擬完成。之後按下此網頁查詢模式處理狀況之按鈕, 網頁即顯示可下載模擬結果的連結,使用者按下連結可下載檢定完成 之地下水案例結果。如圖 5.9 至圖 5.11 圖 5.9 Modflow 數值模擬-系統預設(1)

(71)

圖 5.10 Modflow 數值模擬-系統預設(2)

圖 5.11 Modflow 數值模擬-系統預設(3)

(72)

而 Modflow 地下水數值模擬功能亦能夠選擇使用者自訂參數, 如下圖 5.12,使用者按下上傳按鈕把自訂參數檔案上傳至後端檔案管 理服務伺服器,之後選填完設定選項執行送出,即可以驅動後端數值 模式服務取得自訂參數執行模擬,在模擬完成後可下載模擬的結果, 同上圖 5.10 圖 5.11 步驟可以下載模擬結果,若要更進一步分析地下 水狀態,可利用地下水分析工具軟體。 圖 5.12 Modflow 數值模擬-自訂參數 3.網頁版-數值模擬水平衡結果查詢 數值模擬結果查詢功能頁面以下拉式選單讓使用者進行選取 已模擬過的地下水數值模式案例情境,選擇完送出後會由網頁呈現此 案例之水平衡分析結果。如下圖 5.13。

數據

圖 3.1 SOA 實作技術關係架構圖
圖 3.2 Web Service  架構圖  (資料來源: IBM)
表 3.1 Android 版本名稱
圖 3.3 Android  系統架構圖    引用自(P.Brady., 2008)
+7

參考文獻

相關文件

&#34;internet Access by Mobile in a Smart

[r]

浩南挑了一張班遊的照片,想自行加工美化送給老師。他將長 14 公 分、寬 12 公分的照片周圍貼上等寬的花邊膠帶。若裝飾後中間剩下 的照片區塊面積為 80 平方公分,試問花邊膠帶的寬度為

Approach and a Boundary Element Method for the Calculation of Sound Fields in the Human Ear Canal, &#34; Journal of the Acoustical Society of America, 118(4), pp. Axelsson,

Randall,D.,te al,(1997),Water Supply Planning Simulation Model Using Mixed-Integer Linear Programming, Jouenal of Water Resources Planning and

Lee's (2007) &#34;Study of Long Stay Destination Evaluation Indicators for Japanese Pensioner Tourists in Taiwan&#34; as research dimension, to analyze the grading

Gen, &#34;Minmax earliness/tardiness scheduling in identical parallel machine system using genetic algorithms,&#34; Computers &amp; Industrial Engineering, vol. Cheng,

There would be no special value in &#34;creative leaps,&#34; no fundamental gap between solving a problem and recognizing the solution once it's found. Everyone who could