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

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

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

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

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

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

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

3、TC內部對象操作;

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

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

6、AWC開發(fā);

7、擴展點開發(fā)? ...

01?RAC開發(fā)

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

02?ITK開發(fā)

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

03?SOA開發(fā)

SOA開發(fā),多用與PLM多個系統(tǒng)之間的集成,發(fā)布WebService服務供調用進行數據之間的交戶。

一、RAC開發(fā)

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

Command

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

Menu contributions

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

Handlers

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

2)表單渲染

XML Style Sheet

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

Automatic forms

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

JavaBean

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

Abstract Rendering

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

二、ITK開發(fā)

1)定義 Handler 的步驟

先在 site-name_register_callbacks() 函式內定義

CUSTOM_register_exit('site-name', 'USER_gs_shell_init_module',? ?(CUSTOM_EXIT_ftn_t)CUST_init_module);?

在 cust_init.c 文件中,編寫新的函數 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 函數的格式為int your-action-handler-function-name (EPM_action_message_t msg)

√ Rule Handler 函數的格式為EPM_decision_t your-rule-handler-function-name (EPM_rule_message_t msg)

三、SOA開發(fā)

1)常用類

CredentialManager(憑證理器)

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

SessionService

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

DataManagementService

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

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

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

3.通過GRM 關系找到相關的業(yè)務對象

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

5.移除數據集的引用

6.添加和刪除參與者,更改所有權

聲明:部分內容來源于網絡,如侵權請后臺留言聯(lián)系刪除。