首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

善用 EJB 打造強大的行動工作群體:WAP 整合實戰指南

     編輯:Java 相關知識

前言:企業 Java 與無線技術的結合

若企業已建立多層企業 Java 應用,其實距離無線未來比想像更近。本文透過範例應用,展示如何以最少資源將現有 EJB 元件接入無線網路。關鍵在於:重用既有 EJB、修改 Servlet、新增 WML/WMLScript 頁面,即可實現質的飛躍。

背景知識:J2EE 與 WAP 架構對比

傳統 J2EE 應用結構

典型 J2EE 應用中,JSP/Servlet 層負責生成動態 HTML。而在 WAP 應用中,這一層改為生成動態 WML(Wireless Markup Language)頁面。因此遷移時需重寫 JSP,部分情況下也需新增 Servlet,但 EJB 層保持不變,因其與資料呈現無關。

圖 1 - J2EE 應用結構

圖 1 - J2EE 應用結構

WAP/J2EE 整合架構

WAP 閘道器負責 WAP 協議棧與 Internet 協議棧的相互轉換。所有來自 WAP 客戶端的請求必須經過 WAP 閘道器才能到達 Web 伺服器。

圖 2 - WAP/J2EE 應用結構

圖 2 - WAP/J2EE 應用結構

WAP 閘道器部署考量

  • ISP 部署:用戶可訪問多站點,但安全性較低
  • 企業自建:安全性高,可關閉日誌功能,但用戶需額外設定連線

WAP 應用設計關鍵考量

螢幕顯示限制

建議每卡片顯示 5-7 行,避免過度捲動。最大尺寸視裝置而定。

安全性挑戰

  • 部分手機不支援 POST,帳密須用 GET 傳輸,閘道器日誌可能記錄敏感資訊
  • WTLS 加密在閘道器端需解密再以 TLS 加密,明文會短暫停留在閘道器記憶體中
  • 解決方案:自建閘道器、關閉日誌、或用 WMLScript 實作簡易加密

Session 維持

WAP 客戶端不支援 Cookie,需透過 URL 參數傳遞 Session ID。注意 Session ID 過長可能導致 URL 被視為無效,需縮短 ID 長度。

實戰案例:XYZ 公司行銷人員行動應用

業務場景

行銷人員拜訪客戶時,透過 WAP 裝置查看客戶清單、下訂單、回報狀態。核心目標:減少使用者按鍵次數,適應手持裝置操作限制。

圖 3 - 應用流程圖

圖 3 - 應用流程圖

核心流程與元件

  1. Login.jsp / LoginServlet:驗證身分、建立 Session、處理空白輸入驗證(伺服器端驗證)
  2. MainMenu.jsp:顯示「檢視客戶」與「登出」兩選項
  3. ClientViewServlet → ClientList.jsp → ClientDetails.jsp:三層分離設計,避免單一 WML 文件過大超出裝置容量限制(如 Nokia 7110 僅 1.3 KB)
  4. ItemListServlet → ItemList.jsp → PlaceOrder.jsp:商品選擇與下單流程

架構設計原則

  • JSP 不直接存取 EJB,透過 Servlet 作為中介
  • 分頁載入資料,適應低頻寬環境
  • 最小化使用者輸入,僅在登入與輸入採購量時需鍵盤操作

結論與部署建議

  • WAP 應用可低成本整合既有 Web 架構,僅需 WAP 閘道器軟硬體
  • WML 比 HTML 簡單,轉換成本低
  • 除非圖片傳遞關鍵資訊,否則優先提供文字資訊以節省頻寬與費用
  • 務必在真實裝置與已部署閘道器上完整測試,模擬器無法完全替代
  • 確認閘道器支援的 WAP/WML 版本,避免版本不相容
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved