Component in IFS Cloud is used to group entities, processes and client pages into installable units for a logical area of development.
Component enables for independent, parallel development activities as well as selective activation of functionality in IFS Cloud.
All components are always delivered and server parts always installed but may be separately activated for an installation depending what sales parts that the customer have chosen. What Components that are activated are set by a configuration file, "solutionset.yaml", delivered by IFS. The solution set file is configured based on the chosen solution set in the sales process and any additional included or removed sales parts. Changes to solution set configuration file is always done by IFS.
A Component may be dependent on, and require other Components to be present. The interfaces between them must be well defined, stable (not likely to change frequently), and limited in number.
A key concept is that of 'Public' interfaces. A public method in one Component allows other Components to interact with that method. Much of the implementation details will be 'hidden' from other Components. This follows the Object-Oriented concept of encapsulation. This allows maximum flexibility in deciding how the internal details will be implemented. However, the public methods must be kept stable since others are now dependent on those interfaces. The general philosophy is to keep 'Public' definitions to a minimum, providing only those methods actually needed by others.
Many Components will detect the presence of other Components dynamically at run time and use functionality in the other Component if it is activated. Some basic support Components are required for IFS Cloud, Components such as Enterprise, Accounting Rules, and Application Services.
A Component is the basic unit handled by IFS Deployment (Installation) tools.