- 相關推薦
IMAN的二次開發關鍵技術
IMAN的二次開發關鍵技術* 注意:本文已在《計算機工程與應用》(2001,37(24):25-26,166)雜志發表,使用者請注明文章出處 賴朝安** 孫延明 鄭時雄 (華南理工大學 機電工程系 廣州 510640) 摘要:介紹了商品化PDM系統IMAN的基本情況,研究了IMAN二次開發中的主要問題,提出了一種窗體定制新方法,論述了客戶端二次開發的方法、指導思想以及基于IMAN的應用封裝方法。 關鍵詞:PDM 二次開發 中國分類號:TP391 文獻標識碼:A THE KEY TECHNIQUES OF SECONDARY DEVELOPMENT OF IMAN LAI ChaoAn,SUN YanMing,ZHENG ShiXong (mechatronic engineering Department, south china university of technology, Guangzhou 510640) Abstract: The basics of IMAN, a kind of commercial PDM system, are introduced, and the key problems during secondary development of IMAN are studied in this paper. It also put forward a new methodology of customizing form and discussed the methodology and rudder of secondary development in client terminal and the methodology of application encapsulation based on IMAN. Keywords: PDM; secondary development 一 前言 IMAN(information manager)是一種較為成熟且廣泛應用的產品數據管理(PDM)系統,它的開發商是美國的UGS公司。IMAN系統主要用于汽車、航空、機械制造和家電等行業。它是面向對象的信息管理和控制系統,由一個窗口界面、一組實用程序、一個集成工具箱和一個關系數據庫管理系統(ORACLE)組成。在版6.0后,IMAN包含C/S及B/S兩種結構,B/S結構是發展方向,但目前功能較弱。IMAN目前廣泛應用的版本為V6.0-V7.0。我國目前采用IMAN的企業有:海爾集團、玉柴機器、科龍集團等上百家企業。 PDM系統屬于管理系統,管理系統出售后常需要有一個定制過程,使之適應企業的特殊需要。由于PDM技術能帶來很大的效益,很多企業相繼實施PDM系統,但部分企業沒有取得預期的回報,這是由于PDM系統實施難度大、影響因素多造成的。二次開發是PDM實施的主要工作之一,因此必須掌握其關鍵技術。 IMAN的二次開發工作主要有:利用IMAN的二次開發模塊開發新的程序;窗體定制;外部應用軟件的封裝與集成等。IMAN二次開發工作需要豐富的經驗和復雜的技巧,而它的幫助文檔不能及時更新,況且關于PDM系統實施的學術論文、書籍等各種資料大多數只關注理論研究,沒有介紹具體實用的二次開發技術,因此系統的實施者開始時常感到無助而難以入手。為此,本文總結了幾點IMAN二次開發經驗并提出一些新技術。 二 窗體定制新方法 窗體(FORM)又稱表單,它的定制是實施PDM的一項基本工作,這是因為產品類型及信息類型多種多樣,如零部件的數量、材料、ID號、設計者以及設計過程信息等等,這些數據都需要記錄并與相應屬性名一起保存。通常每一種零部件需要一種窗體來描述它的各種屬性。窗體的功能首先是錄入、保存、瀏覽及查詢信息,其次是保存過程信息以支持其它功能。窗體存儲三種數據:輸入(Captured)數據;資訊(Informative)數據;推導(Derived)數據。它們的區別是:輸入數據是用戶輸入的字段,是窗體顯示的主要數據;資訊數據是只讀的;推導數據是其它欄的總結或綜合,是只讀的。 IMAN的編程指南介紹了兩種窗體定制方法:一是通過制作UIL( User Interface Language,用戶界面語言 )文件來定義窗體的“非編程”方法;二是利用JAVA語言編程[1]。由于UIL較難理解而利用JAVA編程也涉及較復雜知識,為此筆者探索出一種組合利用IMAN提供的DOS應用程序及POMClass來定義窗體的簡捷方法,步驟如下: 1.通過一個文本文件definition.txt來定義窗體的內容: create Pom_application_object Train_Part_Class define Train_Part_Class Project_id POM_string 50 -rwn define Train_Part_Class serial_number POM_string 1 -rwn save quit 編寫該文本要注意如下事項: 1)Pom_application_object是父類,是系統定義的。將生成的新類Train_Part_Class是它的子類; 2)Project_id 和serial_number是顯示于窗體上的屬性名,它們可描述某產品的ID與序列號。屬性名可以有任意多個,也可以是作意名稱,在此僅是舉例; 3)POM_string是指輸入的數據應是字符串,其它數據類型還有POM_int等等,可參考IMAN的編程指南; 4)數字50及1只是舉例,代表輸入字符的最大允許長度。 2.編輯創建窗體的批處理文件 CreatForm.bat如下所示,以讀入該文本文件并創建窗體類。 set user=infodba set pass=infodba set grp=dba d:\iman0701\bin\cl
earlocks -assert_all_dead d:\iman0701\bin\sb < definition.txt -u=%user% -p=%pass% -g=%grp% d:\iman0701\bin\clearlocks -assert_all_dead d:\iman0701\bin\install -mod_class infodba infodba dba Train_Part_Class 編寫該文本要注意如下事項: 1)該批處理文件中的名稱Train_Part_Class要與文本文件中的相同; 2)管理員的用戶名、密碼、組名(infodba、dba)及IMAN安裝路徑只是舉例,要根據現實系統而定; 3)definition.txt文件前要有“<"符號。如系統指出找不到該文件,可在該文件名前加上絕對路徑 3.啟動iman Menu 4.進入iman Menu環境后,帶路徑執行creatForm.bat。 5.若完成上面的步驟且沒有出錯提示,重新起動PROTAL,進入IMAN的方案編輯器(schema edit),展開Pom_application_object,可以看到剛定義的窗體類Train_Part_Class。 6.建立新的窗體模板:在IMAN admin里面打開類型(type),選擇form選項,然后為新窗體命名(如為MYFORM1),再在POM_Class類里面選擇剛定義的窗體類Train_Part_Class。按create完成新窗體類MYFORM1的定義,它繼承了類Train_Part_Class。 7.在導航器里面就可以依次執行:文件->新建->窗體,選擇MYFORM1,建立新窗體,窗體可以描述零部件的屬性Project_id 和serial_number,這是系統提供的窗體所不能描述的。 該方法在V6.0版本中順利通過,而在V7.0版本會引起“方案文件過期”的問題而引起系統暫時不能進入,所以要在系統管理員同意的情況下才能操作。出現這種情況后的解決辦法是進入iman Menu環境,在原路徑運行以下語句:“install –regen_schema_file infodba infodba dba”,然后重新起動服務器。命令行的后三項分別是管理員的用戶名、密碼與組名,要根據系統的實際作相應改動。 三 客戶端的二次開發方法 IMAN的二次開發分客戶端及服務器端。客戶端軟件是用JAVA語言開發的,同樣地它的二次開發也使用JAVA語言。服務器端的二次開發要利用二次開發模塊ITK及C語言。由于IMAN版本升級可能導致所開發程序需要改寫并重新編譯,所以二次開發的原則是盡可能利用IMAN已有的功能,減少二次開發量[2]。基于以上考慮,二次開發重心放在客戶端,而盡量利用服務器端的已有功能。客戶端二次開發分為開發程序與注冊程序兩個階段。 1開發程序 客戶端開發需要的工具為:JDK1.2.2或更高;JAVA集成開發環境(IDE)如JBuilder,Visual café 等等。 1)環境設置 若沒有使用IDE,要設置CALSSPATH環境變量。可在DOS提示符處運行:“C:\> set %CLASSPATH%=%PORTAL_ROOT%\portal.jar”。PORTAL_ROOT 是指 iMAN Portal 的安裝路徑。 2)用javac命令編譯客戶程序; 3)用jar命令打包; 4)執行 打開portal.bat文件,將客戶程序(如MyPro.jar)包含到portal.jar之前: Set JAVA_COMMAND_LINE=%JAVA_COMMAND% -classpath "%IPR%\.;… %IPR%\MyPro.jar; … %IPR%\portal.jar; … %CLASSPATH%" 起動IMAN Portal之后客戶程序就可執行。但如果它是未經注冊的新程序,還需要進行以下步驟。 2 在IMAN Portal中注冊程序 注冊程序就是要在IMAN的界面上的某個組內增加按鈕,用于調用所開發的程序。假設客戶程序叫MyPro,它屬于com.mycom.mypro包。程序注冊的步驟如下: 1)在PROTAL界面上增加一個新組 在PORTAL安裝路徑下找到Portal_user.properties文件(或使用Portal.properties文件,前者具有更高優先權),在GROUPS=IMAN,IMANAdministrator,Utilities的行末增加新組名,假設為newtools,如下所示:“GROUPS=IMAN,IMANAdministrator,Utilities,newtools”。 重新起動Portal后可看到新增的組newtools,在組內可加入按鈕以調用客戶程序。如果不需要增加新的組,可直接進行第二步。 2)在組中加進客戶程序: A. 運行Utilities組內的快速向導(Application Wizard),然后輸入應用程序名稱,假設為mypro,并按下一步(Next)。 B. 在左邊拉開某個組,比如剛創建的組newtools,使客戶程序的按鈕加入到該組,按下一步。 C. 輸入客戶程序的包名,例如“com.mycom.mypro”,缺省值是“com.mypro”。然后單擊某適當目錄,系統將在該目錄下自動建立與包名對應的子目錄,并使所有與該客戶程序相關的源文件在該子目錄下生成。 系統在目錄mypro中自動生成六個文件:mypro.properties、mypro_user.properties、MyproApplication.java、MyproApplicationMenuBar.java、MyproApplicationPanel.java、MyproApplicationToolBar.java。 前兩個文件是程序注冊文件,用戶可使用mypro_user.properties也可使用mypro.properti
es來注冊程序,前者可覆蓋后者。系統自動使用后者。 后四個文件分別創建了四個應用類。要集成到portal的程序要有一個基類,它應是類AbstractAIFUIApplication的子類。客戶程序的類的層次如圖1所示。
圖1 客戶程序類的層次 D. 按下一步后接受缺省的類名,按下一步,再按“Yes”按鈕以創建新類。然后用單擊方式選擇Portal的安裝目錄,在這個路徑中含有portal.jar等IMAN的JAVA類庫。按下一步后系統顯示“成功創建程序”。這時portal_user.properties系統注冊文件自動修改,完成客戶程序的注冊。 四 基于IMAN的應用封裝方法 隨著企業信息化進程的發展,企業所使用的應用軟件越來越多,如用于工程設計的CAX軟件;用于辦公自動化的字處理軟件和制表軟件等。為了能實現對各種應用軟件所產生的數據和文檔進行有效地管理,也為了能在PDM環境中做到應用軟件間的信息共享、用戶間的協同工作等目的,需要改變過去基于數據庫實現應用系統集成的傳統辦法,而改變為基于PDM的應用集成。 按集成的緊密程度分,集成分為三個層次:應用封裝;接口交換;緊密集成[3]。能與IMAN實現接口交換或緊密集成的應用程序通常是大型商品化軟件,集成方法各有不同。比如UG與IMAN的緊密集成通過專用軟件UG/MANAGER。而應用封裝的方法是通用的,因此本文指出了應用封裝的方法。步驟如下: 1、若是NT4操作系統,打開“我的電腦”并依次選擇菜單查看→選項→文件類型,根據該類文檔的后綴找到并記下該應用程序的MIMEType。若沒有,可自定義。 若是WIN2000系統,需要運行regedit,在彈出的注冊表編輯器中,打開如下路徑:HKEY_CLASSES_ROOT\MIME\Database\Content Type\,根據文檔后綴記下該應用程序的MIMEType。 2、在iMAN里面的類型(type)按鈕打開tool選項,根據不同的數據集,指定輸入輸出格式(如ASCII,Binary,PART)。通常圖像類數據集用Binary選項,文本類用ASCII,圖形類用PART。然后輸入上一步驟的MIME Type,并給TOOL起個名字; 3、按創建(Create)按鈕; 4、dataset type里面創建新的數據集類型:指定應用程序為剛才定義的工具(TOOL),在“引用”中定義文件過濾器(如*.doc),在“參數”中增加并定義操作(如OPEN),點擊OPEN等操作,勾選“選擇”、“導出”,然后在右下方按加號,輸入適當的參數類型(如$OBJECT)等等; 5、按創建按鈕完成應用程序的封裝; 這樣,在導航器中點擊某種文檔就可自動起動相應的應用程序,并在程序中自動打開該文檔。 五 結論 隨著PDM的日益廣泛應用,用戶越來越注意根據自身的需要定制PDM系統,并要求縮短實施周期。本文總結了常用實施方法并提出了一些新技術,利用本文所總結的經驗及提出的新方法為玉柴機器等多家單位實施了IMAN,達到實施周期縮短,企業保持穩定,并顯著提高了企業產品開發效率的目標,證明這些方法是可行的。 參考文獻 1 Unigraphics Solutions Corporation. IMAN Portal customization programmer's Guide. USA:UGS公司,2000 2 Unigraphics Solutions Corporation. IMAN online help. USA: UGS公司,2000 3 童秉樞,李建明. 產品數據管理(PDM)技術. 北京:清華大學出版社. 2000 ──────────────── *本文受廣東省科技創新百項工程項目(99B01901G)及廣東省自然科學基金項目(990545)資助。 **賴朝安(1973–),男,廣西欽州人,華南理工大學博士研究生,研究方向:CAD/PDM、創新設計
【IMAN的二次開發關鍵技術】相關文章:
寬帶智能網及其關鍵技術08-06
藍牙關鍵技術與智能家居08-06
嵌入式系統關鍵技術分析與開發應用08-06
柔性制造系統的關鍵技術及發展趨勢08-06
高中體育《跨欄跑的關鍵技術環節》教案08-24
產品二次開發人員的轉正申請書08-05
產品二次開發人員的轉正申請書03-06