A profile is named set of subsystems along with each subsystem’s configurations. A subsystem is an additional set of capabilities added to the core server by an extension. Subsystems provide capabilities like servlet handling capabilities, an EJB container, JTA, etc.
Different profiles can be defined to address the specific needs of different server groups.