• 沒有找到結果。

第四章 系統建置

4.2 資料格式與存取架構

本研究存取資料使用DataNucleus AccessPlatform 提供之 API,利用 JDO 介面框架及 Plain Old Java Object(POJO)設計需保存之資料物件,成為 JavaBeans,並建立一存取架構供專案管理系統及 Applet 端存取資料。

4.2.1 資料物件

所有資料物件僅含有private 之屬性(field)、建構子(constructor)、簡單 的getter 方法及 setter 方法,每個資料物件皆對應資料庫中的資料表,其中 field 對應資料表中的欄位,若field 資料型態為另一種已定義之資料物件,則 JDO 會自動建立外部索引鍵(foreign key),可視需要於程式查詢物件時,自動由 父物件取得所有子物件,或需要該物件時方由資料庫讀取。

JDO 框架中設計完成之資料物件需將類別增強(Enhance),使框架知道 如何讀取與儲存資料物件,JDO 提供多種增強類別的方式,本系統使用註解

(Annotations)來增強類別,圖 4.4 為一個簡單範例。

圖 4.4 JavaBean 及註解範例

@PersistenceCapable public class Project{

@PrimaryKey

@Persistent(valueStrategy = IdGeneratorStrategy.INCREMENT) private long id;

@Persistent

private String project_name;

//constructor, simple getter and setter methods }

49

註 解 可 告 知 編 譯 器 於 程 式 編 譯 時 必 須 做 那 些 額 外 的 事 , 圖 4.4 中

「@PersistenceCapable」標示該類別為可保存,「@PrimaryKey」則標示該欄 位為主鍵,通常使用字串或長整數之資料型態,值不可重複,「@Persistent」

標示該欄位為可儲存,作為主鍵之欄位後方通常會加入使主鍵值自動增加之 指令。

本研究設定之工法資料為樹狀結構,如圖 4.5,一組工法對應一個鈑件 CAD 檔案,鈑件特徵資料含有特徵群組及其關聯性,鈑金幾何資料含有面積、

法向量及形心位置,用於後續特徵辨識與工法自動排程,工程資料含有各工 程之工序、導引結構、壓料板與標準零件,儲存工法排程完畢之工法資料。

工法

鈑件特徵

工程

工序 壓料板 導引結構 標準零件

鈑件幾何資訊

面積 方向 形心

特徵群組 群組關聯

圖 4.5 工法資料結構

50

4.2.2 Applet 與資料傳遞

本研究之工法與 3D 鈑件呈現承襲劉昆育[7]與鄭欽仁[9]之電腦輔助製程 規劃系統,為融合於以網頁為架構之專案管理系統,利用Applet 技術將 CAPP 系統移植於網頁為Client 端,因應資料庫與 CAPP Client 資料傳遞的需要,需 尋找一方法使Applet 與伺服器連線溝通。

Applet 與伺服器連線主要有三種方式:Http、RMI(Remote Method Invocation)與 CORBA(Common Object Request Broker Architecture),RMI 及CORBA 皆使用特殊或自訂的通訊協定,很可能被防火牆影響而無法連線,

因此本系統使用Http 通訊協定,使得 Applet 與伺服器能夠建立連線。

本系統使用三層式架構作為Applet 與伺服器連線之基礎,如圖 4.6,CAPP Client 需要取得資料物件時,以模擬瀏覽器方式,向 Http Server 發出請求

(request)指令,Http Server 經解析指令後,依指令內容向 Database Server 查詢資料物件,經Http Server 整理後再將取得之資料物件序列化(serialize)

回應(response)給 CAPP Client,完成一次資料取得的動作,CAPP Client 需 保存資料時則將請求指令與資料一併傳至Http Server,經解析後將資料儲存於 Database Server,再將儲存結果回傳給 CAPP Client。

圖 4.6 三層式架構

相關文件