What are the roles defined by J2EE?
Provider - Responsible for providing the containers, and APIs defined by the J2EE specification.
Application Component Provider - Responsible for creating J2EE application components. These include: HTML documents, JSP pages, servlets, EJBs, etc.
Application Assembler - Responsible for combining J2EE components together to make a J2EE application. This usually involves packaging them into WAR files or an EAR file and deploying them.
Deployer - Responsible for installing and configuring a J2EE application in a particular application server or J2EE container environment.