Not only is the final application distributed, but its development is distributed as well. For example, members of the development team who create the HTML files will probably not also develop servlets. The skillset needed to build the car's wheels is substantially different from that needed to attach those wheels to the chassis. As a consequence, the construction of a J2EE application, from start to finish, involves a set of developers with varying skills, rather than a single group to shepherd the application though the development process. The J2EE documentation actually refers to different phases when it describes the construction of a J2EE application.
Developers write the component EJBs.
EJBs are written entirely in Java. Deployers install the EJB components in a J2EE application development environment. The deployment descriptor is a file that describes properties of the bean that the application environment must be aware of so that the bean can be properly integrated into an application. Other players are involved in the process. What's Inside Rather than being a single specification, J2EE is a set of specifications corralled together so as to provide all the equipment that a developer would need to build a distributed, enterprise-level application in Java.