J2EE component is a self-contained functional software unit supported by a container and configurable at deployment time. The J2EE specification defines the following J2EE components:
o Application clients and applets are components that run on the client.
o Java servlet and JavaServer Pages (JSP) technology components are Web components that run on the server.
o Enterprise JavaBeans (EJB) components (enterprise beans) are business components that run on the server.
J2EE components are written in the Java programming language and are compiled in the same way as any program in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are assembled into a J2EE application, verified to be well formed and in compliance with the J2EE specification, and deployed to production, where they are run and managed by the J2EE server or client container.