A component is one or more library or executable files, along with supporting files that indicate how it is used, such as header files, help, information about compatibility and dependencies, hardware or software requirements, design information, test cases, and so on. A component can also contain source code.
In Rational Synergy, a component can be represented by an individual file or a project.
Because file versions are reusable in Rational Synergy, they can be created or built in one project and used in another. For example, the ccmscci.dll library file might be built in the ccmscci project where its source code resides, but the same file can also be included as a member in both the visual_studio_integration and va_java_integration projects. (Each project can contain a different version of the file, depending on its needs.)
In addition, you can choose to create a project to contain several files that are published together as a component. For example, you might create a project called ccmserver_ext (like the ccmserver project, but for external use), containing the files ccmserver.jar, ccmserver.properties, and ccmserver.html. You can have many versions of the ccmserver_ext project, each containing a published version of the component with compatible files.
You might also consider an entire source project a component, if the component users need to be able to view or modify the code.
Because components can be composed from other components, you might even have an entire project hierarchy that represents a component.