天拓學(xué)堂 | Teamcenter二次開發(fā)技巧分享
發(fā)布日期:
2022-11-14

歡迎來到天拓云課堂,今天和大家一起分享關(guān)于Teamcenter二次開發(fā)技巧。

天拓說:Teamcenter的實(shí)施,并不是簡單地安裝使用。它需要軟件銷售商和軟件購買單位密切合作,制定一個(gè)完善的信息化制度和規(guī)范,原則上要求軟件購買單位按照Teamcenter的內(nèi)定規(guī)則來實(shí)現(xiàn)生產(chǎn)。但是,不同的企業(yè)有著各自的不同,這就要求銷售商有針對性地進(jìn)行定制軟件。因此Teamcenter提供很強(qiáng)的定制能力。

Teamcenter的定制能力,一方面是通過軟件本身的配置來實(shí)現(xiàn)的;另一方面是根據(jù)對軟件的二次開發(fā)來實(shí)現(xiàn)的。一般我們把'根據(jù)客戶要求定制'稱之為'客戶化';Teamcenter主要使用C/C++和JAVA來進(jìn)行二次開發(fā)。

目前項(xiàng)目上開發(fā)的種類

1、菜單客制化開發(fā):用戶點(diǎn)擊菜單欄、工具欄、右鍵、視圖、應(yīng)用等;

2、渲染開發(fā):屬性渲染、表單渲染、視圖渲染;

3、TC內(nèi)部對象操作;

4、 Handler開發(fā):rule handler、action handler;

5、集成開發(fā):webservice、中間表、工具(POI、ITextPDF等);

6、AWC開發(fā);

7、擴(kuò)展點(diǎn)開發(fā)? ...

01?RAC開發(fā)

RAC開發(fā),指的是TC的胖客戶端開發(fā)。通過plugin in project項(xiàng)目實(shí)現(xiàn)對TC胖客戶端的修改。

02?ITK開發(fā)

ITK開發(fā),是對Teamcenter的服務(wù)器端進(jìn)行開發(fā),多用于審批流程中對業(yè)務(wù)邏輯的定制開發(fā),全稱為:Integration Toolkit。

03?SOA開發(fā)

SOA開發(fā),多用與PLM多個(gè)系統(tǒng)之間的集成,發(fā)布WebService服務(wù)供調(diào)用進(jìn)行數(shù)據(jù)之間的交戶。

一、RAC開發(fā)

1)定義菜單、工具條、郵件菜單添加三要素

Command

有一個(gè)唯一的ID號,它代表了一個(gè)動作的抽象意義,例如拷貝,粘貼,保存。它不代表 一個(gè)動作的實(shí)施。

Menu contributions

代表一個(gè)特定的視圖或者一個(gè)命令的視圖話呈現(xiàn)。它創(chuàng)建了菜單和工具條的結(jié)構(gòu)框架并 且把他們插入到Eclipse的正確位置。每個(gè)位置都是用URI( Uniform Resource Identifier ) 來標(biāo)識的。Menu contribution能夠定義一個(gè)菜單的標(biāo)簽,助記符和圖標(biāo)。它和已經(jīng)被定義 的Command之間相互關(guān)聯(lián)。一個(gè)菜單可以通過 visibleWhen來控制它的顯示。

Handlers

大多數(shù)是繼承于AbstractHandler類。Handlers在它的execute(*)方法中提供了一個(gè)應(yīng)用程 序上下文。如果一個(gè)命令沒有一個(gè)激活的handlers被定義,任何一個(gè)Menu contributions中 定義的Command都不可見。一個(gè)Command可以定義一個(gè)默認(rèn)的handler來確保它能夠有一 個(gè)可被激活的handler。handler可以通過ActiveWhen語句來被顯示的激活聲明或者被編程的 形式激活。Handler也可以在任何一個(gè)Menu contributions中用enabledWhen表達(dá)式,顯示的定義一個(gè)按鈕什么時(shí)候可顯示。

2)表單渲染

XML Style Sheet

允許利用Predefined XML style sheet 的方式控制表單的顯示,包含顯示的順序與 渲染的方式。

Automatic forms

不需要任何定義,系統(tǒng)自動顯示所有的表單屬性,包含繼承下來的POM class 屬性。

JavaBean

允許使用JavaBean 與一個(gè)IDE (譬如Eclipse)去顯示表單屬性。每一個(gè)JavaBean 知道如何取顯示與保存指定的屬性類型。這方法稍微復(fù)雜,但是仍舊需要 編寫程序。

Abstract Rendering

允許延伸AbstractRendering 類編寫表單顯示。這是最有彈性的做法,同時(shí)也是最 復(fù)雜且需要寫程序的方法。

二、ITK開發(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 文件中,編寫新的函數(shù) CUST_init_module(),注冊 handlers

√ 使用 EPM_register_action_handler() 注冊 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() 注冊 rule handler

EPM_register_rule_handler(' your-action-rule-namer ',' your rule handler description ',(EPM_rule_handler_t) your-rule-handler-function)

編寫 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開發(fā)

1)常用類

CredentialManager(憑證理器)

SOA客戶端框架使用此接口從客戶端應(yīng)用程序獲取身份驗(yàn)證憑證。SOA框架支持兩種模式的身份驗(yàn)證,標(biāo)準(zhǔn)憑證(用戶/密碼/組/角色/鑒別器)和SSO憑證。

SessionService

SessionService公開用于管理與Teamcenter服務(wù)器的客戶端會話的操作。所有客戶端會話必須從登錄操作開始,并以注銷操作結(jié)束。在整個(gè)客戶端會話中,SessionService可用于更改狀態(tài),如組、角色等。

DataManagementService

數(shù)據(jù)管理服務(wù)提供了廣泛的操作,在Teamcenter的整個(gè)生命周期中,從數(shù)據(jù)創(chuàng)建到數(shù)據(jù)檢索。應(yīng)用程序或客戶端可以使用任何操作,如創(chuàng)建、存儲、檢索和操作數(shù)據(jù)。數(shù)據(jù)可以是任何業(yè)務(wù)對象,如項(xiàng)目、項(xiàng)目修訂、數(shù)據(jù)集、表單、文件夾等。

1.創(chuàng)建、刪除、修改業(yè)務(wù)對象

2.加載/刷新/修訂/另存/驗(yàn)證業(yè)務(wù)對象

3.通過GRM 關(guān)系找到相關(guān)的業(yè)務(wù)對象

4.獲取業(yè)務(wù)對象的詳細(xì)信息,例如類型,屬性值,數(shù)據(jù)集文件,組織信息等。

5.移除數(shù)據(jù)集的引用

6.添加和刪除參與者,更改所有權(quán)

聲明:部分內(nèi)容來源于網(wǎng)絡(luò),如侵權(quán)請后臺留言聯(lián)系刪除。