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

JBuilder + WebLogic 實作教材管理系統:異構資料庫整合與 EJB 分層架構實戰

     編輯:Java 相關知識

專案背景

某高校教務處與教材倉庫各有獨立資料庫 (資訊孤島),教材選訂作業靠人工,效率低落。利用校園網環境,基於 WebLogic 應用伺服器建立教材綜合管理系統,整合異構資料庫,實現 B/S (教研室選訂) 與 C/S (教材委員會訂購管理) 雙模式運作。

系統架構

  • 資料層:教務資料庫 (既有)、倉庫資料庫 (既有)、教材委員會資料庫 (新建)
  • 中介層:WebLogic 連接池 + 資料源 → Entity EJB (CMP) → Session EJB (業務邏輯門面)
  • 表現層:B/S 端 JSP 頁面 (教研室選訂/查詢/改密);C/S 端 Swing 客戶端 (訂購報表/系統管理)

系統架構圖

資料庫設計 (六張核心表)

資料庫表名關鍵欄位
教務處專業人數表id (PK), num
教務處課程安排表id (PK), cid, cname, teachunit, sname
倉庫庫存量表bid (PK), bname, bnote, bauthor, bpublisher, bprice, bnum
教材委員會選教材表cid (PK), bid, cname, bname, teachunit
教材委員會訂單表id (PK), bname, numneed
教材委員會密碼表teachunit (PK), pw

WebLogic 連接池與資料源配置

  1. 建立三個連接池,對應三個資料庫,關鍵設定 JDBC URL 與 Driver
  2. 教務/倉庫 (Oracle):jdbc:oracle:thin:@host:1521:sid / oracle.jdbc.driver.OracleDriver
  3. 教材委員會 (SQL Server):jdbc:weblogic:mssqlserver4:db@host:port / weblogic.jdbc.mssqlserver4.Driver
  4. 依連接池定義 JNDI 資料源 (如 java:/comp/env/Coursearrangement)
  5. 屏蔽資料庫類型/版本/地域差異,統一 JNDI 查找

連接池配置

資料源配置

EJB 實作細節

Entity EJB (CMP) - 六張表各一個

  • JBuilder 自動識別表結構生成欄位、Home/Remote 介面、findByPrimaryKey
  • 手動新增 Finder 方法:
    • 課程安排表:findAll()、findByCid()
    • 選教材表:findAll()、findByBid()
    • 訂單表:findAll()

Session EJB (無狀態) - connectEJBs

  • 單一 Session Bean 統籌所有 Entity Bean 交互 (資料量不大)
  • setSessionContext() 中透過 JNDI 查找六個 Entity Bean Home 介面初始化
  • 提供 3 個本地輔助方法 (解決同一方法多次寫入限制) + 多個遠端業務方法

關鍵業務方法

方法用途
couinfo()取得教務課程資訊 (Collection)
writexk(Collection)初始化將課程資訊寫入選教材表
selectunit()取得所有開課教研室名稱 (登入下拉選單用)
writetp(Collection, pw)建立/更新教研室密碼表
reflushbaobiao()刷新訂單報表 (選教材→訂單)
getNum 系列跨資料庫計算訂購數量 (課程→專業→人數→庫存→缺口)
login(unit)驗證教研室密碼
writein(cid, bid, name)教研室填寫教材資訊存入選教材表
setpw(unit, pw)修改密碼
isbooksame(bid)檢查教材編號重複 (PK 衝突防護)
getbidname(cid)查詢已選教材參考

訂單子系統 (C/S Swing 客戶端)

  • 啟動自動同步教務課程至選教材表,分配預設密碼 888888
  • 「刷新訂單」按鈕觸發跨資料庫彙總計算,顯示書名、ISBN、訂購量
  • 核心代碼透過 PortableRemoteObject.narrow() 取得 Session Bean Remote 介面調用

訂單子系統介面

教材選取系統 (B/S JSP)

  • 五張核心 JSP:login.jsp、select.jsp、success.jsp、pwchange.jsp、pwsuccess.jsp
  • 共用 pwbean JavaBean 處理登入/改密邏輯,增強復用
  • JavaBean 輕量化,核心邏輯委派 Session EJB
  • 安全性:密碼儲存於教材委員會資料庫,JSP 僅轉發請求

教材選取介面

部署與工具效益

  • JBuilder 專案打包為 EAR (Enterprise Archive)
  • Tools → Enterprise Deploy 配置伺服器,自動生成 web.xml
  • 右鍵專案發布,一鍵部署至 WebLogic

架構亮點總結

  1. 異構資料庫透明整合:WebLogic 連接池/資料源屏蔽底層差異
  2. EJB 分層解耦:Entity Bean 封裝資料存取,Session Bean 統籌業務流程
  3. 雙模式表現層:B/S 服務眾多教研室,C/S 服務少數管理人員
  4. 工具驅動開發:JBuilder 視覺化 EJB 生成、部署自動化,聚焦業務邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved