歡迎來(lái)到天拓云課堂,今天和大家一起分享關(guān)于Teamcenter二次開(kāi)發(fā)技巧。
天拓說(shuō):Teamcenter的實(shí)施,并不是簡(jiǎn)單地安裝使用。它需要軟件銷(xiāo)售商和軟件購(gòu)買(mǎi)單位密切合作,制定一個(gè)完善的信息化制度和規(guī)范,原則上要求軟件購(gòu)買(mǎi)單位按照Teamcenter的內(nèi)定規(guī)則來(lái)實(shí)現(xiàn)生產(chǎn)。但是,不同的企業(yè)有著各自的不同,這就要求銷(xiāo)售商有針對(duì)性地進(jìn)行定制軟件。因此Teamcenter提供很強(qiáng)的定制能力。
Teamcenter的定制能力,一方面是通過(guò)軟件本身的配置來(lái)實(shí)現(xiàn)的;另一方面是根據(jù)對(duì)軟件的二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)的。一般我們把'根據(jù)客戶(hù)要求定制'稱(chēng)之為'客戶(hù)化';Teamcenter主要使用C/C++和JAVA來(lái)進(jìn)行二次開(kāi)發(fā)。
目前項(xiàng)目上開(kāi)發(fā)的種類(lèi)
1、菜單客制化開(kāi)發(fā):用戶(hù)點(diǎn)擊菜單欄、工具欄、右鍵、視圖、應(yīng)用等;
2、渲染開(kāi)發(fā):屬性渲染、表單渲染、視圖渲染;
3、TC內(nèi)部對(duì)象操作;
4、 Handler開(kāi)發(fā):rule handler、action handler;
5、集成開(kāi)發(fā):webservice、中間表、工具(POI、ITextPDF等);
6、AWC開(kāi)發(fā);
7、擴(kuò)展點(diǎn)開(kāi)發(fā)? ...
01?RAC開(kāi)發(fā)
RAC開(kāi)發(fā),指的是TC的胖客戶(hù)端開(kāi)發(fā)。通過(guò)plugin in project項(xiàng)目實(shí)現(xiàn)對(duì)TC胖客戶(hù)端的修改。
02?ITK開(kāi)發(fā)
ITK開(kāi)發(fā),是對(duì)Teamcenter的服務(wù)器端進(jìn)行開(kāi)發(fā),多用于審批流程中對(duì)業(yè)務(wù)邏輯的定制開(kāi)發(fā),全稱(chēng)為:Integration Toolkit。
03?SOA開(kāi)發(fā)
SOA開(kāi)發(fā),多用與PLM多個(gè)系統(tǒng)之間的集成,發(fā)布WebService服務(wù)供調(diào)用進(jìn)行數(shù)據(jù)之間的交戶(hù)。
一、RAC開(kāi)發(fā)
1)定義菜單、工具條、郵件菜單添加三要素
Command
有一個(gè)唯一的ID號(hào),它代表了一個(gè)動(dòng)作的抽象意義,例如拷貝,粘貼,保存。它不代表 一個(gè)動(dòng)作的實(shí)施。
Menu contributions
代表一個(gè)特定的視圖或者一個(gè)命令的視圖話(huà)呈現(xiàn)。它創(chuàng)建了菜單和工具條的結(jié)構(gòu)框架并 且把他們插入到Eclipse的正確位置。每個(gè)位置都是用URI( Uniform Resource Identifier ) 來(lái)標(biāo)識(shí)的。Menu contribution能夠定義一個(gè)菜單的標(biāo)簽,助記符和圖標(biāo)。它和已經(jīng)被定義 的Command之間相互關(guān)聯(lián)。一個(gè)菜單可以通過(guò) visibleWhen來(lái)控制它的顯示。
Handlers
大多數(shù)是繼承于A(yíng)bstractHandler類(lèi)。Handlers在它的execute(*)方法中提供了一個(gè)應(yīng)用程 序上下文。如果一個(gè)命令沒(méi)有一個(gè)激活的handlers被定義,任何一個(gè)Menu contributions中 定義的Command都不可見(jiàn)。一個(gè)Command可以定義一個(gè)默認(rèn)的handler來(lái)確保它能夠有一 個(gè)可被激活的handler。handler可以通過(guò)ActiveWhen語(yǔ)句來(lái)被顯示的激活聲明或者被編程的 形式激活。Handler也可以在任何一個(gè)Menu contributions中用enabledWhen表達(dá)式,顯示的定義一個(gè)按鈕什么時(shí)候可顯示。
2)表單渲染
XML Style Sheet
允許利用Predefined XML style sheet 的方式控制表單的顯示,包含顯示的順序與 渲染的方式。
Automatic forms
不需要任何定義,系統(tǒng)自動(dòng)顯示所有的表單屬性,包含繼承下來(lái)的POM class 屬性。
JavaBean
允許使用JavaBean 與一個(gè)IDE (譬如Eclipse)去顯示表單屬性。每一個(gè)JavaBean 知道如何取顯示與保存指定的屬性類(lèi)型。這方法稍微復(fù)雜,但是仍舊需要 編寫(xiě)程序。
Abstract Rendering
允許延伸AbstractRendering 類(lèi)編寫(xiě)表單顯示。這是最有彈性的做法,同時(shí)也是最 復(fù)雜且需要寫(xiě)程序的方法。
二、ITK開(kāi)發(fā)
1)定義 Handler 的步驟
先在 site-name_register_callbacks() 函式內(nèi)定義
CUSTOM_register_exit('site-name', 'USER_gs_shell_init_module',? ?(CUSTOM_EXIT_ftn_t)CUST_init_module);?
在 cust_init.c 文件中,編寫(xiě)新的函數(shù) CUST_init_module(),注冊(cè) handlers
√ 使用 EPM_register_action_handler() 注冊(cè) action handler
?EPM_register_action_handler(“your-action-handler-namer',“your action handler description',(EPM_action_handler_t) your-action-handler-function)
√ 使用 EPM_register_rule_handler() 注冊(cè) rule handler
EPM_register_rule_handler(' your-action-rule-namer ',' your rule handler description ',(EPM_rule_handler_t) your-rule-handler-function)
編寫(xiě) action handler/rule handler 要執(zhí)行的函式
√ Action Handler 函數(shù)的格式為int your-action-handler-function-name (EPM_action_message_t msg)
√ Rule Handler 函數(shù)的格式為EPM_decision_t your-rule-handler-function-name (EPM_rule_message_t msg)
三、SOA開(kāi)發(fā)
1)常用類(lèi)
CredentialManager(憑證理器)
SOA客戶(hù)端框架使用此接口從客戶(hù)端應(yīng)用程序獲取身份驗(yàn)證憑證。SOA框架支持兩種模式的身份驗(yàn)證,標(biāo)準(zhǔn)憑證(用戶(hù)/密碼/組/角色/鑒別器)和SSO憑證。
SessionService
SessionService公開(kāi)用于管理與Teamcenter服務(wù)器的客戶(hù)端會(huì)話(huà)的操作。所有客戶(hù)端會(huì)話(huà)必須從登錄操作開(kāi)始,并以注銷(xiāo)操作結(jié)束。在整個(gè)客戶(hù)端會(huì)話(huà)中,SessionService可用于更改狀態(tài),如組、角色等。
DataManagementService
數(shù)據(jù)管理服務(wù)提供了廣泛的操作,在Teamcenter的整個(gè)生命周期中,從數(shù)據(jù)創(chuàng)建到數(shù)據(jù)檢索。應(yīng)用程序或客戶(hù)端可以使用任何操作,如創(chuàng)建、存儲(chǔ)、檢索和操作數(shù)據(jù)。數(shù)據(jù)可以是任何業(yè)務(wù)對(duì)象,如項(xiàng)目、項(xiàng)目修訂、數(shù)據(jù)集、表單、文件夾等。
1.創(chuàng)建、刪除、修改業(yè)務(wù)對(duì)象
2.加載/刷新/修訂/另存/驗(yàn)證業(yè)務(wù)對(duì)象
3.通過(guò)GRM 關(guān)系找到相關(guān)的業(yè)務(wù)對(duì)象
4.獲取業(yè)務(wù)對(duì)象的詳細(xì)信息,例如類(lèi)型,屬性值,數(shù)據(jù)集文件,組織信息等。
5.移除數(shù)據(jù)集的引用
6.添加和刪除參與者,更改所有權(quán)