首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

基於開放標準 (JSR 168 / WSRP) 建構位置資訊 Portlet 完整實戰

     編輯:Oracle 資料庫基礎

前言:企業入口網站與位置智慧的融合

企業入口網站已成為資訊存取的統一閘道。隨著位置資料(GIS)在商業智慧 (BI) 中扮演關鍵角色,將動態地圖以 Portlet 形式嵌入入口網站,成為整合「位置感知」應用的標準做法。本文示範使用 OASIS WSRP (Web Services for Remote Portlets) 與 JSR 168 (Portlet Specification) 開放標準,結合 Oracle MapViewer 與 Oracle JDeveloper 10g,快速建構可跨入口網站部署的地圖 Portlet。

核心標準介紹

  • JSR 168:定義 Portlet 的 Java API、生命週期、模式,確保 Portlet 可在任何相容容器運行。
  • WSRP:定義 Portlet 遠端發佈/消費的 Web Service 介面,實現跨廠商、跨平台的 Portlet 共享。

步驟 1:定義動態地圖

工具:Oracle MapViewer + Map Builder

  • MapViewer 提供 Java/XML API、JSP Tag Library,支援樣式、主題、基礎地圖定義。
  • 定義儲存於資料庫視圖:USER_SDO_STYLES、USER_SDO_THEMES、USER_SDO_MAPS。

範例:建立「倉庫與客戶」地圖

-- 1. 複製現有基礎地圖
INSERT INTO user_sdo_maps
VALUES ('WAREHOUSES_AND_CUSTOMERS', 'customers and warehouses',
        (SELECT definition FROM user_sdo_maps WHERE name='DENSITY_MAP'));
COMMIT;

-- 2. 使用 Map Builder (mapdef.jar) 圖形介面新增兩個主題:
--    CUSTOMERS 主題(顯示客戶分布)
--    WAREHOUSES 主題(顯示倉庫位置)
-- 3. 將主題加入 WAREHOUSES_AND_CUSTOMERS 基礎地圖,設定 Min/Max Scale 控制顯示層級。

Map Builder 介面

建立 CUSTOMERS 主題

建立 WAREHOUSES 主題

組合基礎地圖

驗證地圖服務

存取 mapclient.jsp 測試:輸入基礎地圖名稱 WAREHOUSES_AND_CUSTOMERS,確認可產生地圖影像與 XML 請求。

Map Client 測試介面

步驟 2:使用 JDeveloper 10g Portlet Wizard 建立框架

  1. 新建 Application Workspace:WSRPMapPortlet,選 Web Application 模板。
  2. ViewController 專案 → New → Java Portlet(需勾選 All Technologies 才會出現)。
  3. 精靈設定:Portlet 類別名、顯示名、支援 View/Edit/Help 模式,產生 view.jsp。

新建 Workspace

Java Portlet Wizard

指定 Portlet 類別

指定 Portlet 名稱

檢視 Portlet 模式

view.jsp 頁面

步驟 3:整合 Oracle MapViewer JSP Tag Library

  1. 開啟 view.jsp(Design 模式)。
  2. 從 Component Palette 選 MapViewer Tag Library:
    • 拖入 <mv:init>:設定 url (MapViewer 服務端點)、datasource、id (如 mvHandle)。
    • 拖入 <mv:setParam>:設定 basemap、centerX/Y、width/height、title、antialiasing 等。
    • 拖入 <mv:run>:觸發地圖渲染。
  3. 加入 HTML <img> 標籤,src 使用 <mv:getMapURL> 動態取得地圖影像 URL。

加入 init 標籤

設定 setParam 參數

加入 run 標籤

img + getMapURL

步驟 4:部署與註冊 Portlet

  1. 右鍵 web.xml → Create WAR Deployment Profile,名稱 WSRPMapPortlet,Context Root 同名。
  2. Deploy → 選擇部署至 OC4J (Portlet Container)。
  3. 驗證 WSDL:https://host:port/WSRPMapPortlet/portlets?WSDL。
  4. 於入口網站(如 Oracle Portal / WSRP Consumer)註冊此 WSDL 端點。

建立部署描述檔

部署至 OC4J

WSRP WSDL 頁面

步驟 5:跨入口網站驗證

使用 Oracle Portal/WSRP 驗證服務器測試,確認 Portlet 正確顯示動態地圖。

WSRP 地圖 Portlet 測試

結語:開放標準釋放位置智慧價值

透過 JSR 168 / WSRP,位置應用不再綁定特定入口網站廠商。MapViewer 強大的地圖渲染引擎配合標準化 Portlet 框架,讓企業能將「地圖即服務」輕鬆嵌入任何入口網站、儀表板、協作平台,實現位置智慧的普及化與資產複用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved