OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

sca-c-cpp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: NEW ISSUE: C++ componentType file name and location

TARGET: C++ C&I Specification

Description:  We need to finalize the name and location of componentType files as well as any other SCDL metadata related to componentType files.

Key points from the assembly specification:
- Lines 482-483 of WD01 state that the componentType file has the same name as the implementation file but the extension .componentType.  But the location is implementation technology dependent (lines 484-486).
- In the SCDL, the component only defines the componentType indirectly via the implementation.xxx
- The componentType schema does not provide a name for a componentType

As I see the requirements:
- The information in implementation.xxx must uniquely identify the componentType file.
- It needs to be possible to find the file in a simple manner.
- It is reasonable to expect multiple component implementations to be compiled into a single DLL/shared library/etc.

Naming:  There are two choices.
1) The implementation name is considered to be the implementation header name.  This implies an implementation header MUST only contain one class defining a componentType (it MAY contain other classes).
2) The implementation name is considered to be the implementation class name.  This means if the implementation class is the only class in the header file then the header file must be parsed to find the class name.  Alternatively we could make the implementation class attribute required.

I favor option 1 as the least metadata to specify and being consistent with common programming practice.

Location: The current text requires a header file that declares the implementation class and that this file be available from the SCA registry/repository - specifically using a relative path from the composite root.  The logical place for the componentType file to be placed is in the same directory as the implementation header file.  The only reason I can think of to do something different is if we believe there is a requirement to place implementation header files in a directory with restricted access and componentType files in a publically readable directory.  I do not believe this is a requirement.

Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]