CORBA 規格不會強制 ORB 供應商針對 IDE 編譯器產品使用統一的命名慣例。
此外,它不會定義這些產品應該包含的內容。所以,已在 IBM® Rational® Rhapsody® 中建立一組內容來解決這些問題。
所有 IDL 編譯器會產生規格檔案(僅具有函數標頭及簽章)及實作檔案(具有函數定義及主體)。針對給定的 CORBA 介面,IDL 編譯器會可以建立下列程式碼:
- Skeleton 程式碼 - 伺服器端程式碼。可以建置為兩個檔案,分別是規格和實作檔案。
- Stub 程式碼 - 用戶端程式碼。可以建置為兩個檔案,分別是規格和實作檔案。
這表示 IDL 編譯器可能會建立四個檔案,而其名稱都是衍生自 IDL 檔名。
例如,使用 TAO 編譯檔名為 X.idl 的 IDL 檔案,會導致產生下列三個檔案:
- X.hh(規格檔案)
- XS.cpp(skeleton 實作檔案)
- XC.cpp(stub 實作檔案)
使用另一個 IDL 編譯器來編譯相同的 X.idl 檔案,例如 Visibroker,會導致產生下列檔案:
- X_s.hh(skeleton 規格檔案)
- X_c.hh(stub 規格檔案)
- X_s.c(skeleton 實作檔案)
- X_c.c(stub 實作檔案)
在 Rational Rhapsody 建立的下列內容是用來定義 IDL 編譯器檔案命名行為:
- ImplementationExtension 指定實作檔案的副檔名。預設值是 .cpp。
- SkeletonImplementationName 是一個字串,定義用於 skeleton 實作檔案的命名行為。預設值是 $interfaceS。
- SkeletonSpecificationName 是一個字串,定義用於 skeleton 規格檔案的命名行為。預設值是 $interfaceS。
- SpecificationExtension 是一個字串,指定用於規格檔案的副檔名。預設值是 .h。
- StubImplementationName 是一個字串,定義用於 stub 實作檔案的命名行為。預設值是 $interfaceC。
- StubSpecificationName 是一個字串,定義用於 stub 規格檔案的命名行為。預設值是 $interfaceC。