A programming model that defines how to use and combine the features of the J2EE platform to create solutions for common application domains in the enterprise.