What's the deal with usage profiles?
In plain terms, it is a way to conveniently configure a domain to begin with, so that a certain configuration is available right out-of-the-box. It is not hard to imagine configuring a given domain to suit a particular usage, it's just that it is quite some work. For example, it is possible to reconfigure a domain that does not support clusters in such a way that it supports clusters and vice versa.
But as you can see, it will be a lot of configuration settings. Provision of usage profiles is simply a shortcut to achieve the same effect in one step -- asadmin create-domain. As you might know, a domain is an environment where your server's administration and service runtime lives. Profiles give you the ability to customize this environment, within certain constraints.
At the moment, the customization support rotates around two types of configuration files where most of domain's configuration resides:
- The domain.xml, which is fully customizable.
- The security stores (aka server keystore and truststore), which are rather mapped to the profile selected and in almost all cases we use Java KeyStore (JKS), whereas in the so-called enterprise profile, we use the NSS.